Summary of the FATMEN system


Table: FATMEN command line interface

+-Command------------------------------------------------page--+-Command----------------------------------------------page--+ +-ALLOCATE---------------------------------+-ADDDISK---------------------------------+ | | | | ADDTAPE [more info] | CD [more info] | | CLR [more info] | CP [more info] | | COPY [more info] | DIR [more info] | | DUMP [more info] | END [more info] | | EXIT [more info] | EXTRACT [more info] | | FC [more info] | FIND [more info] | | GIME [more info] | INIT [more info] | | LD [more info] | LOCK [more info] | | LOGLEVEL [more info] | LS [more info] | | | | | MAKE [more info] | MEDIA [more info] | | MKDIR [more info] | MODIFY [more info] | | | MV [more info] | | PWD [more info] | QUIT [more info] | | RM [more info] | RMDIR [more info] | | RMTREE [more info] | SEARCH [more info] | | TAG [more info] | TOUCH [more info] | | TREE [more info] | UNLOCK [more info] | | UPDATE [more info] | VERSION [more info] | | | | | VIEW [more info] | ZOOM [more info] | | SET/COPYLEVEL [more info] | SET/MEDIATYPE [more info] | | SET/LOCATION [more info] | SET/USERWORDS [more info] | | SET/DATAREP [more info] | SET/SOURCE [more info] | | SET/DESTINATION [more info] | SHOW/SOURCE [more info] | | SHOW/DESTINATION [more info] | SHOW/DATAREP [more info] | | SHOW/COPYLEVEL [more info] | SHOW/LOCATION [more info] | | SHOW/MEDIATYPE [more info] | SHOW/USERWORDS [more info] | +--------------------------------------------------------------+------------------------------------------------------------+

                        Table 0.1: FATMEN Routine calling sequences
+-Function-----------------------------------------------------------------------------------+
|   Description                                                                        page  |
+-Initialise-FATMEN-system-------------------------------------------------------------------+
|   CALL FMSTRT(LUNRZ,LUNFZ,CHFAT,IRC*)                                  [more info]  |
| Access a dataset                                                                           |
|   CALL FMFILE(LUN,GENAM,CHOPT,IRC*)                                    [more info]  |
| Deaccess a dataset                                                                         |
|   CALL FMFEND(LUN,GENAM,CHOPT,IRC*)                                    [more info]  |
| Add a tape file                                                                            |
|   CALL FMADDT(argument-list)                                           [more info]  |
| Add a disk file                                                                            |
|   CALL FMADDD(argument-list)                                           [more info]  |
| Return information on FATMEN entry                                                         |
|   CALL FMPEEK(GENAM,IVECT,CHOPT,IRC*)                                  [more info]  |
| Add entry to catalogue                                                                     |
|   CALL FMPOKE(GENAM,IVECT,CHOPT,IRC*)                                  [more info]  |
| Initialise FATMEN system                                                                   |
|   CALL FMINIT(IXSTOR*,LUNRZ,LUNFZ,DBNAME,IRC*)                         [more info]  |
| Terminate FATMEN package                                                                   |
|   CALL FMEND(IRC*)                                                      [more info]  |
| Set logging level of FATMEN package                                                        |
|   CALL FMLOGL(LEVEL)                                                   [more info]  |
| Control updating mode                                                                      |
|   CALL FMUPDT(MAX,NGROUP,IFLAG,IRC*)                                   [more info]  |
| Purge old entries from catalogue                                                           |
|   CALL                                                                 [more info]  |
| FMPURG(PATH,KEYSEL,MAXSIZ,MINACC,MAXDAYS,MINCPS,LUNPUR,CHOPT,IRC*)                         |
| Get information on named file                                                              |
|   CALL FMGET(GENAM,LBANK*,KEYS*,IRC*)                                   [more info]  |
| GeCALLfFMGETK(GENAM,LBANK*,*KEYS*,IRC*)selection                       [more info]  |
| Add entry to FATMEN catalogue                                                              |
|   CALL FMPUT(GENAM,LBANK,IRC*)                                          [more info]  |
| Modify existing entry                                                                      |
|   CALL FMMOD(GENAM,LBANK,IFLAG,IRC*)                                    [more info]  |
| Create a new FATMEN bank                                                                   |
|   CALL FMBOOK(GENAM,KEYS*,LADDR*,*LSUP*,JBIAS,IRC*)                    [more info]  |
| Remove entry from FATMEN catalogue                                                         |
|   CALL FMRM(GENAM,LBANK*,KEYS,IRC*)                                      [more info]  |
| Make directory                                                                             |
|   CALL FMKDIR(CHDIR,IRC*)                                              [more info]  |
| Set contents of FATMEN bank                                                                |
|   CALL FMFILL(GENAM,*LBANK*,*KEYS*,CHOPT,IRC*)                         [more info]  |
+-Insert-character-data-into-FATMEN-bank-----------------------------------------------------+
                    Table 0.1: FATMEN Routine calling sequences (cont.)
+--------------------------------------------------------------------------------------------+
| Function                                                                                   |
+---Description------------------------------------------------------------------------page--+
|   CALL FMPUTC(LBANK,STRING,ISTART,NCH,IRC*)                            [more info]  |
| Read character data from FATMEN bank                                                       |
|   CALL FMGETC(LBANK,STRING*,ISTART,NCH,IRC*)                           [more info]  |
| Insert integer vector into FATMEN bank                                                     |
|   CALL FMPUTV(LBANK,IVECT,ISTART,NWORDS,IRC*)                          [more info]  |
| Read integer vector from FATMEN bank                                                       |
|   CALL FMGETV(LBANK,IVECT*,ISTART,NWORDS,IRC*)                         [more info]  |
| Insert integer value into FATMEN bank                                                      |
|   CALL FMPUTI(LBANK,IVAL,IOFF,IRC*)                                    [more info]  |
| Read integer value from FATMEN bank                                                        |
|   CALL FMGETI(LBANK,IVAL*,IOFF,IRC*)                                   [more info]  |
| Find existing dataset and associate with logical unit                                      |
|   CALL FMFIND(GENAM,DDNAME,*LBANK*,IRC*)                               [more info]  |
| Create new dataset                                                                         |
|   CALL FMMAKE(GENAM,DDNAME,*LBANK*,IRC*)                               [more info]  |
| Open a dataset for read or write                                                           |
| CloseLfilePopenedAviaDFATMENLBANK*,CHOPT,IRC*)                         [more info]  |
|   CALL FMCLOS(GENAM,DDNAME,LBANK,CHOPT,IRC*)                           [more info]  |
| Copy a dataset and update the FATMEN catalogue                                             |
|   CALL                                                                 [more info]  |
| FMCOPY(GN1,*LBANK1*,*KEYS1*,GN2,*LBANK2*,*KEYS2*,CHOPT,IRC*)                               |
| Check whether generic name already exists                                                  |
|   CALL FMEXST(GENAM,IRC*)                                              [more info]  |
| List files in specified directory                                                          |
|   CALL FMLS(GENAM,CHOPT,IRC*)                                            [more info]  |
| Display contents of FATMEN bank                                                            |
|   CALL FMSHOW(GENAM,*LBANK*,*KEYS*,CHOPT,IRC*)                         [more info]  |
| Count file names                                                                           |
|   CALL FMFILC(GENAM,NFILES*,IRC*)                                      [more info]  |
| Scan FATMEN directory structure                                                            |
|   CALL FMSCAN(PATH,NLEVEL,UROUT,IRC*)                                  [more info]  |
| Loop through FATMEN file names                                                             |
|   CALL FMLOOP(GENAM,UROUT,IRC*)                                        [more info]  |
| Return directory names in directory structure                                              |
|   CALL FMLDIR(PATH,DIRS*,NFOUND,MAXDIR,*ICONT*,IRC*)                   [more info]  |
| Return file names in directory structure                                                   |
|   CALL FMLFIL(GENAM,FILES*,KEYS*,NFOUND,MAXFIL,JCONT,IRC*)             [more info]  |
| Sort file names and keys                                                                   |
|   CALL FMSORT(FILES,KEYS,NFILES,JSORT*,IRC*)                           [more info]  |
| Match file name against pattern                                                            |
|   CALL FMATCH(CHFILE,MATCH,IRC*)                                       [more info]  |
+-Match-multiple-names-against-pattern-------------------------------------------------------+
                    Table 0.1: FATMEN Routine calling sequences (cont.)
+--------------------------------------------------------------------------------------------+
| Function                                                                                   |
+---Description------------------------------------------------------------------------page--+
|   CALL FMMANY(MATCH,FILES,NFILES,NMATCH*,IRC*)                         [more info]  |
| Print contents of FATMEN keys vector                                                       |
|   CALL FMPKEY(KEYS,NKEYS)                                              [more info]  |
| Select files using the FATMEN keys                                                         |
|   CALL FMSELK(GENAM,INKEYS,OUKEYS*,NKEYS*,MAXKEY,IRC*)                 [more info]  |
| Select files using the FATMEN bank information                                             |
|   CALL FMSELB(GENAM,INKEYS,NKEYS,UEXIT,ISEL*,IRC*)                     [more info]  |
| Select files using keys matrix                                                             |
|   CALL FMSELM(GENAM,LBANK*,KEYS*,KEYM,NKEY,CHOPT,IRC*)                 [more info]  |
| Compare FATMEN entries                                                                     |
|   CALL                                                                 [more info]  |
| FMCOMP(GENAM1,*LBANK1*,*KEYS1*,GENAM2,*LBANK2*,*KEYS2*,IRC*)                               |
| Print user words and comment                                                               |
|   CALL FMUPRT(GENAM,LBANK,KEYS,IUSER,COMM,IRC*)                        [more info]  |
| User selection                                                                             |
|   CALL FMUSEL(GENAM,LBANK,KEYS,IRC*)                                   [more info]  |
| Allocate new piece of media                                                                |
|   CALL                                                                 [more info]  |
| MoveLvolumes,betweenMTMSTpoolsPOOL,LBANK,CHOPT,VSN*,VID*,IRC*)                             |
|   CALL FMPOOL(GENAM,LBANK,KEYS,CHPOOL,CHOPT,IRC)                       [more info]  |
| Obtain volume characteristics                                                              |
|   CALL                                                                 [more info]  |
| FMQVOL(GENAM,LBANK,KEYS,LIB*,MODEL*,DENS*,MNTTYP*,LABTYP*,IRC*)                            |
| Obtain media information                                                                   |
|   CALL FMQMED(GENAM,*LBANK*,*KEYS*,IMEDIA*,IROBOT*,IRC*)               [more info]  |
| Set default media information                                                              |
|   CALL                                                                 [more info]  |
| FMEDIA(MFMMED,MFMTYP,MFMGEN,MFMSIZ,MFMDEN,MFMMNT,MFMLAB,NMEDIA,IRC*)                       |
| Get, Set or Delete TMS Tags                                                                |
|   CALL FMTAGS(GENAM,*LBANK*,*KEYS*,*CHTAG*,CHOPT,IRC*)                 [more info]  |
| Declare location codes to FATMEN                                                           |
|   CALL FMSETL(LOC,NLOC,IRC*)                                           [more info]  |
| Declare media types to FATMEN                                                              |
|   CALL FMSETM(MTP,NMTP,IRC*)                                           [more info]  |
| Declare copy levels to FATMEN                                                              |
|   CALL FMSETC(CPL,NCPL,IRC*)                                           [more info]  |
| Declare selection matrix and options to FATMEN                                             |
|   CALL FMSETK(KEYM,NK,CHOPT,IRC*)                                      [more info]  |
| Modify user words                                                                          |
|   CALL FMMODU(PATH,UFORM,UVECT,UCOMM,CHOPT,IRC*)                       [more info]  |
| Declare logical units to FATMEN                                                            |
+---CALL-FMSETU(LUN,NLUN,IRC*)---------------------------------------------+
                    Table 0.1: FATMEN Routine calling sequences (cont.)
+--------------------------------------------------------------------------------------------+
| Function                                                                                   |
+---Description------------------------------------------------------------------------page--+
| Get a free logical unit                                                                    |
|   CALL FMGLUN(LUN*,IRC*)                                               [more info]  |
| Free a logical unit                                                                        |
|   CALL FMFLUN(LUN*,IRC*)                                               [more info]  |
| Verify bank contents                                                                       |
|   CALL FMVERI(GENAM,LBANK,KEYS,CHOPT,IRC*)                             [more info]  |
| Pack date and time.                                                                        |
|   CALL FMPKTM(IDATE,ITIME,IPACK*,IRC*)                                 [more info]  |
| Unpack date and time.                                                                      |
|   CALL FMUPTM(IDATE*,ITIME*,IPACK,IRC*)                                [more info]  |
| Pack date and time for VAX format.                                                         |
|   CALL FMPKVX(CHDATE,IDATE,ITIME,IPACK*,IRC*)                          [more info]  |
| Unpack date and time for VAX format.                                                       |
|   CALL FMUPVX(CHDATE*,IDATE*,ITIME*,IPACK,IRC*)                        [more info]  |
| Return file names in specified directory                                                   |
|   CALL FMFNMS(PATH,FILES*,KEYS*,NKEYS*,MAXKEY,IRC*)                    [more info]  |
| ReCALL FMLIST(PATH,FILES*,KEYS*,NFOUND,MAXFIL,IRC*)                    [more info]  |
| Obtain names of subdirectories in specified tree                                           |
|   CALL FMTREE(PATH,SUBDIR*,NLEVEL,NFOUND*,MAXDIR,IRC*)                 [more info]  |
| User routine to allocate new piece of media                                                |
|   CALL FUALLO(MEDIA,VSN*,VID*,IRC*)                                    [more info]  |
| Create a new FATMEN bank                                                                   |
|   CALL FMLIFT(GENAM,KEYS*,MEDIA,CHOPT,IRC*)                            [more info]  |
| Get the address of a FATMEN bank                                                           |
|   CALL FMLINK(GENAM,LBANK*,CHOPT,IRC*)                                 [more info]  |
| Obtain volume characteristics                                                              |
+---CALL-FMQTMS(VID,LIB*,MODEL*,DENS*,MNTTYP*,LABTYP*,IRC*)----------------+
[BANK-OFFSETS]

                   Table 0.2: Bank offsets and datatypes
+---------------------------------------------------------------------------+
+----Function------+----Data-type-----+------------Description-----------##-+
| Key Definitions  | MKSRFA (I*4)     | An integer assigned by the       ##
|                  |                  | FATMEN system to permit          ##
|                  |                  | differentiation between entries  ##
|                  |                  | with the same generic name. It   ##
|                  |                  | is not normally specified by     ##
|                  |                  | the user, unless a particular    ##
|                  |                  | entry is required, e.g. in an    ##
|                  +------------------+-RM-command.----------------------##--
|                  | MKFNFA (H*20)    | The part of the generic name     ##
|                  |                  | following the last slash, such   ##
|                  |                  | as RUN123 in the name            ##
|                  +------------------+-//CERN/DELPHI/TEST/RUN123--------##--
|                  | MKCLFA (I*4)     | The 'copy level', where          ##
|                  |                  | 0=original, 1=copy, 2=copy of a  ##
|                  |                  | copy etc. Some experiments       ##
|                  |                  | prefer to use the copy level to  ##
|                  |                  | indicate the data                ##
|                  |                  | representation of the data       ##
|                  |                  | pointed to by that entry, where  ##
|                  |                  | 1=IEEE, 2=IBM, 3=VAX,            ##
|                  |                  | 4=byte-swapped IEEE (e.g.        ##
|                  +------------------+-DECstation),-5=CRAY--------------##--
|                  | MKLCFA (I*4)     | The location code, which is      ##
|                  |                  | used to find the nearest or      ##
|                  |                  | most suitable copy of a          ##
|                  |                  | dataset. The location code       ##
|                  |                  | corresponds to a site or LAN,    ##
|                  |                  | because it is only at this       ##
|                  |                  | level that a meaningful choice   ##
|                  |                  | can be made. Thus it is only a   ##
|                  |                  | first level selection, to        ##
|                  |                  | filter out all opies at a given  ##
|                  +------------------+-location,-such-as-CERN,-RAL-etc.-##--
|                  | MKMTFA (I*4)     | The type of medium on which the  ##
|                  |                  | dataset resides.                 ##
|                  |                  | 1=DISK, 2=3480, 3=3420, 4=8200   ##
|                  |                  | (Exabyte).                       ##
+------------------+------------------+----------------------------------##--
               Table 0.2: Bank offsets and datatypes (cont.)
+---------------------------------------------------------------------------+
|    Function           Data type                  Description              |
+-Generic-file-----+-MFQNFA-----------+-This-points-to-the-fully---------##-+
| description      |                  | qualified dataset name that the  ##
|                  | (H*256)*+        | file has on disk or tape. For    ##
|                  |                  | VM files, the file name should   ##
|                  |                  | be encoded in the form           ##
|                  |                  | fn.ft where addr, if  ##
|                  |                  | omitted, defaults to 191.        ##
|                  +-------------*+---+----------------------------------##--
|                  | MHSNFA (H*8)     | The host on which the file       ##
|                  |                  | resides, or through which it is  ##
|                  |                  | accessed, in the case of a tape  ##
|                  +------------------+-file.----------------------------##--
|                  | MCPLFA (I*4)*+   | The 'copy level', where          ##
|                  |                  | 0=original, 1=copy, 2=copy of a  ##
|                  |                  | copy etc.                        ##
|                  +-------------*+---+----------------------------------##--
|                  | MLOCFA (I*4)     | The location code, which is      ##
|                  |                  | used to find the nearest or      ##
|                  |                  | most suitable copy of a          ##
|                  |                  | dataset.The location code        ##
|                  |                  | corresponds to a site or LAN,    ##
|                  |                  | because it is only at this       ##
|                  |                  | level that a meaningful choice   ##
|                  |                  | can be made. Thus it is only a   ##
|                  |                  | first level selection, to        ##
|                  |                  | filter out all copies at a       ##
|                  |                  | given location, such as CERN, RAL##
|                  +------------------+-etc.-----------------------------##--
|                  |             *+   |                                  ##
|                  | MMTPFA (I*4)     | The type of medium on which the  ##
|                  |                  | dataset resides.                 ##
|                  |                  | 1=DISK, 2=3480, 3=3420, 4=8200   ##
+------------------+--------------+---+-(Exabyte).-----------------------##--
| Disk             | MHSTFA (H*16)    | The host type, e.g. IBM 3090.    ##
| description      |                  | This field is filled in by the   ##
|                  +------------------+-FATMEN-system.-------------------##--
|                  |              +   |                                  ##
|                  | MHOSFA (H*12)    | The host operating system, such  ##
|                  |                  | as VM/XA CMS 5.5. This field is  ##
+------------------+-------------*----+-filled-in-by-the-FATMEN-system.--##--
| Tape             | MVSNFA (H*8)     | The volume serial number or      ##
| description      |                  | magnetically recorded label on   ##
+------------------+------------------+-the-tape.------------------------##--
               Table 0.2: Bank offsets and datatypes (cont.)
+---------------------------------------------------------------------------+
|    Function           Data type                  Description              |
+------------------+-------------*----+----------------------------------##-+
|                  | MVIDFA (H*8)     | The visual identifier or         ##
|                  |                  | contents of the sticky label on  ##
|                  +------------------+-the-tape.------------------------##--
|                  | MVIPFA (I*4)     | The VID prefix - internal        ##
|                  +------------------+-representation.------------------##--
|                  | MDENFA (I*4)+    | The density of the medium, such  ##
|                  |                  | as 6250, 38000. Normally, such   ##
|                  |                  | details are retained by the      ##
|                  |                  | Tape Management System.          ##
|                  +-------------+----+----------------------------------##--
|                  | MVSQFA (I*4)     | The volume sequence number,      ##
|                  |                  | only used for multi-volume       ##
|                  +------------------+-files.-(Not-yet-supported).------##--
|                  |             *    |                                  ##
|                  | MFSQFA (I*4)     | The file sequence number, for    ##
+------------------+------------------+-multi-file-tapes.----------------##--
| File             | MSRDFA (I*4)     | The start record in the file.    ##
|            1     |                  |                                  ##
| description      +------------------+----------------------------------##--
|                  +-MERDFA-(I*4)-----+-The-end-record-in-the-file.------##--
|                  +-MSBLFA-(I*4)-----+-The-start-block-in-the-file.-----##--
+------------------+-MEBLFA-(I*4)-----+-The-end-block-in-the-file.-------##--
               Table 0.2: Bank offsets and datatypes (cont.)
+---------------------------------------------------------------------------+
|    Function           Data type                  Description              |
+------------------+-------------*+---+----------------------------------##-+
| Logical          | MFLFFA (H*4)     | The FATMEN defined file format.  ##
| description      |                  | The following definitions are    ##
|                  |                  | recognised by the FATMEN         ##
|                  |                  | system:                          ##
|                  |                  | 
## | | |
FA
ZEBRA ## | | | ASCII ## | | |
FZ
ZEBRA ## | | | native ## | | |
FXN
ZEBRA ## | | | native, exchange file format ## | | |
FX
ZEBRA ## | | | exchange ## | | |
FFX
ZEBRA ## | | | exchange, FORTRAN I/O ## | | |
RZ
ZEBRA ## | | | RZ ## | | |
RX
ZEBRA ## | | | RZ, exchange format ## | | |
EP
EPIO ## | | |
AS
normal ## | | | ASCII ## | | |
DA
FORTRAN ## | | | direct access dataset ## | | |
UN
unknown ## | | |
FPT
FPACK ## | | | text ## | | |
FPS
FPACK ## | | | sequential-access ## | | |
FPD
FPACK ## | | | direct-access ## | | |
FPK
FPACK ## | | | keyed-access ## | | |
FPO
FPACK ## | | | ordered ## | | |
YBB
YBOS ## | | | binary ## | | |
YBD
YBOS ## | | | direct-access ## | | |
## | +------------------+----------------------------------##-- +------------------+-MFUTFA-(H*4)-----+-The-user-defined-file-type.------##-- Table 0.2: Bank offsets and datatypes (cont.) +---------------------------------------------------------------------------+ | Function Data type Description | +-Physical---------+-MRFMFA-(H*4)-----+-The-record-format,-e.g.-VBS,-FB--##-+ | description | | etc. ## | +------------------+----------------------------------##-- | | MRLNFA (I*4) | The record length, in 4-byte ## | +------------------+-words.---------------------------##-- | | MBLNFA (I*4) | The block length, in 4-byte ## | | | words. ## | | MFSZFA (I*4) | The file size in Megabytes, ## | | | rounded up to the next integer. ## | | | A Megabyte is defined as ## | +------------------+-(1,024)**2-bytes.----------------##-- | | MUSCFA (I*4) | The number of times that the ## | | | file has been accessed (use ## | | | count). A call to FMOPEN with ## | | | the option W, or to FMMAKE sets ## | | | the use count to 1. A call to ## | | | FMOPEN with the option R, or to ## +------------------+------------------+-FMFIND-increments-the-count.-----##-- | Date and time2 | MCRTFA (I*4)+ | Creation date and time. ## | +-------------+----+----------------------------------##-- | +-MCTTFA-(I*4)-----+-Date-and-time-of-cataloging.-----##-- | | MLATFA (I*4) | Date and time of last access ## +------------------+------------------+-(when-available).----------------##-- | | + | ## | Creator | MCURFA (H*8) | The user name of the creator. ## | information +-------------+----+----------------------------------##-- | | MCIDFA (H*8) | The account (UUUGG or UUU$GG) ## | | | of the creator (CERNVM or ## | | | VAX/VMS). For Unix systems, the ## | +------------------+-NFSID-is-used.-------------------##-- | | + | ## | | MCNIFA (H*8) | The node on which the file was ## | | | created. This is not ## | | | necessarily the node from which ## | +-------------+----+-it-was-catalogued.---------------##-- | | MCJIFA (H*8) | The job or process name which ## | | | created the file. ## +-File-protection--+-MFPRFA-(I*4)-----+-The-file-protection-flag,--------##-- | | | currently unused. ## +-System-area------+-MSYWFA(10)-------+-Pointer-to-the-first-of-ten------##-- | | (I*4) | system defined words (reserved ## | | | for future use). ## +------------------+------------------+----------------------------------##-- Table 0.2: Bank offsets and datatypes (cont.) +---------------------------------------------------------------------------+ | Function Data type Description | +-User-area--------+-MUSWFA(10)-------+-Pointer-to-the-first-of-ten------##-+ | | (I*4) | user defined words. ## | +--------------+---+----------------------------------##-- +------------------+-MUCMFA-(H*80)----+-A-user-defined-comment.----------##-+ | | | + | | Items filled in automatically by the routine FMBOOK or FMLIFT (See | | pages | | [more info] and | | [more info]). | | * | | Mandatory items (defined as NOT NULL in the ORACLE/SQL | | tables). | | All fields may be overwritten by the user, but care must be exercised | | to ensure that the new values are coded in the correct format. In | | particular, for hollerith values, the entire field must first be set to | | blanks to avoid problems if the new value is shorter than the default | | setting. The routines FMPUTC and FMPUTI (see on Page | | [more info] and on Page | | [more info]) may be used to simplify bank modification. See the | | routine on Page | | [more info] for information on how to check the contents of a | | bank. | | | | Notes | | 1 | | The file description information will normally be left as zero, or | | set to the first and last record and block numbers. They could also be | | used to indicate a subset of a file. | | 2 | | The date and time fields are stored packed, using routine FMPKTM. | | They can be unpacked using routine FMUPTM. | +---------------------------------------------------------------------------+
############################## ##1########################### The file description information will normally be left as zero, or set to the first and last record and block numbers. They could also be used to indicate a subset of a file. 2 The date and time fields are stored packed, using routine FMPKTM. They can be unpacked using routine FMUPTM.

Disk file name

The disk file name should be entered in the format of the host operating system. For VM/CMS systems, the convention filename.filetype is used. If address is omitted, user may then be any valid entry in a GIMEUSER, GIMEGRP or GIMESYS names file. If not found in a GIME names file, the default address 191 will be used.

An extract from a GIME names file is given below:

:NICK.L3DSTS  :USERID.L3MAXI
              :ADDR.222
              :LINKMODE.RR
              :FILEMODE.E

Using this example, files such as RUN1.DST would be assumed to be on the 222 disk of user L3MAXI.

For VAX/VMS systems, the full file name, including disk and directory names should be entered.

Disk files and VAXclusters

If the FATMEN software finds that the current node is in the same cluster as the node specified in the FATMEN catalogue and the disk specified is available, it will treat the entry as if the file were on the current node.

      Example of valid disk file names for the cluster VXCERN
                                  

*     Create a valid entry in an existing FATMEN bank
      CALL UCTOH('VXCRNA',IQ(LFAT+MHSNFA),4,6)
*     or we could use the VAXcluster alias rather than current node name
      CALL UCTOH('VXCERN',IQ(LFAT+MHSNFA),4,6)
*     Create a valid disk file name
*     Note that logical name for disk is unique and consistant HEP-wide!
      CALL UCTOH('DELPHI$DK123:RUN567',
     +            IQ(LFAT+MFQNFA,4,35)

Disk files and DFS or NFS

The FATMEN system can use DFS[bib-DFS] or NFS[bib-NFS] to access a remote disk file, if the disk or file system on which it resides is mounted locally. Users are strongly recommended to adopt a convention for DFS and NFS names, so that the same name is used throughout a LAN. For DFS it is recommended that the disk in question have the same logical name on the system to which it is directly attached as on those where it is mounted via DFS. Thus, a disk on the central cluster with logical name VXCERN$DISK999 should be mounted remotely via DFS with the same logical name. If the FATMEN system finds a DFS device of the corresponding name on the local system, it will assume that the physical device to which it points is indeed the correct one. N.B. the FATMEN software currently considers only the 'system' logical name table (LNM$SYSTEMTABLE).

             Example of mounting a remote disk via DFS
                                  

$!Mount the VXCERN disk DELPHI$DK123
$!The 'access-point' is defined on VXCERN and points
$!to the disk in the previous example. This will allow
$!users on the current node to access data on this disk
$!that is catalogued in FATMEN transparently.
$RUN SYS$SYSTEM:DFS$CONTROL
DFS>mount access-point DELPHI$DK123 /SYSTEM
DFS>exit

If the dataset name in the FATMEN entry (MFQNFA) starts with a $, then on Unix systems FATMEN will assume that the text that follows up to the first slash character is an environmental variable and attempt to translate it. An example is given below.

 FM> ls C01 -gn # List full generic name and corresponding dataset name
 //CERN/OPAL/DDST/PASS4/FYZ1/P19R1973/C01
 Fileid:      $OPALDATA/fyz1/p19r1973.c01
 Files:    1
 FM>quit
[zfatal] > echo $OPALDATA
/u/ws/ddst
[zfatal] >
[zfatal] >
[zfatal] > telnet shift1
...
shift1 [2] printenv OPALDATA
/user/ws/data
shift1 [3]

Location code

This is an integer code indicating the LAN or site where the data resides. Currently, the only supported LAN is CERN, for which the location code is defined as 1. This code is used by the FATMEN system for a first pass selection of the best copy of a data set. The correspondance between the location code and the LAN will be stored in the FATMEN database itself.

Username (MCURFA)

This is obtained through QUERY USERID on VM/CMS systems, the $GETJPI system service on VAX/VMS and the getpwuid function on Unix.

Jobname (MCJIFA)

This is obtained through JOBNAM (CERN Program Library Entry Z100) on VM/CMS systems, the $GETQUI system service on VAX/VMS and the getpwuid function on Unix.

Account (MCIDFA)

This is obtained through the QUERY ACCOUNT command on VM/CMS, the $GETUAI system service on VAX/VMS or the getuid function on Unix.

Host name (MHSTFA, MCNIFA)

This is obtained through the QUERY USERID command on VM/CMS and the $GETSYI system service on VAX/VMS.

Host type (MHSTFA)

This is obtained through the QUERY CMSLEVEL command on VM/CMS and the $GETSYI system service on VAX.

Host Operating System (MHOSFA)

This is obtained using the CP QUERY USERID command on VM/CMS systems and the $GETSYI system service on VAX/VMS machines.