assign(1)

assign - Assigns options for library file open processing

As shipped in IRIX 6.5.7. Last changed in IRIX 6.5.5.

NAME
     assign - Assigns options for library file open processing

SYNOPSIS
     UNICOS and UNICOS/mk systems:

        assign [-a actualfile] [-b bs] [-c] [-d bdr] [-f fortstd]
        [-l buflev] [-m setting] [-n sz [:st]] [-p partlist] [-q ocblks]
        [-r setting] [-s ft] [-t] [-u bufcnt] [-w setting] [-x setting]
        [-y setting] [-C charcon] [-D fildes] [-F spec[,specs]] [-I]
        [-L setting] [-N numcon] [-O] [-P scope] [-R] [-S setting]
        [-T setting] [-U setting] [-V] [-W setting] [-Y setting]
        [-Z setting] assign_object

     IRIX systems:

        assign [-a actualfile] [-b bs] [-f fortstd] [-s ft] [-t]
        [-y setting] [-B setting] [-C charcon] [-D fildes]
        [-F spec[,specs]] [-I] [-N numcon] [-O] [-R] [-S setting]
        [-T setting] [-U setting] [-V] [-W setting] [-Y setting]
        [-Z setting] assign_object

IMPLEMENTATION
     UNICOS, UNICOS/mk, and IRIX systems

DESCRIPTION
     On IRIX systems, the assign command affects I/O statements in program
     units compiled with the MIPSpro 7 Fortran 90 compiler or compiled with
     the -craylibs option to the MIPSpro F77 compiler.

     The assign command associates options with Fortran unit numbers and
     file names for use during the library open processing.

     The ffassign(3C) command provides an interface to assign processing
     from C.  See the ffassign(3C) man page for more details.

     When using direct access files on IRIX systems, the user must assign
     the file to either the system or global layer for code that works with
     more than one processor.  The default layer for direct access on IRIX
     systems is the cache layer and it does not have the coherency to
     handle multiple processes doing I/O to the same file.

     Selected options on the assign command are available on IRIX systems.
     The descriptions of each option include the hardware platform where
     the option is available.

     The assign_object argument can take one of the following formats:

     -------------------------------------------------------------
     Format        Example  Attribute association
     -------------------------------------------------------------
     g:io_type     g:su     Sequential unformatted open request
     u:unit_number u:9      Fortran unit 9
     p:pattern     p:file%  File names matching the pattern file%
     f:file_name   f:file1  File name file1
     file_name     myfile   File name myfile
     -------------------------------------------------------------

     An assign_object that is a pattern may contain wildcard characters %
     and _.  The % character matches any sequence of 0 or more characters;
     the _ character matches any single character.

     The run-time I/O library applies the options to a file connection
     whenever assign_object is opened.  The application of options occurs
     whenever a file is opened by any of the following:

     * Fortran I/O
            Fortran OPEN statement
            Implicit Fortran open via some I/O statement

     * FFIO
            ffopen(3C) library routine
            fdcp(1) command

     * Fortran auxiliary I/O
            WOPEN(3F) library routine
            OPENMS(3F) library routine
            OPENDR(3F) library routine
            AQOPEN(3F) library routine

     When any of these I/O routines opens a file, they use assign options
     for any assign_object which applies to the open request.  As many as
     five assign_objects can apply to an open request:

     * g:all applies to any open.

     * g:su, g:sf, g:du, g:df, g:aq, and g:ff each apply to types of open
       requests (for example, Fortran sequential unformatted, Fortran
       sequential formatted, Fortran direct unformatted, Fortran direct
       formatted, AQOPEN, and ffopen, respectively).

     * u:N applies whenever Fortran unit N is opened.

     * p:pattern applies whenever a file with a name matching pattern is
       opened.  The assign environment can contain only one p:assign_object
       that matches the current open.  The exception is that the p:%
       pattern is silently ignored if a more specific pattern also matches
       the current filename being opened.

     * f:filename applies whenever a file with the name filename is opened.

     Options from the assign_objects in the above categories are collected
     to create the complete set of options used for any particular open
     operation.  The options are collected in the above order, with options
     collected later in the list of assign_objects overriding those
     collected earlier.

     On UNICOS and UNICOS/mk systems, assign information is stored in the
     assign environment file, $TMPDIR/.assign, by default.  The location of
     the active assign environment can be changed by assigning a file name
     or a process environment variable to the FILENV environment variable.

     On IRIX systems, you must set the FILENV environment variable to use
     the assign command.  FILENV can contain the pathname of a file which
     will be used to store assign information, or it can specify that the
     information should be stored in the process environment. See the
     examples in the EXAMPLE section.

     There are two main groups of assign command options:  control options
     and I/O processing options.  This man page describes both types of
     options.

   Control options
     These options are available on IRIX systems and UNICOS and UNICOS/mk
     systems:

     -I      Specifies an incremental assign.  All options are added on to
             the options already assigned to the current assign_object.
             This option and the -O option are mutually exclusive.

     -O      Specifies a replacement assign.  All currently existing assign
             options for the current assign_object are replaced.  This
             option is the default control option and is mutually exclusive
             from the -I option.

     -R      Removes all assign options for assign_object.  If
             assign_object is not specified, all currently assigned options
             for all assign_objects are removed.

     -V      Views options for assign_object.  If assign_object is not
             specified, all currently assigned options for all assign
             objects are printed.

   I/O processing options
     I/O processing options specify aspects of I/O processing.  Each option
     applies to one or more supported I/O type:  Fortran I/O, FFIO, or
     Fortran auxiliary I/O (AQIO, WAIO, DRIO, and MSIO).

     The special "default" option value is available for all assign
     attribute options with the exception of the -a option.  The "default"
     option value has the same effect as if the corresponding option were
     unspecified. It can be used to nullify an option value set in a more
     general type of assign.  For example, the following commands show how
     you can set a buffer size of 20 blocks for all files except the file
     smallfile:

          assign -b 20 g:all
          assign -b default f:smallfile

   Options and Arguments
     -a actualfile
                 Specifies the actual file name.  Used by Fortran I/O and
                 auxiliary I/O.

                 Available on IRIX systems.

                 When the -a option is assigned to a unit, open processing
                 for the unit results in a connection to actualfile.  An
                 error occurs if -a has been specified for a unit that is
                 opened with an explicit FILE= specifier in the OPEN
                 statement.

                 When -a is assigned to a file name, the file name becomes
                 an alias for actualfile.  When file_name is specified as
                 the FILE= specifier in an OPEN statement, actualfile is
                 opened instead of file_name.  A similar effect occurs if
                 the ln(1) command is used to establish a symbolic link.

                 The -a and -D options cannot both be provided.

     -b bs       Specifies buffer size of the library's I/O buffer in units
                 of 4096-byte blocks.  Used by Fortran I/O and auxiliary
                 I/O.

                 Available on IRIX systems.

                 On UNICOS and UNICOS/mk systems, the default buffer sizes
                 in 4096-byte blocks are as follows.

               Sequential formatted     8
               Sequential unformatted   48 (see the description of the cos
                                        layer in the INTRO_FFIO(3F) man
                                        page for details)
               Direct access formatted  Minimum (record length + 1 byte, 8
                                        blocks)
               Direct access            Maximum (record length, 8 blocks)
               unformatted

                 Direct access unformatted files have 4 buffers.

                 On IRIX systems, the default buffer sizes in 4096-byte
                 blocks are as follows:

               Sequential formatted     8
               Sequential unformatted   8
               Direct access formatted  16
               Direct access            16
               unformatted

                 Direct files have 4 buffers.

     -c          Specifies contiguous storage.  Must be used in conjunction
                 with the -n option.  Used by Fortran I/O and auxiliary
                 I/O.

                 Deferred implementation on IRIX systems.

                 Requests that contiguous disk space be allocated to the
                 file.

     -d bdr      Specifies automatic recovery of bad data for online tape
                 files.  Used by Fortran I/O and auxiliary I/O.

                 Deferred implementation on IRIX systems.

                 Valid values for bdr are as follows:

                 bdr            Action

                 skipbad        Skips bad data; no bad data is sent to your
                                buffer.

                 acptbad        Accepts bad data; makes bad data available.

                 When this option is used, explicit calls to the ACPTBAD
                 and SKIPBAD library routines are not necessary.  You will
                 receive an error code indicating that a bad tape block has
                 been encountered.

                 This option is valid only for online tape files.

                 For online tape files specified with assign -F [bmx,tape]
                 or assign -s [bmx,tape], only one tape block is accepted
                 or skipped at a time.  The -d skipbad option is also valid
                 for tape fields specified with the following command:

                  assign -F [ibm.u, ibm.vbs, ibm.vb, ibm.v,tape]

                 For these files, all consecutive bad tape blocks are
                 skipped, and the user is placed at the beginning of the
                 next record.  The -d option is invalid with all other file
                 specifications.

     -f fortstd  This option specifies the type of Fortran with which to be
                 compatible.  Used by Fortran I/O.

                 Valid values for fortstd are:

                 77   Causes the Fortran file to be compatible with the
                      FORTRAN 77 standard and Cray Research's CF77
                      compiling system.

                 90   Causes the Fortran file to be compatible with ANSI
                      X3.198-1991 (Fortran 90 and the Fortran 95 standard)
                      and Cray Research's CF90 compiling system.

                 irixf77
                      Causes the Fortran file to be compatible with Silicon
                      Graphics' FORTRAN 77 compiling system which runs on
                      IRIX systems.

                 irixf90
                      Causes the Fortran file to be compatible with the
                      MIPSpro 7 Fortran 90 compiling system.

                 A file's compatibility is established at open time.  By
                 default, a Fortran file is compatible with the language
                 from which an OPEN statement or implicit open caused the
                 file to be connected.  Implicit opens which result from
                 calls to READC, READCP, WRITEC, or WRITECP result in
                 Fortran 90/95 compatibility mode by default.

     -l buflev   Controls kernel buffering; used by Fortran I/O, auxiliary
                 I/O, and FFIO.

                 Deferred implementation on IRIX systems.

                 buflev can be any of these values:

                 none        Sets O_RAW and O_LDRAW

                 ldcache     Sets O_RAW, clear O_LDRAW

                 full        Clears O_RAW and O_LDRAW

                 If this option is not set, the level of system buffering
                 is dependent on the type of open operation being
                 performed.

     -m setting  Activate or suppress special handling of a file which will
                 be accessed concurrently by several processes or tasks.
                 Used by Fortran I/O and auxiliary I/O.

                 Not available on IRIX systems.

                 Special handling includes skipping the check that only one
                 Fortran unit be connected to a unit.  setting can be on or
                 off.

                 For files which are written, special handling also
                 includes:

                 * Suppressing file truncation to true size by the I/O
                   buffering routines.  Library buffer routines are usually
                   flushed to disk in their entirety, and a truncation of
                   the file at close time is done to trim the last file
                   page to the correct size.

                 * Ensuring that the file will not be truncated after the
                   last record written on sequential files (-m on implies
                   -T off).

                 If the file will be updated, the user is responsible for
                 partitioning file access from all processes, tasks, or
                 processing elements (PE) on library buffer page
                 boundaries.  This can be done in the following ways:

                 * Specify the -b assign option.

                 * Specify the first numeric parameter on the cache or bufa
                   FFIO layers (for example, -F cache:2 or -F bufa:8).

                 * Specify no library buffering by using the -F system
                   option.

                 For example, if several PEs concurrently open a file and
                 specify -m on, each PE might by convention update region
                 MY_PE() of the file.  If the region size for each PE is 10
                 blocks, the following assign options could be specified:

                    assign -m on -F cache:5 u:1

                 Specifying a buffer page size of 5 in this example assures
                 alignment with PE file region boundaries because the
                 region size (10) is an integral multiple of the buffer
                 page size (5).

     -n sz [:st] Amount of system file space to reserve for a file.  This
                 is a number of 4096-byte blocks.  Used by Fortran I/O,
                 FFIO, and auxiliary I/O.

                 Deferred implementation on IRIX systems.

                 If this option is used with an existing file, sz 4096-byte
                 blocks are added to the end of the file by use of
                 ialloc(2).

                 NOTE:  Allocation of actual file space is not done until
                 the file is opened in the Fortran libraries.  For
                 immediate allocation, use the setf(1) command .

                 The optional st value is an obsolete way to specify the -q
                 assign option.  Use of -q is preferable to using the st
                 value on -n.

     -p partlist File system partition list.  Used by Fortran I/O, FFIO,
                 and auxiliary I/O.  partlist indicates the partitions of a
                 file system on which a file is to be allocated.

                 Deferred implementation on IRIX systems.

                 partlist is used at file creation time by use of the cbits
                 argument on the open(2) system call.  partlist also
                 controls the partitions where space is allocated using
                 ialloc(2) when a -n option is assigned.

                 partlist 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).  Partitions are numbered starting with 0.

                 You can use the df(1) command with the -p option to
                 display partitions on one or more file systems.

     -q ocblks   Number of 4096-byte blocks to be allocated per file system
                 partition.  Used by Fortran I/O, FFIO, and auxiliary I/O.
                 ocblks is used at file creation time by use of the cblks
                 argument on the open(2) system call.  ocblks also controls
                 the number of blocks assigned per partition where space is
                 allocated using ialloc(2) when a -n option is assigned.

                 Deferred implementation on IRIX systems.

     -r setting  Activates or suppresses the passing of the O_RAW flag to
                 the open(2) system call.  Used by Fortran I/O and FFIO.
                 setting can be either on or off.  This option is supported
                 in programs linked with Cray Research's Programming
                 Environment 3.0 and later releases.

                 Not available on IRIX systems.

     -s ft       Specifies the file type.  Used by Fortran I/O.  See below
                 for specific values supported on IRIX systems.

                 The file type defines the way records are delimited and
                 how end-of-file is represented.  Some ft values also
                 define the internal processing used for a file.

                 Enter one of the following for ft:

                 ft                File Type

                 bin               Unblocked file structure with buffering.
                                   Available on IRIX systems.

                 cos or blocked    COS blocked structure.  This is the
                                   default structure for sequential
                                   unformatted files on UNICOS and
                                   UNICOS/mk systems.

                                   Available on IRIX systems.

                 sbin              Unblocked file structure with "stdio"
                                   style buffering.  The Fortran I/O
                                   library issues I/O which is compatible
                                   with the C fwrite(3C) and fread(3C)
                                   functions.  This file type is useful for
                                   accessing pipe files.  It is not
                                   permitted with formatted files.

                                   Available on IRIX systems.

                 tape or bmx       On UNICOS systems and UNICOS/mk systems,
                                   this indicates the online tape access
                                   method.  This file structure is required
                                   for doing any type of Fortran I/O
                                   (formatted, unformatted, or buffer I/O)
                                   to an online tape file.

                                   Each read or write request results in
                                   the processing of one tape block.  This
                                   structure may be used only with online
                                   IBM-compatible tape files or with ER90
                                   volumes mounted in block mode on UNICOS
                                   systems (see the Tape Subsystem User's
                                   Guide, for more information about
                                   restrictions on record sizes when using
                                   ER90 block mode).

                                   Not available on IRIX systems.

                 text              New-line characters delimit the records.
                                   This is the default structure for
                                   sequential formatted files.  On UNICOS
                                   and UNICOS/mk systems, it is also the
                                   default structure for direct-access
                                   formatted files.

                                   Available on IRIX systems.

                 u                 Each read or write request results in an
                                   immediate system call.  Requests should
                                   be made in multiples of 4096 bytes for
                                   best performance.

                                   Available on IRIX systems.

                 unblocked         Adjacent records are not delimited from
                                   one another.  This is the default
                                   structure for direct-access unformatted
                                   files.  On IRIX systems, it is also the
                                   default structure for direct-access
                                   formatted files.

                                   Available on IRIX systems.

                 Each file type has a set of valid access methods
                 associated with it.  The following table lists the valid
                 access methods for each of the file types.  In this table,
                 "yes" indicates that the access method is allowed; "no"
                 indicates that it is not allowed; "default"indicates that
                 it is the default method on UNICOS, UNICOS/mk, and IRIX
                 systems.

             --------------------------------------------------------------
                           Sequential   Sequential   Direct       Direct
                           formatted    unformatted  formatted    unformatted
             --------------------------------------------------------------
             bin           No          Yes          Yes         Yes
             cos|blocked   Yes         Yes **       No          No
             sbin          Yes         Yes          Yes         Yes
             text          Default     No           Yes **      No
             u             No          Yes          Yes         Yes
             unblocked     No          Yes          Yes ***     Default
             tape|bmx*     Yes *       Yes *        No *        No *
             --------------------------------------------------------------

                 *   Not available on IRIX systems

                 **  Default on UNICOS and UNICOS/mk systems

                 *** Default on IRIX systems

     -t          Temporary file.  Used by Fortran I/O.

                 Available on IRIX systems.

                 This causes the file to be deleted when it is disconnected
                 by using a CLOSE statement or at program termination.
                 Unlike STATUS='SCRATCH' on OPEN, the -t option does not
                 affect the default file name selected for a unit.  If
                 STATUS='KEEP' is specified on the CLOSE statement, it is
                 silently ignored without error or warning.

     -u bufcnt   Buffer count.  Used by Fortran I/O.

                 Deferred implementation on IRIX systems.

                 Specifies the number of buffers to be allocated for a
                 file.  This option can be used with direct-access
                 unformatted files and with online tape files (UNICOS and
                 UNICOS/mk systems).  The default is 4 for direct-access
                 unformatted files and is system-dependent for online tape
                 files.

     -w setting  Activate or suppress the passing of the O_WELLFORMED flag
                 to the open(2) system call.  Used by Fortran I/O and FFIO.
                 setting may be on or off.

                 Deferred implementation on IRIX systems.

     -x setting  Activate or suppress the passing of the O_PARALLEL flag to
                 the open(2) system call.  Used by Fortran I/O and FFIO.
                 setting may be on or off.  This option is supported in
                 programs linked with Cray Research's Programming
                 Environment 3.0 and later releases.

                 Not available on IRIX systems.

     -y setting  Suppress repeat count in list-directed output.  setting
                 can be on or off.  The default setting is off.

     -B setting  Activate or suppress the passing of the O_DIRECT flag to
                 the open(2) system call.

                 Used by Fortran I/O and FFIO.  setting may be on or off.

                 Available only on IRIX systems.  Not available on UNICOS
                 or UNICOS/mk systems.

                 This option is supported by the cache, cachea, and system
                 layers (see the -F option).  Use of -B with the system
                 layer requires that the user properly align their I/O
                 requests.  The cache and cachea layers will guarantee
                 proper alighment when -B is specified.  See the open(2)
                 man page for more information about O_DIRECT.

     -C charcon  Specifies character set conversion.  Used by Fortran I/O.

                 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.  charcon must be one
                 of the following:

                 ascii (no-op)
                 ebcdic *
                 cdc *

                 * Not supported on UNICOS/mk or IRIX systems.

     -D fildes   Specifies connection to a standard file.  Used by Fortran
                 I/O.

                 Available on IRIX systems.

                 The -D and -a options cannot be used together.  Enter one
                 of the following for fildes:

                 fildes    File

                 stdin     Connect to file descriptor 0

                 stdout    Connect to file descriptor 1

                 stderr    Connect to file descriptor 2

     -F spec[,spec...]
                 FFIO specification.  This is a comma-separated list of
                 layers through which data is to be passed.  Used by
                 Fortran I/O, auxiliary I/O, and FFIO.

                 See the INTRO_FFIO(3F) man page for details about the FFIO
                 specifications and for details on which layers are
                 available on IRIX systems.

                 Each layer specification is of the following general form:

                      class[.type[.subtype]][:[num1]:[num2]:[num3]]

                 For each class, class specifies the class of processing to
                 be done.  Many class values also accept type and/or
                 subtype fields to modify their behavior; other class
                 values accept only the class itself (for example,
                 syscall).  Following the type and subtype fields, many
                 classes accept numeric fields to further tune or modify
                 the file processing.  Units in these numeric fields differ
                 depending on class.

                 All specification lists end, either implicitly or
                 explicitly, with the system layer.  If this layer is not
                 specified, it is added automatically.

                 Acceptable values for class are as follows:

                 class             Value

                 blankx or blx     Blank compression filters.  Not
                                   available on IRIX systems.

                 bmx or tape       Online tape handlers.  Deferred
                                   implementation on IRIX systems.

                 bufa              Buffering layer.  Available on IRIX
                                   systems.

                 c205              CDC CYBER 205/ETA record formats.  Not
                                   available on IRIX systems.

                 cache             Cache layer.  Available on IRIX systems.

                 cachea            Asynchronous cache layer.  Available on
                                   IRIX systems.

                 cdc               CDC 60-bit record format.  Not available
                                   on IRIX systems.

                 cos or blocked    COS blocking; default for Fortran
                                   sequential unformatted I/O on UNICOS and
                                   UNICOS/mk systems.  Available on IRIX
                                   systems.

                 er90              ER90 handlers.  Not available on IRIX
                                   systems or on CRAY T3E systems.

                 event             Event layer, used to monitor I/O
                                   activity between layers.  This layer
                                   generates statistics in the form of an
                                   ASCII log file.  Deferred implementation
                                   on IRIX systems.

                 f77               FORTRAN 77/UNIX Fortran record blocking.
                                   Available on IRIX systems.  This is the
                                   default structure for sequential
                                   unformatted files on IRIX systems.

                 fd                Open a specific file descriptor.
                                   Available on IRIX systems.

                 global            UNICOS/mk and IRIX shared file. This is
                                   a caching layer which distributes the
                                   cache across all PEs.  See the
                                   INTRO_FFIO(3F) man page for more
                                   details.

                 ibm               IBM record formats.  Deferred
                                   implementation on IRIX systems.

                 mr                Memory-resident files.  Deferred
                                   implementation on IRIX systems.

                 nosve             CDC NOS/VE record formats.  Not
                                   available on IRIX systems.

                 null              Syntactic no-op.  Available on IRIX
                                   systems.

                 sds               SDS-resident files.  Not supported on
                                   CRAY T3E systems.  Not available on IRIX
                                   systems.

                 site              Site-specific layer.  Available on IRIX
                                   systems.

                 stdin, stdout, or stderr
                                   Open file descriptors 0, 1, or 2,
                                   respectively (see fd layer).  Available
                                   on IRIX systems.

                 syscall           System call I/O.  Available on IRIX
                                   systems.

                 system            Generic system layer.  Available on IRIX
                                   systems.

                 text              Special character-terminated record.
                                   Available on IRIX systems.

                 tmf               IRIX tape management facility.
                                   Available on IRIX systems.

                 user              User layer.  Available on IRIX systems.

                 vms               VAX/VMS record format.  Available on
                                   IRIX systems.

                 For more information on the classes, see the
                 INTRO_FFIO(3F) man page.

     -L setting  Activate or suppress the passing of the O_LDRAW flag to
                 the open(2) system call.  Used by Fortran I/O and FFIO.
                 setting may be on or off.  This option is supported in
                 programs linked with Cray Research's Programming
                 Environment 3.0 and later releases.

                 Not available on IRIX systems.

     -N numcon   Specifies foreign numeric conversion.  Used by Fortran
                 I/O.

                 Fortran unformatted I/O converts numeric data from this
                 assumed numeric format on input, and converts it to this
                 numeric format on output.

                 If this option is used and the -C option is not used,
                 appropriate character defaults are used.

                 Each value for numcon selects a particular type of foreign
                 data conversion.  Each option has a mapping that
                 associates each of the native data types with a
                 corresponding foreign data type and length in bits.
                 Appropriate data conversion is done on unformatted input
                 and output operations.

                 For example, entering -N ibm selects the following
                 mapping:

                 CRI Data Type            IBM Data Type

                 64-bit INTEGER           32-bit INTEGER*4

                 64-bit REAL              32-bit REAL*4

                 128-bit DOUBLE           64-bit DOUBLE PRECISION

                 128-bit COMPLEX          64-bit COMPLEX

                 64-bit LOGICAL           32-bit LOGICAL*4

                 8-bit ASCII CHARACTER    8-bit EBCDIC CHARACTER

                 Short INTEGER*2          16-bit INTEGER*2

                 The following tables list the values for numcon on
                 different hardware platforms. Note that in these tables,
                 "VAX" is an alias for "VMS". For example, vms_dp is
                 synonymous with vax_dp.

                 Cray PVP systems (non-IEEE)

                 ---------------------------------------------------
                            -C
                 -N option  default    Meaning
                 ---------------------------------------------------
                 none       none       No data conversion
                 default    default    No data conversion
                 cray       ASCII      No data conversion
                 ibm        EBCDIC     IBM data conversion
                 ibm_dp     EBCDIC     IBM data conversion;
                                       floating-point is 64-bits
                 CDC        cdc        CDC 60-bit data conversion
                 nosve      ASCII      CDC NOS/VE data conversion
                 c205       ASCII      CDC CYBER 205 (ETA) data
                                       conversion
                 vms        ASCII      VAX/VMS data conversion
                 vms_dp     ASCII      VAX/VMS data conversion;
                                       floating-point is 64-bits
                 ieee       ASCII      Generic 32-bit IEEE data
                                       conversion
                 ieee_32               (alias for above)
                 ieee_dp    ASCII      IEEE data conversion;
                                       floating-point is 64-bits
                 mips       ASCII      SGI MIPS IEEE data conversion
                                       (128-bit floating-point is
                                       "double double" format)
                 ieee_64    ASCII      CRAY 64-bit IEEE data
                                       conversion
                 ieee_le    ASCII      Little endian 32-bit IEEE
                                       data conversion
                 ultrix                (alias for above)
                 ieee_le_dp ASCII      Little endian 32-bit IEEE
                                       data conversion; floating-
                                       point is 64-bits
                 ultrix_dp             (alias for above)
                 t3e        ASCII      CRAY 64-bit IEEE data
                                       conversion; denormalized
                                       numbers flushed to zero
                 t3d                   (alias for above)
                 user       ASCII      User defined data conversion
                 site       ASCII      Site defined data conversion
                 ---------------------------------------------------

                 Cray MPP systems

                 ---------------------------------------------------
                            -C
                 -N option  default    Meaning
                 ---------------------------------------------------
                 none       none       No data conversion
                 default    default    No data conversion
                 cray       ASCII      No data conversion
                 ieee       ASCII      Generic 32-bit IEEE data
                                       conversion
                 ieee_32               (alias for above)
                 t3e        ASCII      CRAY 64-bit IEEE data
                                       conversion; denormalized
                                       numbers flushed to zero
                 t3d        ASCII      No data conversion
                 user       ASCII      User defined data conversion
                 site       ASCII      Site defined data conversion
                 ---------------------------------------------------

                 CRAY T90/IEEE

                 ---------------------------------------------------
                            -C
                 -N option  default    Meaning
                 ---------------------------------------------------
                 none       none       No data conversion
                 default    default    No data conversion
                 cray       ASCII      No data conversion
                 ibm        EBCDIC     IBM data conversion
                 ibm_dp     EBCDIC     IBM data conversion;
                                       floating-point is 64-bits
                 ieee       ASCII      Generic 32-bit IEEE data
                                       conversion
                 ieee_32               (alias for above)
                 ieee_dp    ASCII      IEEE data conversion;
                                       floating-point is 64-bits
                 ieee_64    ASCII      CRAY 64-bit IEEE data
                                       conversion
                 user       ASCII      User defined data conversion
                 site       ASCII      Site defined data conversion
                 ---------------------------------------------------

                 SGI IRIX (MIPS)

                 ---------------------------------------------------
                            -C
                 -N option  default    Meaning
                 ---------------------------------------------------
                 none       none       No data conversion
                 default    default    No data conversion
                 cray       ASCII      Cray PVP (non-IEEE) data
                                       conversion
                 mips       ASCII      No data conversion
                 user       ASCII      User defined data conversion
                 site       ASCII      Site defined data conversion
                 ieee       ASCII      Generic 32-bit IEEE data
                                       conversion
                 ieee_32               (alias for above)
                 ieee_64    ASCII      CRAY 64-bit IEEE data
                                       conversion
                 ieee_le    ASCII      Little-endian 32-bit IEEE
                                       data conversion
                 vax        ASCII      DEC VAX/VMS data conversion
                 vms                   (alias for above)
                 ---------------------------------------------------

     -P scope    Specifies the scope of a Fortran unit.  Used by Fortran
                 I/O and auxiliary I/O.  Deferred implementation on IRIX
                 systems.

                 Allows specification of private I/O on UNICOS systems.
                 Valid values for scope are:

                 private   Causes a Fortran unit to be private to a task.
                           Any unit number assigned this option is visible
                           only to the task which opens it.  Other tasks
                           may open the same unit number to the same or
                           different files.

                 global    Supported on UNICOS systems only.  Causes a
                           Fortran unit to be global to an application.  An
                           application is defined as a process or
                           multitasked group on UNICOS systems.

                 thread    Supported on UNICOS systems only.  Causes a
                           Fortran unit to be private to a multitasking
                           thread.  Any unit number assigned this option is
                           visible only to the thread which opens it.
                           Other threads may open the same unit number to
                           the same or different files.

                 The default for all Fortran units is -P private on
                 UNICOS/mk systems and -P global on UNICOS systems.  -P
                 private may not be specified on UNICOS systems for a unit
                 connected to stdin, stdout, or stderr.

                 The following command selects private I/O for all Fortran
                 units except scratch units, and stdin, stdout, and stderr:

                      assign -P private p:%

     -S setting  Suppress use of comma as a separator in list-directed
                 output.  setting can be either on or off.  The default
                 setting is off.

     -T setting  Activates or suppresses truncation after write for
                 sequential Fortran files.  Used by Fortran I/O.

                 Available on IRIX systems.

                 The selection of -T on is standard and is the default
                 setting for most file types.  Selecting -T off is useful
                 in applications where GETPOS and SETPOS are used to
                 simulate random access to a file with sequential I/O.

                 The following table describes the -T option settings
                 allowed for the file types specified with the -s option.
                 Unsupported combinations are diagnosed when a Fortran unit
                 is opened.

                 -----------------------------------------
                 File type         -T on     -T off
                 -----------------------------------------
                 bin               Allowed    Default
                 cos or blocked    Default    Not allowed
                 sbin              Default    Allowed
                 tape or bmx       Default    Not allowed
                 text              Default    Allowed
                 u                 Allowed    Default
                 unblocked         Default    Allowed
                 -----------------------------------------

                 FFIO layers specified with the -F option vary in their
                 support for suppressing truncation with -T off.

     -U setting  Produce a non-UNICOS form of list-directed output.
                 setting can be either on or off.  This setting is a global
                 setting which sets the value for the -y, -S, and -W
                 options all to the same value.  The default setting is
                 off.

     -W setting  Suppress compressed width in list-directed output.
                 setting can be either on or off.  The default setting is
                 off.

     -Y setting  Skip unmatched namelist group in the namelist input
                 record.  setting can be either on or off.  The default
                 setting on UNICOS and UNICOS/mk systems is off.  The
                 default setting on IRIX systems is on.

     -Z setting  Recognize -0.0 for IEEE floating point systems.  setting
                 can be either on or off.

                 This option recognizes -0.0 for IEEE floating point
                 systems and writes the minus sign for edit-directed,
                 list-directed, and namelist output. The minus sign is
                 suppressed by default on IRIX systems.

                 The following example suppresses the write of the minus
                 sign for -0.0 for unit 9 on an IEEE floating point system:

                      assign -Z on u:9

                 The minus sign is suppressed for IRIX systems to prevent
                 problems from hardware instructions and optimizations
                 which may return a -0.0 from a 0.0 value.

ENVIRONMENT VARIABLES
     The FILENV environment variable must be set to use the assign command
     on IRIX systems.

     On UNICOS systems, FILENV does not have to be set.

EXAMPLES
     Example 1:  The following example assigns an actual name
     (/tmp/foo/filexyz) and a buffer size of 8 sectors to unit 1, removing
     any previously assigned options to unit 1:

          assign -a /tmp/foo/filexyz -b 8 u:1

     Example 2:  To assign unit 11 an unblocked file structure without
     modifying any other options currently in effect for unit 11, use the
     -I option as follows:

          assign -I -s unblocked u:11

     Example 3:  The following example sets up and uses the assign
     environment file, afile, for a specific program.  The assign command
     specifies that all files with the names matching the BLOCKED% pattern
     are COS blocked files:

          env FILENV=afile assign -F cos p:BLOCKED%
          env FILENV=afile a.out

     Example 4:  Attributes may be stored in the process environment using
     the assign or asgcmd commands.  The following example uses the assign
     command:

          setenv FILENV \$EVAR
          eval `assign -F f77 foo`

     The following example uses the asgcmd command:

          eval `asgcmd -F f77 foo`

SEE ALSO
     asgcmd(1), df(1), ln(1), setf(1), tpmnt(1), write(1)

     ialloc(2), open(2) in the

     acptbad(3F), assign(3F), ffassign(3C), ffopen(3C), fread(3C),
     intro_ffio(3F), openms(3F), opendr (see openms(3F)), skipbad(3F)
     Application Programmer's I/O Guide

     This man page is available only online.