!*** MODULE $NAMDEF *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! ! name block field definitions ! ! the nam block is used to communicate optional ! filename-related information ! PARAMETER NAM$C_BID = '00000002'X ! code for nam block PARAMETER NAM$C_MAXRSS = '000000FF'X ! maximum resultant name string size (network) PARAMETER NAM$C_MAXRSSLCL = '000000FF'X ! maximum resultant name string size (local) PARAMETER NAM$M_PWD = '00000001'X PARAMETER NAM$M_FILL_1 = '00000002'X PARAMETER NAM$M_FILL_2 = '00000004'X PARAMETER NAM$M_SYNCHK = '00000008'X PARAMETER NAM$M_NOCONCEAL = '00000010'X PARAMETER NAM$M_SLPARSE = '00000020'X PARAMETER NAM$M_SRCHXABS = '00000040'X PARAMETER NAM$M_NO_SHORT_UPCASE = '00000080'X PARAMETER NAM$C_UFS = '00000000'X ! Unknown file system for remote file access or ! not applicable for local file access or PARAMETER NAM$C_NO_RFS = '00000000'X ! task-to-task operation PARAMETER NAM$C_RMS11 = '00000001'X ! RMS-11 PARAMETER NAM$C_RMS20 = '00000002'X ! RMS-20 PARAMETER NAM$C_RMS32 = '00000003'X ! RMS-32 PARAMETER NAM$C_FCS11 = '00000004'X ! FCS-11 PARAMETER NAM$C_RT11FS = '00000005'X ! RT-11 file system PARAMETER NAM$C_TOPS20FS = '00000007'X ! TOPS-20 file system PARAMETER NAM$C_TOPS10FS = '00000008'X ! TOPS-10 file system PARAMETER NAM$C_RMS32S = '0000000A'X ! RMS-32 subset (e.g., VAXELAN) PARAMETER NAM$C_CPMFS = '0000000B'X ! CP/M file system PARAMETER NAM$C_MS_DOSFS = '0000000C'X ! MS/DOS file system PARAMETER NAM$C_ULTRIX32_FS = '0000000D'X ! Ultrix-32 file system PARAMETER NAM$C_ULTRIX11_FS = '0000000E'X ! Ultrix-11 file system PARAMETER DAP$K_SNADTF_FS = '0000000F'X ! SNADTF compatable FS ! +++++++++++++++++++++++ PARAMETER NAM$C_DVI = '00000010'X ! length of dvi field ! +++++***** PARAMETER NAM$M_IFI = '00010000'X PARAMETER NAM$M_SRCHNMF = '40000000'X PARAMETER NAM$M_SVCTX = '80000000'X PARAMETER NAM$K_BLN_V2 = '00000038'X ! Version 2 name block length PARAMETER NAM$C_BLN_V2 = '00000038'X ! Version 2 name block length PARAMETER NAM$M_EXP_VER = '00000001'X PARAMETER NAM$M_EXP_TYPE = '00000002'X PARAMETER NAM$M_EXP_NAME = '00000004'X PARAMETER NAM$M_WILD_VER = '00000008'X PARAMETER NAM$M_WILD_TYPE = '00000010'X PARAMETER NAM$M_WILD_NAME = '00000020'X PARAMETER NAM$M_EXP_DIR = '00000040'X PARAMETER NAM$M_EXP_DEV = '00000080'X PARAMETER NAM$M_WILDCARD = '00000100'X PARAMETER NAM$M_DIR_LVLS_G7 = '00000200'X PARAMETER NAM$M_WILD_SFDG7 = '00000400'X PARAMETER NAM$M_SEARCH_LIST = '00000800'X PARAMETER NAM$M_CNCL_DEV = '00001000'X PARAMETER NAM$M_ROOT_DIR = '00002000'X PARAMETER NAM$M_LOWVER = '00004000'X PARAMETER NAM$M_HIGHVER = '00008000'X PARAMETER NAM$M_PPF = '00010000'X PARAMETER NAM$M_NODE = '00020000'X PARAMETER NAM$M_QUOTED = '00040000'X PARAMETER NAM$M_GRP_MBR = '00080000'X PARAMETER NAM$M_WILD_DIR = '00100000'X PARAMETER NAM$M_DIR_LVLS = '00E00000'X PARAMETER NAM$M_WILD_UFD = '01000000'X PARAMETER NAM$M_WILD_SFD1 = '02000000'X PARAMETER NAM$M_WILD_SFD2 = '04000000'X PARAMETER NAM$M_WILD_SFD3 = '08000000'X PARAMETER NAM$M_WILD_SFD4 = '10000000'X PARAMETER NAM$M_WILD_SFD5 = '20000000'X PARAMETER NAM$M_WILD_SFD6 = '40000000'X PARAMETER NAM$M_WILD_SFD7 = '80000000'X PARAMETER NAM$M_WILD_GRP = '01000000'X PARAMETER NAM$M_WILD_MBR = '02000000'X PARAMETER NAM$M_DID = '00000001'X PARAMETER NAM$M_FID = '00000002'X PARAMETER NAM$M_RES_DID = '00000004'X PARAMETER NAM$M_RES_FID = '00000008'X PARAMETER NAM$M_RES_ESCAPE = '00000010'X PARAMETER NAM$M_RES_UNICODE = '00000020'X STRUCTURE /NAMDEF/ BYTE NAM$B_BID ! block id BYTE NAM$B_BLN ! block length ! +++++++++++++++++++++++ ! the following 3 fields must not be rearranged relative to each other ! BYTE NAM$B_RSS ! resultant string area size BYTE NAM$B_RSL ! resultant string length INTEGER*4 NAM$L_RSA ! resultant string area address ! ----------------------- UNION MAP BYTE NAM$B_NOP ! Name options END MAP MAP PARAMETER NAM$S_PWD = 1 PARAMETER NAM$V_PWD = 0 ! Return password if present in nodespec string and any ! other task-specific data of the form /netacp_data" ! (default is to mask out password from expanded and ! resultant name strings and to create a logical name ! whose equivalence string is the unaltered nodespec) PARAMETER NAM$S_FILL_1 = 1 PARAMETER NAM$V_FILL_1 = 1 ! unused. (used to be undocumented ROD) PARAMETER NAM$S_FILL_2 = 1 PARAMETER NAM$V_FILL_2 = 2 ! unused. (used to be undocumented SOD) PARAMETER NAM$S_SYNCHK = 1 PARAMETER NAM$V_SYNCHK = 3 ! Only do syntax check on $parse operation PARAMETER NAM$S_NOCONCEAL = 1 PARAMETER NAM$V_NOCONCEAL = 4 ! Do not conceal device/root directory PARAMETER NAM$S_SLPARSE = 1 PARAMETER NAM$V_SLPARSE = 5 ! Parse search list (not documented) -- used by BACKUP. PARAMETER NAM$S_SRCHXABS = 1 PARAMETER NAM$V_SRCHXABS = 6 ! Fill in attached XABS on $SEARCH operations over the ! network (not documented) -- used by directory. PARAMETER NAM$S_NO_SHORT_UPCASE = 1 PARAMETER NAM$V_NO_SHORT_UPCASE = 7 BYTE %FILL (1) ! Don't upcase the ESA END MAP END UNION BYTE NAM$B_RFS ! Remote file system type (currently not documented) ! Note: This field is reserved for use by Digital ! the following 3 fields must not be rearranged relative to each other ! BYTE NAM$B_ESS ! expanded string area size BYTE NAM$B_ESL ! expanded string length INTEGER*4 NAM$L_ESA ! expanded string area address ! ----------------------- UNION MAP INTEGER*4 NAM$L_RLF ! related file nam block addr END MAP MAP INTEGER*4 NAM$L_RLF_NAML ! related file naml block addr END MAP END UNION CHARACTER*16 NAM$T_DVI ! device id ! the location of the following fields must not ! be changed due to their commonality with the fib UNION MAP INTEGER*2 NAM$W_FID(1:3) ! file id END MAP MAP INTEGER*2 NAM$W_FID_NUM ! file number INTEGER*2 NAM$W_FID_SEQ ! sequence number UNION MAP INTEGER*2 NAM$W_FID_RVN ! relative volume number END MAP MAP BYTE NAM$B_FID_RVN ! alternate format RVN BYTE NAM$B_FID_NMX ! alternate format file number extension END MAP END UNION END MAP END UNION UNION MAP INTEGER*2 NAM$W_DID(1:3) ! directory id END MAP MAP INTEGER*2 NAM$W_DID_NUM ! file number INTEGER*2 NAM$W_DID_SEQ ! sequence number UNION MAP INTEGER*2 NAM$W_DID_RVN ! relative volume number END MAP MAP BYTE NAM$B_DID_RVN ! alternate format RVN BYTE NAM$B_DID_NMX ! alternate format file number extension END MAP END UNION END MAP END UNION UNION MAP INTEGER*4 NAM$L_WCC ! wild card context END MAP MAP PARAMETER NAM$S_IFI = 1 PARAMETER NAM$V_IFI = 16 ! the first word contains an IFI PARAMETER NAM$S_SRCHNMF = 1 PARAMETER NAM$V_SRCHNMF = 30 ! no-more-files has been encountered on a search PARAMETER NAM$S_SVCTX = 1 PARAMETER NAM$V_SVCTX = 31 BYTE %FILL (1) ! save context across search calls END MAP END UNION UNION MAP INTEGER*4 NAM$L_FNB ! file name status bits END MAP MAP PARAMETER NAM$S_EXP_VER = 1 PARAMETER NAM$V_EXP_VER = 0 ! version was explicit PARAMETER NAM$S_EXP_TYPE = 1 PARAMETER NAM$V_EXP_TYPE = 1 ! type was explicit PARAMETER NAM$S_EXP_NAME = 1 PARAMETER NAM$V_EXP_NAME = 2 ! name was explicit PARAMETER NAM$S_WILD_VER = 1 PARAMETER NAM$V_WILD_VER = 3 ! version contained a wild card PARAMETER NAM$S_WILD_TYPE = 1 PARAMETER NAM$V_WILD_TYPE = 4 ! type contained a wild card PARAMETER NAM$S_WILD_NAME = 1 PARAMETER NAM$V_WILD_NAME = 5 ! name contained a wild card PARAMETER NAM$S_EXP_DIR = 1 PARAMETER NAM$V_EXP_DIR = 6 ! directory was explicit PARAMETER NAM$S_EXP_DEV = 1 PARAMETER NAM$V_EXP_DEV = 7 ! device was explicit PARAMETER NAM$S_WILDCARD = 1 PARAMETER NAM$V_WILDCARD = 8 ! filename string included a wild card ! (inclusive or of other wild card bits) PARAMETER NAM$S_DIR_LVLS_G7 = 1 PARAMETER NAM$V_DIR_LVLS_G7 = 9 ! Dir levels greater than 7 PARAMETER NAM$S_WILD_SFDG7 = 1 PARAMETER NAM$V_WILD_SFDG7 = 10 ! A subdir greater than 7 has a wildcard PARAMETER NAM$S_SEARCH_LIST = 1 PARAMETER NAM$V_SEARCH_LIST = 11 ! search list present PARAMETER NAM$S_CNCL_DEV = 1 PARAMETER NAM$V_CNCL_DEV = 12 ! concealed device present PARAMETER NAM$S_ROOT_DIR = 1 PARAMETER NAM$V_ROOT_DIR = 13 ! root directory present PARAMETER NAM$S_LOWVER = 1 PARAMETER NAM$V_LOWVER = 14 ! lower numbered version(s) of file exist(s) PARAMETER NAM$S_HIGHVER = 1 PARAMETER NAM$V_HIGHVER = 15 ! higher " ! PARAMETER NAM$S_PPF = 1 PARAMETER NAM$V_PPF = 16 ! process-permanent file referenced indirectly PARAMETER NAM$S_NODE = 1 PARAMETER NAM$V_NODE = 17 ! filename specification included a nodename PARAMETER NAM$S_QUOTED = 1 PARAMETER NAM$V_QUOTED = 18 ! filename spec included a quoted string PARAMETER NAM$S_GRP_MBR = 1 PARAMETER NAM$V_GRP_MBR = 19 ! directory spec was of group-member format PARAMETER NAM$S_WILD_DIR = 1 PARAMETER NAM$V_WILD_DIR = 20 ! directory spec included a wild card PARAMETER NAM$S_DIR_LVLS = 3 PARAMETER NAM$V_DIR_LVLS = 21 BYTE %FILL (3) ! number of directory levels (0=ufd only) END MAP MAP PARAMETER NAM$S_WILD_UFD = 1 PARAMETER NAM$V_WILD_UFD = 24 ! ufd included a wild card PARAMETER NAM$S_WILD_SFD1 = 1 PARAMETER NAM$V_WILD_SFD1 = 25 ! sfd1 included a wild card PARAMETER NAM$S_WILD_SFD2 = 1 PARAMETER NAM$V_WILD_SFD2 = 26 ! sfd2 included a wild card PARAMETER NAM$S_WILD_SFD3 = 1 PARAMETER NAM$V_WILD_SFD3 = 27 ! sfd3 included a wild card PARAMETER NAM$S_WILD_SFD4 = 1 PARAMETER NAM$V_WILD_SFD4 = 28 ! sfd4 included a wild card PARAMETER NAM$S_WILD_SFD5 = 1 PARAMETER NAM$V_WILD_SFD5 = 29 ! sfd5 included a wild card PARAMETER NAM$S_WILD_SFD6 = 1 PARAMETER NAM$V_WILD_SFD6 = 30 ! sfd6 included a wild card PARAMETER NAM$S_WILD_SFD7 = 1 PARAMETER NAM$V_WILD_SFD7 = 31 BYTE %FILL (1) ! sfd7 included a wild card END MAP MAP PARAMETER NAM$S_WILD_GRP = 1 PARAMETER NAM$V_WILD_GRP = 24 ! group contained a wild card PARAMETER NAM$S_WILD_MBR = 1 PARAMETER NAM$V_WILD_MBR = 25 ! member contained a wild card BYTE %FILL (1) END MAP ! -----***** ! (prior to 40 byte extension) ! ! Extend the NAM block by 40 bytes. ! END UNION BYTE NAM$B_NODE ! Nodespec length BYTE NAM$B_DEV ! Device length BYTE NAM$B_DIR ! Directory length BYTE NAM$B_NAME ! Filename length BYTE NAM$B_TYPE ! Filetype length BYTE NAM$B_VER ! Version number length UNION MAP BYTE NAM$B_NMC END MAP MAP PARAMETER NAM$S_DID = 1 PARAMETER NAM$V_DID = 0 ! Input file spec DIDed PARAMETER NAM$S_FID = 1 PARAMETER NAM$V_FID = 1 ! Input file spec FIDed PARAMETER NAM$S_RES_DID = 1 PARAMETER NAM$V_RES_DID = 2 ! Result or Exp string spec DIDed PARAMETER NAM$S_RES_FID = 1 PARAMETER NAM$V_RES_FID = 3 ! Result or Exp string spec FIDed PARAMETER NAM$S_RES_ESCAPE = 1 PARAMETER NAM$V_RES_ESCAPE = 4 ! Result or Exp string spec has "^" PARAMETER NAM$S_RES_UNICODE = 1 PARAMETER NAM$V_RES_UNICODE = 5 ! Result or Exp string spec contains ^U BYTE %FILL (1) END MAP END UNION BYTE %FILL(1:1) ! Currently unused INTEGER*4 NAM$L_NODE ! Nodespec address INTEGER*4 NAM$L_DEV ! Device address INTEGER*4 NAM$L_DIR ! Directory address INTEGER*4 NAM$L_NAME ! Filename address INTEGER*4 NAM$L_TYPE ! Filetype address INTEGER*4 NAM$L_VER ! Version number address INTEGER*2 NAM$W_FIRST_WILD_DIR ! First wild directory in related nam INTEGER*2 NAM$W_LONG_DIR_LEVELS ! Total number of directories INTEGER*4 %FILL(1:1) ! Currently unused END STRUCTURE ! NAMDEF ! basealign on aggregate NAMDEF operates after aggregate end PARAMETER NAM$K_BLN_DIRWC = '00000060'X ! Not documented optional length PARAMETER NAM$C_BLN_DIRWC = '00000060'X ! Not documented optional length PARAMETER NAM$K_BLN = '00000060'X ! Name block length PARAMETER NAM$C_BLN = '00000060'X ! Name block length ! Start NAML here ! ! name block field definitions ! ! The naml block is an extended version of the NAM ! block used to communicate optional filename-related ! information. It differs from the NAM in that it ! includes a default name and a file name field and that ! these as well as the result and expanded file names ! have 32-bit length fields (though the top 16 bits is ! required to be 0, limiting the length to 65535). There ! are also some additional flags available. ! ! In order for RMS to recognize this block as a NAML, it must ! have NAML$B_BLN set to NAML$C_BLN, and must have ! NAML$B_BID set to NAML$C_BID. ! PARAMETER NAML$C_BID = '00000004'X ! code for naml block ! (Same as nam) PARAMETER NAML$C_MAXRSS = '00000FFF'X ! maximum resultant name string size PARAMETER NAML$M_PWD = '00000001'X PARAMETER NAML$M_FILL_1 = '00000002'X PARAMETER NAML$M_FILL_2 = '00000004'X PARAMETER NAML$M_SYNCHK = '00000008'X PARAMETER NAML$M_NOCONCEAL = '00000010'X PARAMETER NAML$M_SLPARSE = '00000020'X PARAMETER NAML$M_SRCHXABS = '00000040'X PARAMETER NAML$M_NO_SHORT_UPCASE = '00000080'X PARAMETER NAML$C_UFS = '00000000'X ! Unknown file system for remote file access or ! not applicable for local file access or PARAMETER NAML$C_NO_RFS = '00000000'X ! task-to-task operation PARAMETER NAML$C_RMS11 = '00000001'X ! RMS-11 PARAMETER NAML$C_RMS20 = '00000002'X ! RMS-20 PARAMETER NAML$C_RMS32 = '00000003'X ! RMS-32 PARAMETER NAML$C_FCS11 = '00000004'X ! FCS-11 PARAMETER NAML$C_RT11FS = '00000005'X ! RT-11 file system PARAMETER NAML$C_TOPS20FS = '00000007'X ! TOPS-20 file system PARAMETER NAML$C_TOPS10FS = '00000008'X ! TOPS-10 file system PARAMETER NAML$C_RMS32S = '0000000A'X ! RMS-32 subset (e.g., VAXELAN) PARAMETER NAML$C_CPMFS = '0000000B'X ! CP/M file system PARAMETER NAML$C_MS_DOSFS = '0000000C'X ! MS/DOS file system PARAMETER NAML$C_ULTRIX32_FS = '0000000D'X ! Ultrix-32 file system PARAMETER NAML$C_ULTRIX11_FS = '0000000E'X ! Ultrix-11 file system ! +++++++++++++++++++++++ PARAMETER NAML$C_DVI = '00000010'X ! length of dvi field ! +++++***** PARAMETER NAML$M_IFI = '00010000'X PARAMETER NAML$M_SRCHNMF = '40000000'X PARAMETER NAML$M_SVCTX = '80000000'X PARAMETER NAML$K_BLN_V2 = '00000038'X ! Version 2 name block length PARAMETER NAML$C_BLN_V2 = '00000038'X ! Version 2 name block length PARAMETER NAML$M_EXP_VER = '00000001'X PARAMETER NAML$M_EXP_TYPE = '00000002'X PARAMETER NAML$M_EXP_NAME = '00000004'X PARAMETER NAML$M_WILD_VER = '00000008'X PARAMETER NAML$M_WILD_TYPE = '00000010'X PARAMETER NAML$M_WILD_NAME = '00000020'X PARAMETER NAML$M_EXP_DIR = '00000040'X PARAMETER NAML$M_EXP_DEV = '00000080'X PARAMETER NAML$M_WILDCARD = '00000100'X PARAMETER NAML$M_DIR_LVLS_G7 = '00000200'X PARAMETER NAML$M_WILD_SFDG7 = '00000400'X PARAMETER NAML$M_SEARCH_LIST = '00000800'X PARAMETER NAML$M_CNCL_DEV = '00001000'X PARAMETER NAML$M_ROOT_DIR = '00002000'X PARAMETER NAML$M_LOWVER = '00004000'X PARAMETER NAML$M_HIGHVER = '00008000'X PARAMETER NAML$M_PPF = '00010000'X PARAMETER NAML$M_NODE = '00020000'X PARAMETER NAML$M_QUOTED = '00040000'X PARAMETER NAML$M_GRP_MBR = '00080000'X PARAMETER NAML$M_WILD_DIR = '00100000'X PARAMETER NAML$M_DIR_LVLS = '00E00000'X PARAMETER NAML$M_WILD_UFD = '01000000'X PARAMETER NAML$M_WILD_SFD1 = '02000000'X PARAMETER NAML$M_WILD_SFD2 = '04000000'X PARAMETER NAML$M_WILD_SFD3 = '08000000'X PARAMETER NAML$M_WILD_SFD4 = '10000000'X PARAMETER NAML$M_WILD_SFD5 = '20000000'X PARAMETER NAML$M_WILD_SFD6 = '40000000'X PARAMETER NAML$M_WILD_SFD7 = '80000000'X PARAMETER NAML$M_WILD_GRP = '01000000'X PARAMETER NAML$M_WILD_MBR = '02000000'X PARAMETER NAML$M_DID = '00000001'X PARAMETER NAML$M_FID = '00000002'X PARAMETER NAML$M_RES_DID = '00000004'X PARAMETER NAML$M_RES_FID = '00000008'X PARAMETER NAML$M_RES_ESCAPE = '00000010'X PARAMETER NAML$M_RES_UNICODE = '00000020'X PARAMETER NAML$M_LONG_RESULT_ESCAPE = '00000001'X PARAMETER NAML$M_FILESYS_NAME_UCS2 = '00000002'X PARAMETER NAML$M_LONG_RESULT_DID = '00000004'X PARAMETER NAML$M_LONG_RESULT_FID = '00000008'X PARAMETER NAML$M_LONG_RESULT_UNICODE = '00000010'X PARAMETER NAML$M_MP_IN_PATH = '00000020'X PARAMETER NAML$M_SYMLNK_IN_PATH = '00000040'X PARAMETER NAML$M_OBJECT_SYMLINK = '00000080'X PARAMETER NAML$M_IS_DIRECTORY = '00000100'X PARAMETER NAML$M_NO_SHORT_OUTPUT = '00000001'X PARAMETER NAML$C_CASE_LOOKUP_BLIND = '00000002'X ! case blind PARAMETER NAML$C_CASE_LOOKUP_SENSITIVE = '00000003'X ! case sensitive PARAMETER NAML$M_OPEN_SPECIAL = '00000008'X PARAMETER NAML$M_SEARCH_SYMLINK = '00000010'X STRUCTURE /NAMLDEF/ BYTE NAML$B_BID ! block id BYTE NAML$B_BLN ! block length ! +++++++++++++++++++++++ ! the following 3 fields must not be rearranged relative to each other ! BYTE NAML$B_RSS ! resultant string area size BYTE NAML$B_RSL ! resultant string length INTEGER*4 NAML$L_RSA ! resultant string area address ! ----------------------- UNION MAP BYTE NAML$B_NOP ! Name options END MAP MAP PARAMETER NAML$S_PWD = 1 PARAMETER NAML$V_PWD = 0 ! Return password if present in nodespec string and any ! other task-specific data of the form /netacp_data" ! (default is to mask out password from expanded and ! resultant name strings and to create a logical name ! whose equivalence string is the unaltered nodespec) PARAMETER NAML$S_FILL_1 = 1 PARAMETER NAML$V_FILL_1 = 1 ! unused. (used to be undocumented ROD) PARAMETER NAML$S_FILL_2 = 1 PARAMETER NAML$V_FILL_2 = 2 ! unused. (used to be undocumented SOD) PARAMETER NAML$S_SYNCHK = 1 PARAMETER NAML$V_SYNCHK = 3 ! Only do syntax check on $parse operation PARAMETER NAML$S_NOCONCEAL = 1 PARAMETER NAML$V_NOCONCEAL = 4 ! Do not conceal device/root directory PARAMETER NAML$S_SLPARSE = 1 PARAMETER NAML$V_SLPARSE = 5 ! Parse search list (not documented) -- used by BACKUP. PARAMETER NAML$S_SRCHXABS = 1 PARAMETER NAML$V_SRCHXABS = 6 ! Fill in attached XABS on $SEARCH operations over the ! network (not documented) -- used by directory. PARAMETER NAML$S_NO_SHORT_UPCASE = 1 PARAMETER NAML$V_NO_SHORT_UPCASE = 7 BYTE %FILL (1) ! Don't upcase the ESA END MAP END UNION BYTE NAML$B_RFS ! Remote file system type (currently not documented) ! Note: This field is reserved for use by Digital ! the following 3 fields must not be rearranged relative to each other ! BYTE NAML$B_ESS ! espanded string area size BYTE NAML$B_ESL ! expanded string length INTEGER*4 NAML$L_ESA ! expanded string area address ! ----------------------- UNION MAP INTEGER*4 NAML$L_RLF ! related file nam block addr END MAP MAP INTEGER*4 NAML$L_RLF_NAML ! related file naml block addr END MAP END UNION CHARACTER*16 NAML$T_DVI ! device id ! the location of the following fields must not ! be changed due to their commonality with the fib UNION MAP INTEGER*2 NAML$W_FID(1:3) ! file id END MAP MAP INTEGER*2 NAML$W_FID_NUM ! file number INTEGER*2 NAML$W_FID_SEQ ! sequence number UNION MAP INTEGER*2 NAML$W_FID_RVN ! relative volume number END MAP MAP BYTE NAML$B_FID_RVN ! alternate format RVN BYTE NAML$B_FID_NMX ! alternate format file number extension END MAP END UNION END MAP END UNION UNION MAP INTEGER*2 NAML$W_DID(1:3) ! directory id END MAP MAP INTEGER*2 NAML$W_DID_NUM ! file number INTEGER*2 NAML$W_DID_SEQ ! sequence number UNION MAP INTEGER*2 NAML$W_DID_RVN ! relative volume number END MAP MAP BYTE NAML$B_DID_RVN ! alternate format RVN BYTE NAML$B_DID_NMX ! alternate format file number extension END MAP END UNION END MAP END UNION UNION MAP INTEGER*4 NAML$L_WCC ! wild card context END MAP MAP PARAMETER NAML$S_IFI = 1 PARAMETER NAML$V_IFI = 16 ! the first word contains an IFI PARAMETER NAML$S_SRCHNMF = 1 PARAMETER NAML$V_SRCHNMF = 30 ! no-more-files has been encountered on a search PARAMETER NAML$S_SVCTX = 1 PARAMETER NAML$V_SVCTX = 31 BYTE %FILL (1) ! save context across search calls END MAP END UNION UNION MAP INTEGER*4 NAML$L_FNB ! file name status bits END MAP MAP PARAMETER NAML$S_EXP_VER = 1 PARAMETER NAML$V_EXP_VER = 0 ! version was explicit PARAMETER NAML$S_EXP_TYPE = 1 PARAMETER NAML$V_EXP_TYPE = 1 ! type was explicit PARAMETER NAML$S_EXP_NAME = 1 PARAMETER NAML$V_EXP_NAME = 2 ! name was explicit PARAMETER NAML$S_WILD_VER = 1 PARAMETER NAML$V_WILD_VER = 3 ! version contained a wild card PARAMETER NAML$S_WILD_TYPE = 1 PARAMETER NAML$V_WILD_TYPE = 4 ! type contained a wild card PARAMETER NAML$S_WILD_NAME = 1 PARAMETER NAML$V_WILD_NAME = 5 ! name contained a wild card PARAMETER NAML$S_EXP_DIR = 1 PARAMETER NAML$V_EXP_DIR = 6 ! directory was explicit PARAMETER NAML$S_EXP_DEV = 1 PARAMETER NAML$V_EXP_DEV = 7 ! device was explicit PARAMETER NAML$S_WILDCARD = 1 PARAMETER NAML$V_WILDCARD = 8 ! filename string included a wild card ! (inclusive or of other wild card bits) PARAMETER NAML$S_DIR_LVLS_G7 = 1 PARAMETER NAML$V_DIR_LVLS_G7 = 9 ! Dir levels greater than 7 PARAMETER NAML$S_WILD_SFDG7 = 1 PARAMETER NAML$V_WILD_SFDG7 = 10 ! A subdir greater than 7 has a wildcard PARAMETER NAML$S_SEARCH_LIST = 1 PARAMETER NAML$V_SEARCH_LIST = 11 ! search list present PARAMETER NAML$S_CNCL_DEV = 1 PARAMETER NAML$V_CNCL_DEV = 12 ! concealed device present PARAMETER NAML$S_ROOT_DIR = 1 PARAMETER NAML$V_ROOT_DIR = 13 ! root directory present PARAMETER NAML$S_LOWVER = 1 PARAMETER NAML$V_LOWVER = 14 ! lower numbered version(s) of file exist(s) PARAMETER NAML$S_HIGHVER = 1 PARAMETER NAML$V_HIGHVER = 15 ! higher " ! PARAMETER NAML$S_PPF = 1 PARAMETER NAML$V_PPF = 16 ! process-permanent file referenced indirectly PARAMETER NAML$S_NODE = 1 PARAMETER NAML$V_NODE = 17 ! filename specification included a nodename PARAMETER NAML$S_QUOTED = 1 PARAMETER NAML$V_QUOTED = 18 ! filename spec included a quoted string PARAMETER NAML$S_GRP_MBR = 1 PARAMETER NAML$V_GRP_MBR = 19 ! directory spec was of group-member format PARAMETER NAML$S_WILD_DIR = 1 PARAMETER NAML$V_WILD_DIR = 20 ! directory spec included a wild card PARAMETER NAML$S_DIR_LVLS = 3 PARAMETER NAML$V_DIR_LVLS = 21 BYTE %FILL (3) ! number of directory levels (0=ufd only) END MAP MAP PARAMETER NAML$S_WILD_UFD = 1 PARAMETER NAML$V_WILD_UFD = 24 ! ufd included a wild card PARAMETER NAML$S_WILD_SFD1 = 1 PARAMETER NAML$V_WILD_SFD1 = 25 ! sfd1 included a wild card PARAMETER NAML$S_WILD_SFD2 = 1 PARAMETER NAML$V_WILD_SFD2 = 26 ! sfd2 included a wild card PARAMETER NAML$S_WILD_SFD3 = 1 PARAMETER NAML$V_WILD_SFD3 = 27 ! sfd3 included a wild card PARAMETER NAML$S_WILD_SFD4 = 1 PARAMETER NAML$V_WILD_SFD4 = 28 ! sfd4 included a wild card PARAMETER NAML$S_WILD_SFD5 = 1 PARAMETER NAML$V_WILD_SFD5 = 29 ! sfd5 included a wild card PARAMETER NAML$S_WILD_SFD6 = 1 PARAMETER NAML$V_WILD_SFD6 = 30 ! sfd6 included a wild card PARAMETER NAML$S_WILD_SFD7 = 1 PARAMETER NAML$V_WILD_SFD7 = 31 BYTE %FILL (1) ! sfd7 included a wild card END MAP MAP PARAMETER NAML$S_WILD_GRP = 1 PARAMETER NAML$V_WILD_GRP = 24 ! group contained a wild card PARAMETER NAML$S_WILD_MBR = 1 PARAMETER NAML$V_WILD_MBR = 25 ! member contained a wild card BYTE %FILL (1) END MAP END UNION BYTE NAML$B_NODE ! Nodespec length BYTE NAML$B_DEV ! Device length BYTE NAML$B_DIR ! Directory length BYTE NAML$B_NAME ! Filename length BYTE NAML$B_TYPE ! Filetype length BYTE NAML$B_VER ! Version number length UNION MAP BYTE NAML$B_NMC END MAP MAP PARAMETER NAML$S_DID = 1 PARAMETER NAML$V_DID = 0 ! Input file spec DIDed PARAMETER NAML$S_FID = 1 PARAMETER NAML$V_FID = 1 ! Input file spec FIDed PARAMETER NAML$S_RES_DID = 1 PARAMETER NAML$V_RES_DID = 2 ! Result or Exp string spec DIDed PARAMETER NAML$S_RES_FID = 1 PARAMETER NAML$V_RES_FID = 3 ! Result or Exp string spec FIDed PARAMETER NAML$S_RES_ESCAPE = 1 PARAMETER NAML$V_RES_ESCAPE = 4 ! Result or Exp string spec has "^" PARAMETER NAML$S_RES_UNICODE = 1 PARAMETER NAML$V_RES_UNICODE = 5 ! Result or Exp string spec contains ^U BYTE %FILL (1) END MAP END UNION BYTE %FILL(1:1) ! Currently unused INTEGER*4 NAML$L_NODE ! Nodespec address INTEGER*4 NAML$L_DEV ! Device address INTEGER*4 NAML$L_DIR ! Directory address INTEGER*4 NAML$L_NAME ! Filename address INTEGER*4 NAML$L_TYPE ! Filetype address INTEGER*4 NAML$L_VER ! Version number address INTEGER*2 NAML$W_FIRST_WILD_DIR ! First wild directory in related nam INTEGER*2 NAML$W_LONG_DIR_LEVELS ! Total number of directories INTEGER*4 %FILL(1:1) ! Currently unused ! New NAML-only items: INTEGER*4 NAML$L_LONG_DEFNAME_SIZE ! Analogous to FAB$B_DNS INTEGER*4 NAML$L_LONG_DEFNAME ! Analogous to FAB$L_DNS INTEGER*4 NAML$L_LONG_FILENAME_SIZE ! Analogous to FAB$B_FNS INTEGER*4 NAML$L_LONG_FILENAME ! Analogous to FAB$L_FNS INTEGER*4 NAML$L_LONG_NODE_SIZE ! Analogous to NAM$B_NODE INTEGER*4 NAML$L_LONG_NODE ! Analogous to NAM$L_NODE INTEGER*4 NAML$L_LONG_DEV_SIZE ! Analogous to NAM$B_DEV INTEGER*4 NAML$L_LONG_DEV ! Analogous to NAM$L_DEV INTEGER*4 NAML$L_LONG_DIR_SIZE ! Analogous to NAM$B_DIR INTEGER*4 NAML$L_LONG_DIR ! Analogous to NAM$L_DIR INTEGER*4 NAML$L_LONG_NAME_SIZE ! Analogous to NAM$B_NAME INTEGER*4 NAML$L_LONG_NAME ! Analogous to NAM$L_NAME INTEGER*4 NAML$L_LONG_TYPE_SIZE ! Analogous to NAM$B_TYPE INTEGER*4 NAML$L_LONG_TYPE ! Analogous to NAM$L_TYPE INTEGER*4 NAML$L_LONG_VER_SIZE ! Analogous to NAM$B_VER INTEGER*4 NAML$L_LONG_VER ! Analogous to NAM$L_VER ! The following three "LONG_EXPAND" fields must be fixed relative to each other INTEGER*4 NAML$L_LONG_EXPAND_SIZE ! Analogous to NAM$B_ESL INTEGER*4 NAML$L_LONG_EXPAND ! Analogous to NAM$L_ESA INTEGER*4 NAML$L_LONG_EXPAND_ALLOC ! Analogous to NAM$B_ESS INTEGER*4 NAML$L_RESERVED_MBZ_9 ! The following three "LONG_RESULT" fields must be fixed relative to each other INTEGER*4 NAML$L_LONG_RESULT_SIZE ! Analogous to NAM$B_RSL INTEGER*4 NAML$L_LONG_RESULT ! Analogous to NAM$L_RSA INTEGER*4 NAML$L_LONG_RESULT_ALLOC ! Analogous to NAM$B_RSS INTEGER*4 NAML$L_RESERVED_MBZ_8 ! Reserved to Digital for future use. Must be zero. ! The following three "FILESYS_NAME" fields must be fixed relative to each other INTEGER*4 NAML$L_FILESYS_NAME_SIZE INTEGER*4 NAML$L_FILESYS_NAME INTEGER*4 NAML$L_FILESYS_NAME_ALLOC UNION MAP INTEGER*4 NAML$L_OUTPUT_FLAGS END MAP MAP PARAMETER NAML$S_LONG_RESULT_ESCAPE = 1 PARAMETER NAML$V_LONG_RESULT_ESCAPE = 0 ! There is an escape character in the long ou PARAMETER NAML$S_FILESYS_NAME_UCS2 = 1 PARAMETER NAML$V_FILESYS_NAME_UCS2 = 1 ! The filesys name output is 2-byte Unicode PARAMETER NAML$S_LONG_RESULT_DID = 1 PARAMETER NAML$V_LONG_RESULT_DID = 2 ! There is DIDding in the long output PARAMETER NAML$S_LONG_RESULT_FID = 1 PARAMETER NAML$V_LONG_RESULT_FID = 3 ! There is FIDding in the long output PARAMETER NAML$S_LONG_RESULT_UNICODE = 1 PARAMETER NAML$V_LONG_RESULT_UNICODE = 4 ! Long Result or Exp string spec contains ^U PARAMETER NAML$S_MP_IN_PATH = 1 PARAMETER NAML$V_MP_IN_PATH = 5 ! mount point encountered in directory path PARAMETER NAML$S_SYMLNK_IN_PATH = 1 PARAMETER NAML$V_SYMLNK_IN_PATH = 6 ! symlink encountered in directory path PARAMETER NAML$S_OBJECT_SYMLINK = 1 PARAMETER NAML$V_OBJECT_SYMLINK = 7 ! The specified object is a symlink ($OPEN, $SEAR PARAMETER NAML$S_IS_DIRECTORY = 1 PARAMETER NAML$V_IS_DIRECTORY = 8 ! The specified object is a directory ($OPEN, $SEAR BYTE %FILL (2) END MAP ! The rest of the longword also reserved. END UNION UNION MAP INTEGER*4 NAML$L_INPUT_FLAGS END MAP MAP PARAMETER NAML$S_NO_SHORT_OUTPUT = 1 PARAMETER NAML$V_NO_SHORT_OUTPUT = 0 ! Don't write to RSA and ESA PARAMETER NAML$S_CASE_LOOKUP = 2 PARAMETER NAML$V_CASE_LOOKUP = 1 ! name case lookup mode PARAMETER NAML$S_OPEN_SPECIAL = 1 PARAMETER NAML$V_OPEN_SPECIAL = 3 ! $OPEN a special file, rather than the ! object referred to by the special file. PARAMETER NAML$S_SEARCH_SYMLINK = 1 PARAMETER NAML$V_SEARCH_SYMLINK = 4 ! Cause $SEARCH to check resultant files ! for symlinks, and return DVI/FID for the ! referenced file. BYTE %FILL (1) END MAP ! The rest of the longword also reserved and must be zero. END UNION INTEGER*4 NAML$L_RESERVED_MBZ_7 ! Reserved to Digital for future use. Must be zero. INTEGER*4 NAML$Q_USER_CONTEXT(2) INTEGER*4 NAML$L_RESERVED_MBZ_6 ! Reserved to Digital for future use. Must be zero. INTEGER*4 NAML$L_RESERVED_MBZ_5 ! Reserved to Digital for future use. Must be zero. INTEGER*4 NAML$L_RESERVED_MBZ_4 ! Reserved to Digital for future use. Must be zero. INTEGER*4 NAML$L_RESERVED_MBZ_3 ! Reserved to Digital for future use. Must be zero. INTEGER*4 NAML$L_RESERVED_MBZ_2 ! Reserved to Digital for future use. Must be zero. INTEGER*4 NAML$L_RESERVED_MBZ_1 ! Reserved to Digital for future use. Must be zero. END STRUCTURE ! NAMLDEF ! basealign on aggregate NAMLDEF operates after aggregate end PARAMETER NAML$K_BLN = '000000F8'X ! Name block length PARAMETER NAML$C_BLN = '000000F8'X ! Name block length !DEC$ END OPTIONS