AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) NNNNAAAAMMMMEEEE aassssiiggnn - Assigns attributes for processing Fortran files SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS aassssiiggnn [--II] [--OO] [--aa _a_c_t_u_a_l_f_i_l_e] [--bb _b_s] [--cc] [--dd _b_d_r] [--ll _b_u_f_l_e_v] [--nn _s_z [:_s_t]] [--oo _b_u_f_p_o_s] [--pp _p_a_r_t_l_i_s_t] [--rr _s_t_r_i_p_e] [--ss _f_s] [--tt] [--uu _b_u_f_c_n_t] [--FF _s_p_e_c[,_s_p_e_c_s] [--NN _n_u_m_c_o_n] [--CC _c_h_a_r_c_o_n]] _a_s_s_i_g_n__o_b_j_e_c_t aassssiiggnn --RR [_a_s_s_i_g_n__o_b_j_e_c_t] aassssiiggnn --VV [_a_s_s_i_g_n__o_b_j_e_c_t] DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN The aassssiiggnn command associates attributes with unit numbers or file names for use during the processing of Fortran OPEN statements or implicit file opens. The _a_s_s_i_g_n__o_b_j_e_c_t parameter has the following formats: _f:_f_i_l_e__n_a_m_e; for example, ff::ffiillee11 _u:_u_n_i_t__n_u_m_b_e_r; for example, uu::99 _f_i_l_e__n_a_m_e; for example, mmyyffiillee The Fortran I/O library applies the attributes to a unit connection whenever _a_s_s_i_g_n__o_b_j_e_c_t is opened. If _a_s_s_i_g_n__o_b_j_e_c_t is a unit, then the application of attributes occurs whenever that unit becomes connected. If _a_s_s_i_g_n__o_b_j_e_c_t is a file name, then the application of that file's attributes occurs whenever _f_i_l_e__n_a_m_e is opened by an OOPPEENN statement of an implicit open. aassssiiggnn information is stored in the aassssiiggnn environment file $$TTMMPPDDIIRR//..aassssiiggnn, by default. The location of the current aassssiiggnn environment file can be changed by assigning the desired name to the FFIILLEENNVV environment variable. The FFIILLEENNVV environment variable is set by using the eennvv(1) command, the eexxppoorrtt built-in command of sshh(1), or the sseetteennvv built-in command of ccsshh(1). Control options: --OO Specifies a replacement aassssiiggnn. All currently existing aassssiiggnn attributes for the current assign object are replaced. This option is the default control option and is mutually exclusive from the --II option. --II Specifies an incremental aassssiiggnn. All attributes are added on to the attributes already assigned to the current assign object. This option and the --OO option are mutually exclusive. --RR Removes all aassssiiggnn attributes for _a_s_s_i_g_n__o_b_j_e_c_t. If _a_s_s_i_g_n__o_b_j_e_c_t is not specified, then all currently assigned attributes for all assign objects are removed. --VV Views attributes for _a_s_s_i_g_n__o_b_j_e_c_t. If _a_s_s_i_g_n__o_b_j_e_c_t is not specified, then all currently assigned attributes for all assign objects are printed. Attribute options: --aa _a_c_t_u_a_l_f_i_l_e Specifies FFIILLEE== specifier or _a_c_t_u_a_l_f_i_l_e. When the --aa option is assigned to a unit, open processing for the unit results in connection to _a_c_t_u_a_l_f_i_l_e. An error condition occurs if --aa SR-2011 UNICOS 6.1 1 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) has been specified for a unit which is opened with an explicit FFIILLEE== specifier in the OPEN statement. When --aa is assigned to a file name, the file name becomes an alias for _a_c_t_u_a_l_f_i_l_e. When ffiillee__nnaammee is specified as the FFIILLEE== specifier in an OPEN statement, _a_c_t_u_a_l_f_i_l_e is opened instead of ffiillee__nnaammee. --bb _b_s Specifies buffer size. The value _b_s specifies the size of the library's I/O buffer in 512-word sectors. On CX/CEA systems, the default is typically 8 sectors. On CRAY-2 systems, the default library buffer size is 8 sectors for sequential formatted I/O, 42 sectors for sequential unformatted I/O, 4 sectors for direct access formatted I/O, and 8 sectors for direct access unformatted I/O. If the record size is larger than the buffer size for an unformatted direct access file, the buffer size will be set to the record size. The buffer size for most Fortran files may also be specified by assigning the desired size to the DEFBUFSIZ environment variable. The specified value is the requested buffer size in 512-word blocks. The --bb option on assign overrides the value of the DEFBUFSIZ environment variable. The DEFBUFSIZ environment variable is ignored for most files assigned with the --FF assign option. In a future UNICOS release, support for DEFBUFSIZ will be terminated when the library selects better default buffer sizes. --cc Contiguous storage only. When this option is used with the --nn option, contiguous disk space is allocated to the file. Option --nn must also be specified. --dd _b_d_r (CX/CEA systems only). On-line tape bad data recovery. This option permits automatic recovery of bad data for on-line tape files. If _b_d_r has been specified, explicit calls to the ACPTBAD and SKIPBAD library routines are not necessary. The bad data tape block is either skipped or accepted depending upon the _b_d_r argument. You will receive an error code indicating that a bad tape block has been encountered. Only one tape block is accepted or skipped at a time. This option is valid only for on-line tape files. Valid values for _b_d_r are as follows: sskkiippbbaadd Skips bad data; no bad data is sent to your buffer. aaccppttbbaadd Accepts bad data; makes bad data available. --ll _b_u_f_l (CRAY-2 systems only). Controls system buffering. The default (1) requests system buffering; 0 requests system no buffering. --nn _s_z [:_s_t] File size. Decimal number of 512-word blocks reserved for the data file. On CX/CEA systems, if this option is used on an existing file, _s_z 512-word blocks are added to the end of the file. The stride used is specified with the optional _s_t value. On CRAY-2 systems, the optional _s_t value is ignored. If this option is specified for an existing file, the file is SR-2011 UNICOS 6.1 2 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) increased to _s_z bytes. If the file is already larger than _s_z, then no new space is allocated. Note: Allocation of actual file space is not done until the file is opened in the Fortran libraries. For immediate allocation, use sseettff(1). --oo _b_u_f_p_o_s (CRAY-2 systems only). Controls buffer position. This option is relevant only to direct access unformatted I/O. If _b_u_f_p_o_s is +1, the buffer is positioned to enhance forward references within the file. If _b_u_f_p_o_s is -1, the buffers are positioned for backward references. If _b_u_f_p_o_s is 0, the file is divided into pieces (or pages) equal to the buffer size and the buffering is a paging scheme. --pp _p_a_r_t_l_i_s_t Stripe partition list. The _p_a_r_t_l_i_s_t argument indicates the partitions of a file system on which a file is to be allocated. The argument can be a single number, a range (_m- _n), a set (_m:_n), or a combination of ranges and sets separated by colons. The dash (-) in the range specifies a range of partitions to be used (for example, 2-5 means partitions 2 through 5). A colon (:) in the set specifies a list of partitions to be used (for example, 2:4:6 means partitions 2, 4, and 6). The --pp option is an alternative to using the --rr option. You can use the ddff(1) command with the --pp option to display partitions on one or more file systems. --rr _s_t_r_i_p_e Stripe partition mask. Stripe is the decimal representation of a bit mask that indicates the stripe partitions where the file is allocated. The 2^0 bit requests the first stripe partition, the 2^1 bit requests the second partition, and so on. The --rr option is an alternative to using the --pp option. Support for the --rr option will be discontinued in a future release. --ss _s_t_r_u_c_t File structure. The file structure defines the way records are delimited and how end-of-file is represented. Some _s_t_r_u_c_t values also define the internal processing used for a file. See ffoorrttffiilleess(4F) for more information on Fortran file structures. The following --ss option values may be specified: tteexxtt Newlines delimit the records. This is the default structure for sequential formatted and direct access formatted files. ccooss COS blocked structure. This is the default structure for sequential unformatted files. uunnbblloocckkeedd Adjacent records are not delimited from one another. This is the default structure for direct access unformatted files on CX/CEA systems. ppuurree (CRAY-2 systems only). Adjacent records are not delimited from one another, and noncharacter data is aligned on word boundaries within the file. This is the default structure for direct access unformatted files on SR-2011 UNICOS 6.1 3 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) CRAY-2 systems. uu (CX/CEA systems only). Unblocked file structure. Every read or write request results in an immediate system call. Requests should be made in multiples of 512 words for best performance. ssbbiinn (CX/CEA systems only). Unblocked file structure when used with unformatted access and newline-delimited records when used with formatted access. This option value is compatible with with standard C file I/O as defined in ssttddiioo..hh. This file structure is obsolescent and support will be discontinued in future releases. bbiinn (CX/CEA systems only). Unblocked file structure. The word-addressable I/O package is used to process I/O requests. bbmmxx or ttaappee On CX/CEA systems, this indicates the on-line tape access method. This file structure is required for doing any type of Fortran I/O (formatted, unformatted, or buffer I/O) to an on-line tape file. On CRAY-2 systems, each read or write request results in the processing of one tape block. This structure may be used only with on-line tape files. Each file structure has a set of valid access methods associated with it. The following tables list the valid access methods for each of the file structures. CX/CEA systems Sequential Sequential Direct Direct Formatted Unformatted Formatted Unformatted Text Yes - Yes - COS Yes Yes - - blocked Unblocked - Yes - Yes u - Yes - Yes sbin Yes Yes Yes Yes bin - Yes - Yes Tape Yes Yes - - /bmx SR-2011 UNICOS 6.1 4 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) CRAY-2 systems Sequential Sequential Direct Direct Formatted Unformatted Formatted Unformatted Text Yes - Yes - COS - Yes - - blocked Pure - Yes - Yes Tape - Yes - - /bmx --tt Temporary file. This produces a temporary file, which will be unavailable following normal or abnormal termination. --uu _b_u_f_c_n_t Buffer count. The _b_u_f_c_n_t argument is the number of library buffers used. On CRAY-2 systems, this option is relevant only for direct access unformatted I/O. The default on CRAY-2 systems is 8. The buffer count can be increased to enhance performance. On CX/CEA systems, this option is relevant only for on-line tape files that have been assigned a file structure of bmx or tape. --FF _s_p_e_c[,_s_p_e_c] Foreign record translation specification. This is a comma- separated list of layers through which data is to be passed. Each layer is in one of the following forms: _c_l_a_s_s[.._r_e_c_f_m[.._s_u_b_t_y_p_e]][::[_r_s][::_m_b_s]] _c_l_a_s_s[..[_s_a_v_s_c_r][..[_o_v_f_o_p_t]]][::[_i_n_i_t]::[[_m_a_x]::[_i_n_c_r]] In the first form, _c_l_a_s_s is the processing class; values are described below. _r_s is the the maximum allowable record size. _m_b_s is the maximum block size. Units differ depending on _c_l_a_s_s. In the second form, _c_l_a_s_s is the processing class; values are described below. _i_n_i_t is the initial allocation in 512-word blocks. _m_a_x is the maximum allocation. _i_n_c_r is the best- effort minimum increment allocation. Empty fields take default values; see the EXAMPLES section. All specification lists end, either implicitly or explicitly, with the system layer. If this layer is not specified, it is automatically added. _c_l_a_s_s is the processing class. Acceptable values are as follows: bbllaannkkxx Blank compression filter bbllxx Blank compression filter bbmmxx On-line tape handlers; one tape block per logical record cc220055 CDC CYBER 205/ETA record format SR-2011 UNICOS 6.1 5 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) ccddcc CDC 60-bit record format ccooss//bblloocckkeedd COS blocking, default Fortran unformatted ff7777 f77/UNIX Fortran record blocking iibbmm IBM record format mmrr Memory-resident files nnoonnee No-op nnoossvvee CDC NOS/VE record format nnuullll No-op ssddss SDS-resident files ssiittee Site-specific layer ssyysstteemm Generic system layer ssyyssccaallll System call I/O ttaappee On-line tape handlers; one tape block per logical record (same as bbmmxx) tteexxtt Special character terminated record uusseerr User layer vvmmss VAX/VMS record format For each _c_l_a_s_s there may be values for the optional fields in the specification. For some, the _c_l_a_s_s is all that is accepted (for example, nnuullll). The following is a brief synopsis of the options available for each of the supported classes. See UNICOS I/O Technical Note, publication SN-3075, for more information. bbllaannkkxx//bbllxx Blank compression filter. This layer is used as a filter to compress or decompress blanks in character data. bbmmxx Tape I/O. Each logical record requested is a physical tape block. No subfields are accepted. cc220055 CDC CYBER 205/ETA records. The CYBER 205-type W record can be selected by specifying cc220055..ww. The _r_s field is not permitted. The _m_b_s field represents the size of the working buffer, in bytes, used in record blocking. If any logical records written exceed this size, a major performance penalty can result. SR-2011 UNICOS 6.1 6 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) ccddcc CDC 60-bit format. The supported formats are as follows: iiww I-type blocks, W-type records ccww C-type blocks, W-type records ccss C-type blocks, W-type records cczz C-type blocks, Z-type records In addition, the _s_u_b_t_y_p_e field can have one of the three following values that indicate the presence of block trailers and other low-level characteristics: ddiisskk Disk type structure, for use with station transfers of CYBER data sets ii NOS internal tape format ssii System internal or SCOPE internal tape format The _r_s and _m_b_s fields are not accepted. ccooss COS blocking. Only the _r_s field is accepted. It represents the desired buffer size in 512-word sectors (for example, --FF ccooss::4422 requests COS blocking and a 42-sector buffer). ff7777 f77/UNIX Fortran record blocking. This is the common blocking format used by most f77 compilers on UNIX systems. It has the following two _r_e_c_f_m options, which are selected by the _r_e_c_f_m field: nnoonnvvaaxx Control words in a format common to machines such as the MC68000. This is the default. vvaaxx VAX format, (byte-swapped) control words. iibbmm The iibbmm class specifies one of the following record formats (_r_e_c_f_m): uu Undefined record format ff Fixed length record format ffbb Fixed length, blocked record format vv Variable length record format vvbb Variable length blocked record format vvbbss Variable length blocked, spanned record format No record format subtype is accepted for the iibbmm class record formats. For all of the iibbmm _r_e_c_f_m specifications, the _m_b_s specification is accepted. It corresponds to the maximum physical block size, in 8-bit bytes. For _r_e_c_f_m ff and ffbb, _r_s is also accepted and corresponds to the logical record size, in 8-bit bytes. For _r_e_c_f_m ff and ffbb, _r_s is also accepted and corresponds to the logical record size, in 8-bit bytes. For _r_e_c_f_m uu, vv, and vvbb, _r_s corresponds to the logical record size, in 8-bit bytes. For uu, vv, and vvbb, _r_s corresponds to the maximum logical record size. _r_s is ignored with vvbbss. For _r_e_c_f_m ff and ffbb, _m_b_s must be an exact multiple of _r_s. mmrr//ssddss Memory-resident and SDS-resident files. The mmrr and ssddss layers allow the user to declare a byte-stream file, but the given file should reside in the SR-2011 UNICOS 6.1 7 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) specified medium as much as possible; this can improve performance. These two layers have the same following optional fields: For the _s_a_v_s_c_r field: ssaavvee Load the file into the specified medium when the file is opened and flush the data back when closed. ssccrr Scratch file. Do not attempt to load at open and discard data on close. For the _o_v_f_o_p_t field: oovvffll Excess data that does not fit in the specified medium is written to the next lower layer; this is the default. nnoovvffll If data does not fit in the specified medium, subsequent wwrriittee(1) operations fail. The _i_n_i_t, _m_a_x, and _i_n_c_r fields represent best-effort values. They are used for tuning purposes and, normally, do not cause errors if they are not satisfied precisely as specified. For example, if the SDS limit for a process is 1000 blocks, and ssddss..ssccrr::11550000 is specified, an initial SDS allocation of 1000 blocks is used. Similarly, if ssddss..550000::1100000000::11000000 was specified, the first request for SDS space would result in the allocation of 500 blocks. If possible, this is allocated contiguously, but it is not guaranteed. When the file size grows to over 500 blocks, an attempt is made to increase the file by an increment of 1000 blocks. If this attempt fails, whatever can be allocated is given to the file. Assuming no other SDS use, this is 500 blocks. At this point, the file assumes an overflow status. nnuullll Syntactic no-op. No optional fields are accepted. nnuullll may be specified where syntax demands a value, but no function is desired. nnoossvvee CDC NOS/VE record formats. The following values are allowed for the _r_e_c_f_m field: vv NOS/VE V format records ff ANSI F fixed-length records ss ANSI S format (segmented) records dd ANSI D SR-2011 UNICOS 6.1 8 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) format (variable-length) records uu Undefined records For the uu, ff, and dd format records, the _r_s and _m_b_s fields are accepted and behave like the iibbmm formats uu, ff, and vv, respectively. For ss format records, the _r_s field is not useful and the _m_b_s field is the maximum physical block size used in the lower level layers. For vv format records, the _r_s field is not permitted and the mmbbss field is the size of the working buffer used in record blocking. If any logical records that are written exceed this size, a major performance penalty can result. ssiittee Site layer. This option allows a site to add, at load time, custom I/O handlers for specific needs. See UNICOS I/O Technical Note, publication SN-3075, for more information. ssyysstteemm Generic system I/O layer. Selects bbmmxx or ssyyssccaallll as appropriate. ssyyssccaallll System I/O call. Each I/O operation results in a corresponding system call. ttaappee Tape I/O. Each logical record requested is a physical tape block. No subfields are accepted. This is the same as bbmmxx. tteexxtt Special character terminated records. The following fields are allowed: nnll Newline-separated records eeooff Newline-separated records and the special character sequence, ~~ee on a line by itself delimiting EOF. 220055 CYBER 205-style text file ccttssss CTSS-style text format uusseerr User layer. This option allows a user to add, at load time, custom I/O handlers for specific needs. See UNICOS I/O Technical Note, publication SN-3075, for more information. vvmmss The vvmmss class supports three record formats (_r_e_c_f_m): ff Fixed length records. vv Variable length records. ss Segmented, variable records. The _r_s and _m_b_s values are accepted and have much the same meaning as for the iibbmm class. For a _r_e_c_f_m of ss, SR-2011 UNICOS 6.1 9 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) _r_s is ignored. For a _r_e_c_f_m of ff, _m_b_s need not be a multiple of _r_s. For each of the above _r_e_c_f_m values, there are three allowable _s_u_b_t_y_p_e_s that specify the blocking format within the record type. Possible _s_u_b_t_y_p_e_s are: ttaappee ANSI standard record format. bbbb Binary blocked. ttrr Transparent. The ttaappee subtype should be used with labeled VAX/VMS tapes. The bbbb subtype should be used with files that are to be fetched or disposed with a BBBB or TTBB format, or with unlabeled magnetic tapes. This subtype requires an enclosing blocking; for example, vvmmss..ss..ttaappee,,bbmmxx or vvmmxx..bb..bbbb,,ccooss. The ttrr subtype should be used with files that are transferred to or from the VAX/VMS system with ffeettcchh or ddiissppoossee and the TTRR format. Any other method that precisely transfers the disk image, including all VMS control words, will also work. Note: ffttpp does not correctly transfer nontext, variable-length record files. --CC _c_h_a_r_c_o_n Flexible File I/O (FFIO) specification. This requests that certain I/O processors (currently limited to the Fortran I/O libraries) convert character data from this assumed character set on input, and convert it to this character set on output. The --FF option must be used with this option. _c_h_a_r_c_o_n can be one of the following: aasscciiii (no-op) eebbccddiicc ccddcc --NN _n_u_m_c_o_n Foreign numeric conversion specification. This requests that certain I/O processors (currently limited to the Fortran I/O libraries) convert numeric data from this assumed numeric format on input, and convert it to this numeric format on output. The --FF option must be used with this option. _n_u_m_c_o_n can be one of the following: cc220055 eettaa ccrraayy (no-op) ccddcc nnoossvvee iibbmm vvmmss iieeeeee uusseerr ssiittee For more information on uusseerr and ssiittee, see UNICOS I/O Technical Note, publication SN-3075. SR-2011 UNICOS 6.1 10 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((1111)))) EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS The following example assigns an actual name (//ttmmpp//ffoooo//ffiilleexxyyzz) and a buffer size of 8 sectors to unit 1: assign -a /tmp/foo/filexyz -b 8 u:1 The following example assigns a buffer size of 32 sectors to ffrreedd, removing any previously assigned characteristics: assign -O -b 32 f:fred To assign unit 11 a pure file structure without erasing any other attributes currently in effect, use the --II option as follows: assign -I -s pure u:11 The following example sets up and uses the aassssiiggnn environment file, aaffiillee, for a specific program: env FILENV=afile assign -F cos myfile env FILENV=afile a.out The Fortran I/O library checks for conflicting attributes when a file and unit assignment are both active during OPEN processing for a Fortran unit. The existence of an aassssiiggnn attributes for both the file and the unit results in an error condition. Examples of options --FF, --NN, and --CC are on the aassggccmmdd(1) man page. NNNNOOOOTTTTEEEESSSS Because the aassssiiggnn command has a common interface for the UNICOS 6.0 release, the following use of aassssiiggnn is obsolescent: For CRAY-2 systems, the use of assign-by-file to assign-by-unit is obsolescent. In pre-UNICOS 6.0 systems, assigns of ffoorrtt..NN indicated assigns to unit NN, rather than to file ffoorrtt..NN. This is still supported under 6.0, (with a warning issued) when no assign to the unit (uu::NN) or the file (ff::ffiilleennaammee) exists, but an assign to file ffoorrtt..NN exists. When an assign-by-unit is needed, use aassssiiggnn [[_a_t_t_r_i_b_u_t_e_s]] uu::NN. In many cases, it may be desirable or necessary to nullify the file's characteristics before a second open request on the file. For example, if there are two executables within a UNICOS NQS job that read/write the same file, each executable file will open the file. Therefore, the aassssiiggnn attributes would be applied twice as a result, perhaps producing an unwanted effect. In the following example, to remove all aassssiiggnn attributes currently in effect for ffiilleennaammee, use the following command: assign -R f:filename SSSSEEEEEEEE AAAALLLLSSSSOOOO ddff(1) ffoorrttuunniittss(3F), ffoorrttffiilleess(3F), aassssiiggnn(3U), aaccppttbbaadd(3F), sskkiippbbaadd(3F), bblloocckkeedd(3F) in _V_o_l_u_m_e _1: _U_N_I_C_O_S _F_o_r_t_r_a_n _L_i_b_r_a_r_y _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2079 UNICOS I/O Technical Note, publication SN-3075 SR-2011 UNICOS 6.1 11 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((3333UUUU)))) NNNNAAAAMMMMEEEE AASSSSIIGGNN, AASSNNUUNNIITT, AASSNNFFIILLEE, AASSNNRRMM - Provides library interface to assign processing SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS CCAALLLL AASSSSIIGGNN((_c_m_d [[,,_i_e_r]])) CCAALLLL AASSNNUUNNIITT((_i_u_n_i_t, _a_s_t_r_i_n_g, _i_e_r)) CCAALLLL AASSNNFFIILLEE((_f_n_a_m_e, _a_s_t_r_i_n_g, _i_e_r)) CCAALLLL AASSNNRRMM((_i_e_r)) DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN AASSSSIIGGNN provides an easy interface to assign processing from Fortran. AASSNNUUNNIITT and AASSNNFFIILLEE assign attributes to units and files, respectively. AASSNNRRMM removes all entries currently in the assign environment. These routines have the following arguments: _c_m_d A Fortran character variable containing a complete aassssiiggnn(1) command in the format also acceptable to IISSHHEELLLL(3U). The -V option cannot be processed by the AASSSSIIGGNN routine. _i_u_n_i_t An integer variable or constant containing the unit number to which attributes are assigned. _f_n_a_m_e A character variable or constant containing the file name to which attributes are assigned. _a_s_t_r_i_n_g A Fortran character variable containing any attribute options and option values that could be passed to aassssiiggnn(1). Control options -I, -O, and -R can also be passed. _i_e_r An integer variable which is assigned the exit status on return. A 0 indicates normal return; >0 indicates a specific error status. NNNNOOOOTTTTEEEESSSS Users are encouraged to use the AASSSSIIGGNN library routines rather than IISSHHEELLLL((''aassssiiggnn'')), because IISSHHEELLLL causes a ffoorrkk(2), an eexxeecc(2) of sshh(1), another ffoorrkk(2), and another eexxeecc(2) of aassssiiggnn(1). The first fork can be quite expensive when the calling program is a large memory process. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS +o The following is equivalent to assign -s pure f:file: CALL ASSIGN('assign -s pure f:file') +o The following is equivalent to executing assign -O -s u f:file1: CALL ASNFILE('file1','-O -s u',IER) +o The following has the same effect as assign -I -n 2 u:99: SR-2079 UNICOS 6.1 1 Cray Research, Inc. AAAASSSSSSSSIIIIGGGGNNNN((((3333UUUU)))) INTEGER IUN IUN = 100 CALL ASNUNIT(IUN,'-I -n 2',IER) +o The following is equivalent to executing assign -s tape u:1 CALL ASNUNIT(1,'-O -s tape',IER) SSSSEEEEEEEE AAAALLLLSSSSOOOO AASSNNCCTTLL(3U) SR-2079 UNICOS 6.1 2 Cray Research, Inc.