% VAX-11 Librarian V04-00^D@TR2UST $CINDEFn$DIBDEF $DQFDEF $FAB+:$FATDEF0@$FIBDEFGT$NAFDEFIV$NAMb $NETAGS_DEFg$NET_DEFj $PCBSTSDEFq$$PSMDEFw $RAB$RSC_DEF$SHRDEF$SMBDEF$SMGDEF$SMRDEF$UAB_DEF$UAFDEF$UCBSTS$XAB&DESCRIP2+LEX.P MSGTYPDEF0NODEDEFS9PMLUSE< REQRPYFLG@ UABFLGDEFEVAXTYPES@Ɯ /*+ $CINDEF4 Connect to interrupt definitions for QIO parameters*/=/* Extracted from V4.4 SYS$LIBRARY:LIB.REQ on 10-Jun-1986 */#define CIN$M_EFN 0X1#define CIN$M_USECAL 0X2#define CIN$M_REPEAT 0X4#define CIN$M_AST 0X8#define CIN$M_INIDEV 0X10#define CIN$M_START 0X20#define CIN$M_ISR 0X40#define CIN$M_CANCEL 0X80#define CIN$M_EFNUM 0XFFFF0000#define CIN$S_CINDEF 47#define CIN$V_EFN 0 /* set event flag on interrupt. */1#define CIN$V_US ECAL 1 /* use call interface. */<#define CIN$V_REPEAT 2 /* do repeated interrupt service. */2#define CIN$V_AST 3 /* queue ast on interrupt. */:#define CIN$V_INIDEV 4 /* device initialization to do. *//#define CIN$V_START 5 /* start i/o routine. */*#define CIN$V_ISR 6 /* isr to execute. */1#define CIN$V_CANCEL 7 /* cancel i/o routine. */#define CIN$V_EFNUM 160#define CIN$S_EFNUM 16 /* event flag number. */struct cindef$r_flags {? unsigned cin$v_efn : 1; /* set event flag  on interrupt. */9 unsigned cin$v_usecal : 1; /* use call interface. */D unsigned cin$v_repeat : 1; /* do repeated interrupt service. */: unsigned cin$v_ast : 1; /* queue ast on interrupt. */B unsigned cin$v_inidev : 1; /* device initialization to do. */7 unsigned cin$v_start : 1; /* start i/o routine. */2 unsigned cin$v_isr : 1; /* isr to execute. */9 unsigned cin$v_cancel : 1; /* cancel i/o routine. */ unsigned : 8;7 unsigned cin$v_efnum : 16; /* event flag number */ };struct cindef$r_entry_points {D unsigned long cin$l_inidev; /* offset to device init routine. */D unsigned long cin$l_start; /* offset to start device routine. */G unsigned long cin$l_isr; /* offset to interrupt service routine. */C unsigned long cin$l_cancel; /* offset to cancel i/o routine. */ };ww@! /*+ $DIBDEF. Module ($DIBDEF) of SYS$LIBRARY:LCLCDEF.TLB.C Defines a structure (struct dib$buffer) for the device inform ationA buffer returned by the $GETDEV and $GETCHN system services. TheI field names are the same as the offset names given in the documentation.-*/?/* Extracted $DIBDEF from SYS$LIBRARY:STARLET on 8-SEP-1982 */struct dib$buffer {7 long dib$l_devchar; /* Device characteristics bits */1 unsigned char dib$b_devclass; /* Device class *// unsigned char dib$b_devtype; /* Device type */9 unsigned short dib$w_devbufsiz; /* Device buffer size */: long dib$l_devdepend; /* Device depe ndent information */- unsigned short dib$w_unit; /* Unit number */C unsigned short dib$w_devnamoff; /* Offset to device name string */2 long dib$l_pid; /* Process id of device owner */+ long dib$l_ownuic; /* Device owner UIC */1 short dib$w_vprot; /* Volume protection mask *// unsigned short dib$w_errcnt; /* Error count */1 unsigned long dib$l_opcnt; /* Operation count */D unsigned short dib$w_volnamoff; /* Offset to volume label string */A unsigned short dib$w_recsiz; /* Blocked rec ord size (magtape) */=#define DIB$S_DEVNAME 76 /* Length of device name buffer */: char dib$t_devname[DIB$S_DEVNAME]; /* Counted string! */C unsigned long dib$l_maxblock; /* Disk: number of logical blocks */ };struct { unsigned : 32; unsigned : 32; /* Disk devices */1 unsigned char dib$b_sectors; /* sectors/track */2 unsigned char dib$b_tracks; /* tracks/cylinder */7 unsigned short dib$w_cylinders; /* cylinders/volume */ };9#define DIB$C_LENGTH 116 /* length o f total buffer */9#define DIB$K_LENGTH 116 /* length of total buffer *//* End of $DIBDEF module.*/ww# /*+ $DQFDEF. Module ($DQFDEF) of SYS$LIBRARY:LCLCDEF.TLB.C Defines the DQF structure for the disk quota file record used with the ACPCONTROL I/O function.-*/:/* Extracted $DQFDEF from SYS$LIBRARY:LIB on 7-JUL-1983*/A#define DQF$C_LENGTH 0X20 /* Length of the record in bytes */A#define DQF$K_LENGTH 0X20 /* Length of the record in bytes */ struct DQF {0 unsigned long dqf$l_flags; /* Flags longword */@#define DQF$M_ACTIVE 0X01 /* Record contains active entry */=#define DQF$V_ACTIVE 0 /* Record contains active entry */2 unsigned long dqf$l_uic; /* UIC of this record */9 unsigned long dqf$l_usage; /* Number of blocks in use */: unsigned long dqf$l_permquota; /* Permanent disk quota */5 unsigned long dqf$l_overdraft; /* Overdraft limit */ unsigned : 32; unsigned : 32; unsigned : 32; };/* End of $DQFDEF module.*/ww` *)/* FAB - File Access Block Definitions */8/* Extracted from VAXCDEF.TLB and edited on 28-Jun-86 */ struct $FAB {< unsigned char fab$b_bid; /* block identification */.#define FAB$C_BID 3 /* block id constant */5 unsigned char fab$b_bln; /* block length */>#define FAB$C_BLN 80 /* block length constant (80 bytes) */#define FAB$K_BLN 80  variant_union {D unsigned short fab$w_ifi; /* internal file identifier */F#define FAB$V_PPF_RAT 6 /* rat value for process-permanent files */#define FAB$S_PPF_RAT 80#define FAB$M_PPF_RAT (0x0ff << FAB$V_PPF_RAT)K#define FAB$V_PPF_IND 14 /* indirect access to process-permanent file */,#define FAB$M_PPF_IND (1 << FAB$V_PPF_IND) variant_struct { unsigned : FAB$V_PPF_RAT;) unsigned fab$v_ppf_rat : FAB$S_PPF_RAT; unsigned fab$v_ppf_ind : 1; } fab$r_ifi; } fab$r_ifi_overlay; variant_union {. unsigned fab$l_fop; /* fil e options */@#define FAB$V_ASY 0 /* Asynchronous operations (not impl.) */$#define FAB$M_ASY (1 << FAB$V_ASY)4#define FAB$V_MXV 1 /* maximize version number */$#define FAB$M_MXV (1 << FAB$V_MXV)4#define FAB$V_SUP 2 /* supersede existing file */$#define FAB$M_SUP (1 << FAB$V_SUP)2#define FAB$V_TMP 3 /* create temporary file */$#define FAB$M_TMP (1 << FAB$V_TMP)=#define FAB$V_TMD 4 /* temporary file marked for delete */$#define FAB$M_TMD (1 << FAB$V_TMD)9#define FA B$V_DFW 5 /* deferred write (rel and idx) */$#define FAB$M_DFW (1 << FAB$V_DFW)3#define FAB$V_SQO 6 /* sequential access only */$#define FAB$M_SQO (1 << FAB$V_SQO)9#define FAB$V_RWO 7 /* rewind magnetic tape on open */$#define FAB$M_RWO (1 << FAB$V_RWO)<#define FAB$V_POS 8 /* use next magnetic tape position */$#define FAB$M_POS (1 << FAB$V_POS)+#define FAB$V_WCK 9 /* write checking */$#define FAB$M_WCK (1 << FAB$V_WCK)G#define FAB$V_NEF 10 /* not end of file, in ihibit eof positioning */$#define FAB$M_NEF (1 << FAB$V_NEF);#define FAB$V_RWC 11 /* rewind magnetic tape on close */$#define FAB$M_RWC (1 << FAB$V_RWC)D#define FAB$V_DMO 12 /* dismount mt on close (not implemented) */$#define FAB$M_DMO (1 << FAB$V_DMO)1#define FAB$V_SPL 13 /* spool file on close */$#define FAB$M_SPL (1 << FAB$V_SPL):#define FAB$V_SCF 14 /* submit command file on close */$#define FAB$M_SCF (1 << FAB$V_SCF))#define FAB$V_DLT 15 /* delete file */$ #define FAB$M_DLT (1 << FAB$V_DLT);#define FAB$V_NFS 16 /* non-file-structured operation */$#define FAB$M_NFS (1 << FAB$V_NFS)?#define FAB$V_UFO 17 /* user file open - no rms operation */$#define FAB$M_UFO (1 << FAB$V_UFO)B#define FAB$V_PPF 18 /* process permanent file (pio segment) */$#define FAB$M_PPF (1 << FAB$V_PPF)?#define FAB$V_INP 19 /* process permanent file is 'input' */$#define FAB$M_INP (1 << FAB$V_INP)2#define FAB$V_CTG 20 /* contiguous extension */$#d efine FAB$M_CTG (1 << FAB$V_CTG)1#define FAB$V_CBT 21 /* contiguous best try */$#define FAB$M_CBT (1 << FAB$V_CBT)@#define FAB$V_JNL 22 /* explicit logging (not implemented) */$#define FAB$M_JNL (1 << FAB$V_JNL)+#define FAB$V_RCK 23 /* read checking */$#define FAB$M_RCK (1 << FAB$V_RCK)L#define FAB$V_NAM 24 /* use NAM block device, file and/or directory id */$#define FAB$M_NAM (1 << FAB$V_NAM)4#define FAB$V_CIF 25 /* create if non-existent */$#define FAB$M_CIF (1  << FAB$V_CIF)G#define FAB$V_UFM 26 /* user file open mode (user if 1, super if 0) < enable only if esc and (ufo or nfs) are also on */$#define FAB$M_UFM (1 << FAB$V_UFM)J#define FAB$V_ESC 27 /* 'escape' to non-standard functions ($modify) */$#define FAB$M_ESC (1 << FAB$V_ESC)Q#define FAB$V_TEF 28 /* truncate at end-of-file on close (write-accessed seq.  disk file only) */$#define FAB$M_TEF (1 << FAB$V_TEF)G#define FAB$V_OFP 29 /* output file parse (only  name type sticky) */$#define FAB$M_OFP (1 << FAB$V_OFP)N#define FAB$V_KFO 30 /* known file open (image activator only release 1) */$#define FAB$M_KFO (1 << FAB$V_KFO) variant_struct {C unsigned fab$v_asy : 1; /* Asynchronous operations (not impl.) */7 unsigned fab$v_mxv : 1; /* maximize version number */7 unsigned fab$v_sup : 1; /* supersede existing file */5 unsigned fab$v_tmp : 1; /* create temporary file */@ unsigned fab$v_tmd : 1; /* temporary file marked for delet e */< unsigned fab$v_dfw : 1; /* deferred write (rel and idx) */6 unsigned fab$v_sqo : 1; /* sequential access only */< unsigned fab$v_rwo : 1; /* rewind magnetic tape on open */? unsigned fab$v_pos : 1; /* use next magnetic tape position */. unsigned fab$v_wck : 1; /* write checking */I unsigned fab$v_nef : 1; /* not end of file, inihibit eof positioning */= unsigned fab$v_rwc : 1; /* rewind magnetic tape on close */F unsigned fab$v_dmo : 1; /* dismount mt on close (not implemented ) */3 unsigned fab$v_spl : 1; /* spool file on close */< unsigned fab$v_scf : 1; /* submit command file on close */+ unsigned fab$v_dlt : 1; /* delete file */= unsigned fab$v_nfs : 1; /* non-file-structured operation */A unsigned fab$v_ufo : 1; /* user file open - no rms operation */D unsigned fab$v_ppf : 1; /* process permanent file (pio segment) */A unsigned fab$v_inp : 1; /* process permanent file is 'input' */4 unsigned fab$v_ctg : 1; /* contiguous extension */3 unsigned fab $v_cbt : 1; /* contiguous best try */B unsigned fab$v_jnl : 1; /* explicit logging (not implemented) */- unsigned fab$v_rck : 1; /* read checking */N unsigned fab$v_nam : 1; /* use NAM block device, file and/or directory id */6 unsigned fab$v_cif : 1; /* create if non-existent */I unsigned fab$v_ufm : 1; /* user file open mode (user if 1, super if 0) : enable only if esc and (ufo or nfs) are also on */L unsigned fab$v_esc : 1; /* 'escape' to non-standard functions ($modify) */S  unsigned fab$v_tef : 1; /* truncate at end-of-file on close (write-accessed seq.  disk file only) */I unsigned fab$v_ofp : 1; /* output file parse (only name type sticky) */P unsigned fab$v_kfo : 1; /* known file open (image activator only release 1) */ } fab$r_fop; } fab$r_fop_overlay;- unsigned int fab$l_sts; /* status */3 unsigned int fab$l_stv; /* status value */: unsigned int fab$l_alq; /* allocation quantity */D unsigned short fab$w_deq; /* default allocation quantity */ variant_union {1 unsigned char fab$b_fac; /* file access */'#define FAB$V_PUT 0 /* put access */$#define FAB$M_PUT (1 << FAB$V_PUT)'#define FAB$V_GET 1 /* get access */$#define FAB$M_GET (1 << FAB$V_GET)*#define FAB$V_DEL 2 /* delete access */$#define FAB$M_DEL (1 << FAB$V_DEL)*#define FAB$V_UPD 3 /* update access */$#define FAB$M_UPD (1 << FAB$V_UPD),#define FAB$V_TRN 4 /* truncate access */$#define FAB$M_TRN (1 << FAB$V_TRN)-#define FAB$V_BIO 5 /* block i/o access */$#define FAB$M_BIO (1 << FAB$V_BIO)8#define FAB$V_BRO 6 /* block and record i/o access */$#define FAB$M_BRO (1 << FAB$V_BRO)N#define FAB$V_EXE 7 /* execute access (caller must be exec or kernel mode, " ufo must also be set) */$#define FAB$M_EXE (1 << FAB$V_EXE) variant_struct {* unsigned fab$v_put : 1; /* put access */* unsigned fab$v_get : 1; /* get access */- unsigned fab$v_del : 1; /* delete access */- unsigned fab$v_upd : 1; /* update access *// unsigned fab$v_trn : 1; /* truncate access */0 unsigned fab$v_bio : 1; /* block i/o access */; unsigned fab$v_bro : 1; /* block and record i/o access */C unsigned fab$v_exe : 1; /* execute access (caller must be exec or- kernel mode, ufo must also be set) */ } fab$r_fac; } fab$r_fac_overlay; variant_union {2 unsigned char fab$b_shr; /* file sharing */+#define FAB$V_SHRPUT 0 /* put access */*#define  FAB$M_SHRPUT (1 << FAB$V_SHRPUT)+#define FAB$V_SHRGET 1 /* get access */*#define FAB$M_SHRGET (1 << FAB$V_SHRGET).#define FAB$V_SHRDEL 2 /* delete access */*#define FAB$M_SHRDEL (1 << FAB$V_SHRDEL).#define FAB$V_SHRUPD 3 /* update access */*#define FAB$M_SHRUPD (1 << FAB$V_SHRUPD);#define FAB$V_MSE 4 /* multi-stream connects enabled */$#define FAB$M_MSE (1 << FAB$V_MSE)(#define FAB$V_NIL 5 /* no sharing */$#define FAB$M_NIL (1 << FAB$V_NIL)I#define FAB$V_ UPI 6 /* user provided interlocking (allows multiple */$ /* writers to seq. files) */$#define FAB$M_UPI (1 << FAB$V_UPI) variant_struct {- unsigned fab$v_shrput : 1; /* put access */- unsigned fab$v_shrget : 1; /* get access */0 unsigned fab$v_shrdel : 1; /* delete access */0 unsigned fab$v_shrupd : 1; /* update access */> unsigned fab$v_mse : 1; /* multi-stream connects enabled */+ unsigned fab$v_nil : 1; /* no sharing */L unsigned fab$v_upi : 1; /* user provi ded interlocking (allows multiple */" /* writers to seq. files) */ } fab$r_shr; } fab$r_shr_overlay;3 unsigned int fab$l_ctx; /* user context *// char fab$b_rtv; /* retrieval window size */ variant_union {7 unsigned char fab$b_org; /* file organization *//#define FAB$V_ORG 4 /* file organization */#define FAB$S_ORG 4(#define FAB$C_SEQ 0 /* sequential */3#define FAB$C_REL (1 << FAB$V_ORG) /* relative */2#define FAB$C_IDX (2 << FAB$V_OR!G) /* indexed */1#define FAB$C_HSH (3 << FAB$V_ORG) /* hashed */ variant_struct { unsigned : 4;2 unsigned fab$v_org : 4; /* file organization */&#define FAB$K_SEQ 0 /* sequential */$#define FAB$K_REL 1 /* relative */##define FAB$K_IDX 2 /* indexed */"#define FAB$K_HSH 3 /* hashed */ } fab$r_org; } fab$r_org_overlay; variant_union {6 unsigned char fab$b_rat; /* record attributes */?#define FAB$V_FTN 0 /* FORTRAN carriage control character */$#def "ine FAB$M_FTN (1 << FAB$V_FTN)?#define FAB$V_CR 1 /* line feed - record -carriage return */"#define FAB$M_CR (1 << FAB$V_CR)8#define FAB$V_PRN 2 /* print-file carriage control */$#define FAB$M_PRN (1 << FAB$V_PRN)A#define FAB$V_BLK 3 /* records don't cross block boundaries */$#define FAB$M_BLK (1 << FAB$V_BLK) variant_struct {B unsigned fab$v_ftn : 1; /* FORTRAN carriage control character */B unsigned fab$v_cr : 1; /* line feed - record -carriage return */; unsign #ed fab$v_prn : 1; /* print-file carriage control */D unsigned fab$v_blk : 1; /* records don't cross block boundaries */ } fab$r_rat; } fab$r_rat_overlay;5 unsigned char fab$b_rfm; /* record format */<#define FAB$C_RFM_DFLT 2 /* variable length is default */&#define FAB$C_UDF 0 /* undefined */0#define FAB$C_FIX 1 /* fixed-length record */3#define FAB$C_VAR 2 /* variable-length record */M#define FAB$C_VFC 3 /* variable-length with fixed-length control record $ */Q#define FAB$C_STM 4 /* RMS-11 stream record (valid only for sequential org) */R#define FAB$C_STMLF 5 /* stream record delimited by LF (sequential org only) */R#define FAB$C_STMCR 6 /* stream record delimited by CR (sequential org only) */5#define FAB$C_MAXRFM 6 /* maximum rfm supported */ variant_union {O unsigned char fab$b_journal; /* Journaling options (from fh2$b_journal) */3 /* Note; only one of ru, only_ru, never_ru */#define FAB$M_ONLY_RU 0X1#defin %e FAB$M_RU 0X2#define FAB$M_BI 0X4#define FAB$M_AI 0X8#define FAB$M_AT 0X10#define FAB$M_NEVER_RU 0X20!#define FAB$M_JOURNAL_FILE 0X40I#define FAB$V_ONLY_RU 0 /* file is accessible only in recovery unit */8#define FAB$V_RU 1 /* enable recovery unit journal */7#define FAB$V_BI 2 /* enable before image journal */6#define FAB$V_AI 3 /* enable after image journal */6#define FAB$V_AT 4 /* enable audit trail journal */K#define FAB$V_NEVER_RU 5 /* file &is never accessible in recovery unit */;#define FAB$V_JOURNAL_FILE 6 /* this is a journal file */ variant_struct {L unsigned fab$v_only_ru : 1; /* file is accessible only in recovery unit */< unsigned fab$v_ru : 1; /* enable recovery unit journal */; unsigned fab$v_bi : 1; /* enable before image journal */: unsigned fab$v_ai : 1; /* enable after image journal */: unsigned fab$v_at : 1; /* enable audit trail journal */N unsigned fab$v_never_ru : 1; /* file is never accessib 'le in recovery unit */? unsigned fab$v_journal_file : 1; /* this is a journal file */ } fab$r_journal; } fab$r_journal_overlay;F unsigned char fab$b_ru_facility; /* Recoverable facility id number */ unsigned : 16;& char *fab$l_xab; /* XAB address */1 struct NAM *fab$l_nam; /* NAM block address */3 char *fab$l_fna; /* file name string address */6 char *fab$l_dna; /* default name string address */= unsigned char fab$b_fns; /* file name string size */@ ( unsigned char fab$b_dns; /* default name string size */< unsigned short fab$w_mrs; /* maximum record size */< unsigned int fab$l_mrn; /* maximum record number */< unsigned short fab$w_bls; /* block size for tape */3 unsigned char fab$b_bks; /* bucket size */9 unsigned char fab$b_fsz; /* fixed header size */= unsigned int fab$l_dev; /* device characteristics */F unsigned int fab$l_sdc; /* spooling device characteristics */< uns)igned short fab$w_gbc; /* global buffer count */ variant_union {: unsigned char fab$b_acmodes; /* agent access modes *//#define FAB$S_LNM_MODE 2 /* logical names */#define FAB$V_LNM_MODE 0*#define FAB$S_CHAN_MODE 2 /* channel */#define FAB$V_CHAN_MODE 26#define FAB$S_FILE_MODE 2 /* files accessability */#define FAB$V_FILE_MODE 4G#define FAB$S_CALLERS_MODE 2 /* acmode for user structure probing; */#define FAB$V_CALLERS_MODE 6 variant_struct {= unsi *gned fab$v_lnm_mode : 2; /* acmode for logical names */8 unsigned fab$v_chan_mode : 2; /* acmode for channel */E unsigned fab$v_file_mode : 2; /* acmode for file's accessability */K unsigned fab$v_callers_mode : 2; /* acmode for user structure probing; */ } fab$r_acmodes; } fab$r_acmodes_overlay; variant_union {; unsigned char fab$b_rcf; /* recovery control flags */#define FAB$M_RCF_RU 0X1#define FAB$M_RCF_AI 0X2#define FAB$M_RCF_BI 0X45#define FAB$V_RCF_RU+ 0 /* recovery unit recovery */3#define FAB$V_RCF_AI 1 /* after image recovery */4#define FAB$V_RCF_BI 2 /* before image recovery */ variant_struct {9 unsigned fab$v_rcf_ru : 1; /* recovery unit recovery */7 unsigned fab$v_rcf_ai : 1; /* after image recovery */8 unsigned fab$v_rcf_bi : 1; /* before image recovery */ } fab$r_rcf; } fab$r_rcf_overlay;& unsigned : 32; /* spare */ };#ifdef RMS_GLOBAL_REFTglobalref struct $FAB cc$rms_fab; /* Declare i,nitialized prototype data structure */#endifww@K /*+ $FATDEF/ Record attributes area as used by FCS and RMS.< Extracted from V4.4 SYS$LIBRARY:STARLET.REQ on 10-Jun-1986*/6#define FAT$C_UNDEFINED 0 /* undefined record type */.#define FAT$C_FIXED 1 /* fixed record type *//#define FAT$C_VARIABLE 2 /* variable length */3#define FAT$C_VFC 3 /* variable + fixed control */D#define FAT$C_STREAM 4 /* rms-11 (dec traditional) stream format */;#define FAT$C_STREAMLF 5 -/* lf-terminated stream format */;#define FAT$C_STREAMCR 6 /* cr-terminated stream format */8#define FAT$C_SEQUENTIAL 0 /* sequential organization */5#define FAT$C_RELATIVE 1 /* relative organization */3#define FAT$C_INDEXED 2 /* indexed organization */1#define FAT$C_DIRECT 3 /* direct organization */#define FAT$M_FORTRANCC 0X1#define FAT$M_IMPLIEDCC 0X2#define FAT$M_PRINTCC 0X4#define FAT$M_NOSPAN 0X8#define FAT$K_LENGTH 32#define FAT$C_LENGTH 32#define FAT$S_.FATDEF 32struct fatdef { variant_union {- unsigned char fat$b_rtype; /* record type */ variant_struct {9 unsigned fat$v_rtype : 4; /* record type subfield */8 unsigned fat$v_fileorg : 4; /* file organization */ } fat$r_rtype; } fat$r_rtype_overlay; variant_union {5 unsigned char fat$b_rattrib; /* record attributes */ variant_struct {A unsigned fat$v_fortrancc : 1; /* fortran carriage control */A unsigned fat$v_impliedcc : 1; /* implied carria /ge control */B unsigned fat$v_printcc : 1; /* print file carriage control */8 unsigned fat$v_nospan : 1; /* no spanned records */ } fat$r_rattrib; } fat$r_rattrib_overlay;; unsigned short fat$w_rsize; /* record size in bytes */ variant_union {7 unsigned long fat$l_hiblk; /* highest allocated vbn */ variant_struct {7 unsigned short fat$w_hiblkh; /* high order word */6 unsigned short fat$w_hiblkl; /* low order word */ } fat$r_hiblk; } fat$r_hiblk 0_overlay; variant_union {1 unsigned long fat$l_efblk; /* end of file vbn */ variant_struct {7 unsigned short fat$w_efblkh; /* high order word */6 unsigned short fat$w_efblkl; /* low order word */ } fat$r_efblk; } fat$r_efblk_overlay;? unsigned short fat$w_ffbyte; /* first free byte in efblk */< unsigned char fat$b_bktsize; /* bucket size in blocks */\ unsigned char fat$b_vfcsize; /* size in bytes of fixed length control for vfc records */C unsigned sho1rt fat$w_maxrec; /* maximum record size in bytes */> unsigned short fat$w_defext; /* default extend quantity */8 unsigned short fat$w_gbc; /* global buffer count */ unsigned : 32; unsigned : 32;Q unsigned short fat$w_versions; /* default version limit for directory file */ }; wwU /*+ $FIBDEF. Layout of the file identification block (FIB)< Extracted from V4.4 SYS$LIBRARY:STARLET.REQ on 10-Jun-1986*/#define FIB$M_NOWRITE 0X1#define FIB$M_DL2OCK 0X2#define FIB$M_BLK_LOCK 0X4#define FIB$M_SPOOL 0X10#define FIB$M_WRITECK 0X20#define FIB$M_SEQONLY 0X40#define FIB$M_WRITE 0X100#define FIB$M_READCK 0X200#define FIB$M_NOREAD 0X400#define FIB$M_NOTRUNC 0X800#define FIB$M_CONTROL 0X1000#define FIB$M_EXECUTE 0X10000 #define FIB$M_PRSRV_ATR 0X20000#define FIB$M_RMSLOCK 0X40000 #define FIB$M_WRITETHRU 0X80000#define FIB$M_NOLOCK 0X100000 #define FIB$M_NORECORD 0X200000#define FIB$M_REWIND 0X8#d3efine FIB$M_CURPOS 0X10#define FIB$M_UPDATE 0X40?#define FIB$K_ACCDATA 10 /* above data necessary for access */?#define FIB$C_ACCDATA 10 /* above data necessary for access */F#define FIB$K_DIRDATA 22 /* above data necessary for directory ops */F#define FIB$C_DIRDATA 22 /* above data necessary for directory ops */#define FIB$M_ALLVER 0X8#define FIB$M_ALLTYP 0X10#define FIB$M_ALLNAM 0X20#define FIB$M_WILD 0X100#define FIB$M_NEWVER 0X200#define FIB$M_SUPERSEDE 0X4004#define FIB$M_FINDFID 0X800#define FIB$M_LOWVER 0X4000#define FIB$M_HIGHVER 0X8000#define FIB$M_ALCON 0X1#define FIB$M_ALCONB 0X2#define FIB$M_FILCON 0X4#define FIB$M_ALDEF 0X8#define FIB$M_ALLOCATR 0X10#define FIB$M_EXTEND 0X80#define FIB$M_TRUNC 0X100#define FIB$M_NOHDREXT 0X200#define FIB$M_MARKBAD 0X400#define FIB$M_NOCHARGE 0X8000H#define FIB$K_EXTDATA 32 /* above necessary for basic file extension */H#define FIB$C_EXTDATA 32 /* above necessary f 5or basic file extension */#define FIB$M_EXACT 0X1#define FIB$M_ONCYL 0X25#define FIB$C_CYL 1 /* cylinder address specified */(#define FIB$C_LBN 2 /* lbn specified */2#define FIB$C_VBN 3 /* proximate vbn specified */4#define FIB$C_RFI 4 /* related file id specified */B#define FIB$K_ALCDATA 44 /* above data necessary for placement */B#define FIB$C_ALCDATA 44 /* above data necessary for placement */#define FIB$M_ALT_REQ 0X1#define FIB$M_ALT_GRANTED 0X2#define FIB$M_DIRACL 0X64#define FIB$M_PROPAGATE 0X8#define FIB$K_LENGTH 64#define FIB$C_LENGTH 64#define FIB$S_FIBDEF 64struct fibdef { variant_union {5 unsigned long fib$l_acctl; /* access control bits */ variant_struct {7 unsigned fib$v_nowrite : 1; /* no other writers */; unsigned fib$v_dlock : 1; /* enable deaccess lock */C unsigned fib$v_blk_lock : 1; /* enable RMS-11 block locking */ unsigned : 1;: unsigned fib$v_spool : 1; /* spool file on close */9 7 unsigned fib$v_writeck : 1; /* enable write check */= unsigned fib$v_seqonly : 1; /* sequential only access */ unsigned : 1;3 unsigned fib$v_write : 1; /* write access */8 unsigned fib$v_readck : 1; /* enable read check */7 unsigned fib$v_noread : 1; /* no other readers */@ unsigned fib$v_notrunc : 1; /* file may not be truncated */= unsigned fib$v_control : 1; /* control access to file */ unsigned : 3;S unsigned fib$v_execute : 1; /* access for8 execute (use execute protection) */N unsigned fib$v_prsrv_atr : 1; /* preserve original attributes of file */G unsigned fib$v_rmslock : 1; /* open with rms record locking */P unsigned fib$v_writethru : 1; /* force cache write-through on operation */G unsigned fib$v_nolock : 1; /* override access interlocks */G unsigned fib$v_norecord : 1; /* do not record file access */- /* The high 8 bits cannot be copied into- the access mode word in th9e window */ } fib$r_acctl_bits0; variant_struct { unsigned : 3;2 unsigned fib$v_rewind : 1; /* rewind tape */G unsigned fib$v_curpos : 1; /* create at current tape position */ unsigned : 1;O unsigned fib$v_update : 1; /* update mode (position to start of file) */ } fib$r_acctl_bits1; variant_struct { unsigned : 24;+ char fib$b_wsize; /* window size */ } fib$r_acctl_fields2; } fib$r_acctl_overlay; variant_union {0 u :nsigned short int fib$w_fid [3]; /* file id */ variant_struct {8 unsigned short int fib$w_fid_num; /* file number */A unsigned short int fib$w_fid_seq; /* file sequence number */ variant_union {@ unsigned short int fib$w_fid_rvn; /* relative volume number */ variant_struct {7 unsigned char fib$b_fid_rvn; /* short form rvn */= unsigned char fib$b_fid_nmx; /* extended file number */ } fib$r_fid_rvn_fields; } fib$r_fid_rvn_overlay; } fib$r_fid_f ;ields; } fib$r_fid_overlay; variant_union {5 unsigned short int fib$w_did [3]; /* directory id */ variant_struct {8 unsigned short int fib$w_did_num; /* file number */A unsigned short int fib$w_did_seq; /* file sequence number */ variant_union {@ unsigned short int fib$w_did_rvn; /* relative volume number */ variant_struct {7 unsigned char fib$b_did_rvn; /* short form rvn */= unsigned char fib$b_did_nmx; /* extended file number */ } fib$r_di<d_rvn_fields; } fib$r_did_rvn_overlay; } fib$r_did_fields; } fib$r_did_overlay;8 unsigned long int fib$l_wcc; /* wild card context */ variant_union {8 unsigned short int fib$w_nmctl; /* name control bits */ variant_struct { unsigned : 3;9 unsigned fib$v_allver : 1; /* match all versions */6 unsigned fib$v_alltyp : 1; /* match all types */6 unsigned fib$v_allnam : 1; /* match all names */ unsigned : 2;> unsigned fib$v_wild : 1; /* wild c =ards in file name */> unsigned fib$v_newver : 1; /* maximize version number */@ unsigned fib$v_supersede : 1; /* supersede existing file */9 unsigned fib$v_findfid : 1; /* search for file id */ unsigned : 2;C unsigned fib$v_lowver : 1; /* lower version of file exists */D unsigned fib$v_highver : 1; /* higher version of file exists */ } fib$r_nmctl_bits; } fib$r_nmctl_overlay; variant_union {5 unsigned short int fib$w_exctl; /* extend control */ var >iant_struct {: unsigned fib$v_alcon : 1; /* allocate contiguous */= unsigned fib$v_alconb : 1; /* contiguous best effort */; unsigned fib$v_filcon : 1; /* mark file contiguous */> unsigned fib$v_aldef : 1; /* allocate default amount */Q unsigned fib$v_allocatr : 1; /* placement data present in attribute list */ unsigned : 2;7 unsigned fib$v_extend : 1; /* enable extension */8 unsigned fib$v_trunc : 1; /* enable truncation */A unsigned fib$v_ ?nohdrext : 1; /* inhibit extension headers */6 unsigned fib$v_markbad : 1; /* mark blocks bad */ unsigned : 4;> unsigned fib$v_nocharge : 1; /* don't charge diskquota */ } fib$r_exctl_bits; } fib$r_exctl_overlay;0 unsigned long fib$l_exsz; /* extend size */3 unsigned long fib$l_exvbn; /* extension vbn */ variant_union {9 unsigned char fib$b_alopts; /* allocation options */ variant_struct {? unsigned fib$v_exact : 1; /* exact placement required @ */E unsigned fib$v_oncyl : 1; /* put allocation on one cylinder */ } fib$r_alopts_bits; } fib$r_alopts_overlay;< unsigned char fib$b_alalign; /* allocation alignment */ variant_union {> unsigned short int fib$w_alloc [5]; /* allocation location */ variant_struct { variant_union {= unsigned short int fib$w_loc_fid [3]; /* related file id */ variant_struct {A unsigned short int fib$w_loc_num; /* related file number */C unsigned short int fib A$w_loc_seq; /* file sequence number */ variant_union {6 unsigned short int fib$w_loc_rvn; /* related rvn */ variant_struct {8 unsigned char fib$b_loc_rvn; /* short form rvn */? unsigned char fib$b_loc_nmx; /* extended file number */ } fib$r_loc_rvn_fields; } fib$r_loc_rvn_overlay; } fib$r_loc_fid_fields; } fib$r_loc_fid_overlay;N unsigned long int fib$l_loc_addr; /* location address (vbn, lbn, cyl) */ } fib$r_alloc_fields; } fib$r B_alloc_overlay;F unsigned short fib$w_verlimit; /* directory entry version limit */< unsigned char fib$b_agent_mode; /* agents access mode */D unsigned char fib$b_ru_facility; /* recoverable-facility code */; unsigned long fib$l_aclctx; /* acl context for read */J unsigned long fib$l_acl_status; /* return status from acl operation */ variant_union {> unsigned long int fib$l_status; /* general status longword */ variant_struct {@ unsigned fib$v_alt_req : 1; /* alte Crnate access required */C unsigned fib$v_alt_granted : 1; /* alternate access granted */C unsigned fib$v_diracl : 1; /* do directory acl propagation */@ unsigned fib$v_propagate : 1; /* do propagation on enter */ } fib$r_status_bits; } fib$r_status_overlay;C unsigned long int fib$l_alt_access; /* alternate access mask */ } ;2#define FIB$C_REWINDVOL 1 /* rewind volume set */;#define FIB$C_POSEND 2 /* position to end of volume set */0#define FIB$C_NEXTVOL 3 / D* force next volume */0#define FIB$C_SPACE 4 /* space magnetic tape */#define FIB$C_ILLEGAL 5,#define FIB$C_REWINDFIL 6 /* rewind file */>#define FIB$C_LOCK_VOL 7 /* lock volume against allocation */-#define FIB$C_UNLK_VOL 8 /* unlock volume *//* Quota file operations*/2#define FIB$C_ENA_QUOTA 9 /* enable quota file */4#define FIB$C_DSA_QUOTA 10 /* disable quota file */6#define FIB$C_ADD_QUOTA 11 /* add quota file entry */:#define FIB$C_EXA_QUOTA 12 /* examine quota file entr Ey */9#define FIB$C_MOD_QUOTA 13 /* modify quota file entry */9#define FIB$C_REM_QUOTA 14 /* remove quota file entry */@#define FIB$C_USEREOT 15 /* enable user end of tape handling *//#define FIB$C_REMAP 16 /* remap file window */Z#define FIB$C_CLSEREXCP 17 /* allow the user to clear a serious excp from a tape drive */7#define FIB$C_FLUSH_CACHE 18 /* flush selected cache */B#define FIB$C_FORCE_MV 19 /* force mount verification to occur */4#define FIB$K_MTALEN 28 /* length of mtaaFcp data */4#define FIB$C_MTALEN 28 /* length of mtaacp data *//*' Cache identifier codes for FLUSH_CACHE*/#define FIB$C_FID_CACHE 1#define FIB$C_EXTENT_CACHE 2#define FIB$C_QUOTA_CACHE 3/*' Control bits for quota file operations*/#define FIB$M_ALL_MEM 0X1#define FIB$M_ALL_GRP 0X2#define FIB$M_MOD_USE 0X4#define FIB$M_MOD_PERM 0X8#define FIB$M_MOD_OVER 0X10#define FIB$S_FIBDEF1 28struct fibdef1 { char fibdef$$_fill_14 [22];B unsigned short int fib$w G_cntrlfunc; /* ACP control function */ variant_union {N unsigned long int fib$l_cntrlval; /* ACP control function value parameter */ variant_struct {? unsigned fib$v_all_mem : 1; /* match all member numbers */> unsigned fib$v_all_grp : 1; /* match all group numbers */8 unsigned fib$v_mod_use : 1; /* modify usage data */> unsigned fib$v_mod_perm : 1; /* modify permanent quota */> unsigned fib$v_mod_over : 1; /* modify overdraft limit */ unsigned fib$v_fill_4 :H 3; } fib$r_cntrlval_bits; } fib$r_cntrlval_overlay; } ;ww9 /*+ $NAFDEF3 Structure for network proxy login file, NETUAF.DAT*/A/* Extracted from V4.4 SYS$LIBRARY:STARLET.REQ on 10-Jun-1986 */0#define NAF$K_LENGTH 100 /* length of record */0#define NAF$C_LENGTH 100 /* length of record */#define NAF$S_REMNAME 64#define NAF$S_NODE 32#define NAF$S_REMUSER 32#define NAF$S_LOCALUSER 32#define NAF$S_NAFDEF 100struct NETUAF_RECORD {I variant_union {# char naf$t_remname[NAF$S_REMNAME]; variant_struct {2 char naf$t_node[NAF$S_NODE]; /* Node name */ = char naf$t_remuser[NAF$S_REMUSER]; /* Remote username */ } naf$r_remname2; } naf$r_remname;? char naf$t_localuser[NAF$S_LOCALUSER]; /* Local username */ variant_union { long naf$l_flags; variant_struct {3 int naf$v_task : 1; /* allow task=0 access */0 int naf$v_batch : 1; /* allow batch jobs */= int naf$v_interactive : 1; /*J allow interactive login */ } naf$r_flags;  } naf$r_flags_overlay; };/#define NAF$V_TASK 0 /* allow task=0 access */-#define NAF$V_BATCH 1 /* allow batch jobs */9#define NAF$V_INTERACTIVE 2 /* allow interactive login */ #define NAF$M_TASK 0X1#define NAF$M_BATCH 0X2#define NAF$M_INTERACTIVE 0X4ww  "/* NAM - Name Block Definitions */8/* Extracted from VAXCDEF.TLB and edited on 28-Jun-86 */ struct $NAM {; unsigned char nam$b_bid; /* bl Kock identification */5#define NAM$C_BID 2 /* block identification code */3 unsigned char nam$b_bln; /* block length */7#define NAM$C_BLN 96 /* block length constant - V3 */#define NAM$K_BLN 96#define NAM$C_BLN_DIRWC 96#define NAM$K_BLN_DIRWC 96:#define NAM$C_BLN_V2 56 /* block length constant - V2 */#define NAM$K_BLN_V2 56A unsigned char nam$b_rss; /* resultant string area size */M#define NAM$C_MAXRSS 255 /* maximum resultant name string size (netw Lork) */N#define NAM$C_MAXRSSLCL 255 /* maximum resultant name string size (local) */> unsigned char nam$b_rsl; /* resultant string length */7 char *nam$l_rsa; /* resultant string area address */ variant_union {J unsigned char nam$b_nop; /* name options (currently undocumented) */J#define NAM$V_PWD 0 /* return password if present in nodespec string */$#define NAM$M_PWD (1 << NAM$V_PWD)#define NAM$V_FILL_1 1*#define NAM$M_FILL_1 (1 << NAM$V_FILL_1)#define NA MM$V_FILL_2 2*#define NAM$M_FILL_2 (1 << NAM$V_FILL_2)H#define NAM$V_SYNCHK 3 /* Only do syntax check on $PARSE operation */*#define NAM$M_SYNCHK (1 << NAM$V_SYNCHK)G#define NAM$V_NOCONCEAL 4 /* do not conceal device/root directory */0#define NAM$M_NOCONCEAL (1 << NAM$V_NOCONCEAL)2#define NAM$V_SLPARSE 5 /* parse search list */,#define NAM$M_SLPARSE (1 << NAM$V_SLPARSE)W#define NAM$V_SRCHXABS 6 /* fill in attached XABS on $SEARCH ops over the network */.#define NAM$M_SR NCHXABS (1 << NAM$V_SRCHXABS) variant_struct {N unsigned nam$v_pwd : 1; /* return password if present in nodespec string */, /* (default is to mask out password */ unsigned : 2;K unsigned nam$v_synchk : 1; /* Only do syntax check on $PARSE operation */J unsigned nam$v_noconceal : 1; /* do not conceal device/root directory */5 unsigned nam$v_slparse : 1; /* parse search list */Z unsigned nam$v_srchxabs : 1; /* fill in attached XABS on $SEARCH ops over the network */ } na Om$r_nop; } nam$r_nop_overlay;W unsigned char nam$b_rfs; /* remote file system type (currently undocumented) */G#define NAM$C_UFS 0 /* unknown file system for remote file access, or1 not applicable for local file access, or5 not applicable for task to task operation */$#define NAM$C_RMS11 1 /* RMS-11 */$#define NAM$C_RMS20 2 /* RMS-20 */$#define NAM$C_RMS32 3 /* RMS-32 */$#define NAM$C_FCS11 4 /* FCS-11 */0#define NAM$C_RT11FS 5 /* RT-11 file sys Ptem */4#define NAM$C_TOPS20FS 7 /* TOPS-20 file system */4#define NAM$C_TOPS10FS 8 /* TOPS-10 file system */7#define NAM$C_RMS32S 10 /* RMS-32 Subset (VAXElan) *//#define NAM$C_CPMFS 11 /* cp/m file system */4#define NAM$C_MS_DOSFS 12 /* ms/dos file system */;#define NAM$C_ULTRIX32_FS 13 /* ultrix-32 file system */;#define NAM$C_ULTRIX11_FS 14 /* ultrix-11 file system */@ unsigned char nam$b_ess; /* expanded string area size */= unsigned char nam$b_esl; /* Qexpanded string length */6 char *nam$l_esa; /* expanded string area address */> struct NAM *nam$l_rlf; /* related file NAM block address */0#define NAM$C_DVI 16 /* length of dvi field */, char nam$t_dvi[NAM$C_DVI]; /* device id */ variant_union {0 unsigned short int nam$w_fid [3]; /* File id */ variant_struct {8 unsigned short int nam$w_fid_num; /* file number */A unsigned short int nam$w_fid_seq; /* file sequence number */ variant_union {@ unsigned shortR int nam$w_fid_rvn; /* relative volume number */ variant_struct {7 unsigned char nam$b_fid_rvn; /* short form rvn */= unsigned char nam$b_fid_nmx; /* extended file number */ } nam$r_fid_rvn_fields; } nam$r_fid_rvn_overlay; } nam$r_fid_fields; } nam$r_fid_overlay; variant_union {5 unsigned short int nam$w_did [3]; /* directory id */ variant_struct {8 unsigned short int nam$w_did_num; /* file number */A unsigned short int nam$w_did_seq; /* fiSle sequence number */ variant_union {@ unsigned short int nam$w_did_rvn; /* relative volume number */ variant_struct {7 unsigned char nam$b_did_rvn; /* short form rvn */= unsigned char nam$b_did_nmx; /* extended file number */ } nam$r_did_rvn_fields; } nam$r_did_rvn_overlay; } nam$r_did_fields; } nam$r_did_overlay; variant_union {5 unsigned int nam$l_wcc; /* wild card context */6#define NAM$V_IFI 16 /* Internal file identifier */$#defin Te NAM$M_IFI (1 << NAM$V_IFI)O#define NAM$V_SRCHNMF 30 /* no-more-files has been encountered on $SEARCH */,#define NAM$M_SRCHNMF (1 << NAM$V_SRCHNMF)@#define NAM$V_SVCTX 31 /* save context across search calls */(#define NAM$M_SVCTX (1 << NAM$V_SVCTX) variant_struct { unsigned : 16;9 unsigned nam$v_ifi : 1; /* Internal file identifier */ unsigned : 13;Q unsigned nam$v_srchnmf : 1; /* no-more-files has been encountered on $SEARCH */B unsigned nam$v_svctx : 1; /* sav Ue context across search calls */ } nam$r_wcc; } nam$r_wcc_overlay; variant_union {9 unsigned int nam$l_fnb; /* file name status bits */<#define NAM$V_EXP_VER 0 /* version number is explicit */,#define NAM$M_EXP_VER (1 << NAM$V_EXP_VER)8#define NAM$V_EXP_TYPE 1 /* file type is explicit */.#define NAM$M_EXP_TYPE (1 << NAM$V_EXP_TYPE)8#define NAM$V_EXP_NAME 2 /* file name is explicit */.#define NAM$M_EXP_NAME (1 << NAM$V_EXP_NAME)G#define NAM$V_WILD_VER 3 V /* version number containes a wild card */.#define NAM$M_WILD_VER (1 << NAM$V_WILD_VER)C#define NAM$V_WILD_TYPE 4 /* file type containes a wild card */0#define NAM$M_WILD_TYPE (1 << NAM$V_WILD_TYPE)C#define NAM$V_WILD_NAME 5 /* file name containes a wild card */0#define NAM$M_WILD_NAME (1 << NAM$V_WILD_NAME)<#define NAM$V_EXP_DIR 6 /* directory spec is explicit */,#define NAM$M_EXP_DIR (1 << NAM$V_EXP_DIR)9#define NAM$V_EXP_DEV 7 /* device name is explicit */,#def Wine NAM$M_EXP_DEV (1 << NAM$V_EXP_DEV)Q#define NAM$V_WILDCARD 8 /* file name string includes a wild card (inclusive ) or of other wild card bits) *//#define NAM$M_WILDCARD (1 << NAM$V_WILDCARD) :#define NAM$V_SEARCH_LIST 11 /* search list present */4#define NAM$M_SEARCH_LIST (1 << NAM$V_SEARCH_LIST)E#define NAM$V_CNCL_DEV 12 /* device name is a concealed device */.#define NAM$M_CNCL_DEV (1 << NAM$V_CNCL_DEV)M#define NAM$V_ROOT_DIR 13 /* device name incorpo Xrates a root directory */.#define NAM$M_ROOT_DIR (1 << NAM$V_ROOT_DIR)P#define NAM$V_LOWVER 14 /* lower numbered version(s) of the file exist(s) */*#define NAM$M_LOWVER (1 << NAM$V_LOWVER)R#define NAM$V_HIGHVER 15 /* higher numbered version(s) of the file exist(s) */,#define NAM$M_HIGHVER (1 << NAM$V_HIGHVER)I#define NAM$V_PPF 16 /* indirectly accessed process permanent file */$#define NAM$M_PPF (1 << NAM$V_PPF)G#define NAM$V_NODE 17 /* file specification includes a n Yode name */&#define NAM$M_NODE (1 << NAM$V_NODE)D#define NAM$V_QUOTED 18 /* file spec includes a quoted string */*#define NAM$M_QUOTED (1 << NAM$V_QUOTED)R#define NAM$V_GRP_MBR 19 /* directory spec is of group-member number format */,#define NAM$M_GRP_MBR (1 << NAM$V_GRP_MBR)G#define NAM$V_WILD_DIR 20 /* directory spec includes a wild card */.#define NAM$M_WILD_DIR (1 << NAM$V_WILD_DIR)Q#define NAM$V_DIR_LVLS 21 /* number of subdirectory levels (0 = ufd only) */#d Zefine NAM$S_DIR_LVLS 3.#define NAM$M_DIR_LVLS (7 << NAM$V_DIR_LVLS)1/* separate byte for wild card directory flags */Q#define NAM$V_WILD_UFD 24 /* user file directory spec includes a wild card */.#define NAM$M_WILD_UFD (1 << NAM$V_WILD_UFD)R#define NAM$V_WILD_SFD1 25 /* subfile directory 1 spec includes a wild card */0#define NAM$M_WILD_SFD1 (1 << NAM$V_WILD_SFD1)>#define NAM$V_WILD_SFD2 26 /* sfd2 includes a wild card */0#define NAM$M_WILD_SFD2 (1 << NAM$V_WILD_SFD2) [>#define NAM$V_WILD_SFD3 27 /* sfd3 includes a wild card */0#define NAM$M_WILD_SFD3 (1 << NAM$V_WILD_SFD3)>#define NAM$V_WILD_SFD4 28 /* sfd4 includes a wild card */0#define NAM$M_WILD_SFD4 (1 << NAM$V_WILD_SFD4)>#define NAM$V_WILD_SFD5 29 /* sfd5 includes a wild card */0#define NAM$M_WILD_SFD5 (1 << NAM$V_WILD_SFD5)>#define NAM$V_WILD_SFD6 30 /* sfd6 includes a wild card */0#define NAM$M_WILD_SFD6 (1 << NAM$V_WILD_SFD6)>#define NAM$V_WILD_SFD7 31 /* sfd7 includes \a wild card */0#define NAM$M_WILD_SFD7 (1 << NAM$V_WILD_SFD7)6/* alternate definitions for wild_ufd and wild_sfd1 */?#define NAM$V_WILD_GRP 24 /* group containes a wild card */.#define NAM$M_WILD_GRP (1 << NAM$V_WILD_GRP)@#define NAM$V_WILD_MBR 25 /* member containes a wild card */.#define NAM$M_WILD_MBR (1 << NAM$V_WILD_MBR) variant_struct {> unsigned nam$v_exp_ver : 1; /* version number is explicit */: unsigned nam$v_exp_type : 1; /* file type is explicit */: unsi]gned nam$v_exp_name : 1; /* file name is explicit */I unsigned nam$v_wild_ver : 1; /* version number containes a wild card */E unsigned nam$v_wild_type : 1; /* file type containes a wild card */E unsigned nam$v_wild_name : 1; /* file name containes a wild card */> unsigned nam$v_exp_dir : 1; /* directory spec is explicit */; unsigned nam$v_exp_dev : 1; /* device name is explicit */S unsigned nam$v_wildcard : 1; /* file name string includes a wild card (inclusive ' or of other ^ wild card bits) */ unsigned : 2;< unsigned nam$v_search_list : 1; /* search list present */F unsigned nam$v_cncl_dev : 1; /* device name is a concealed device */N unsigned nam$v_root_dir : 1; /* device name incorporates a root directory */Q unsigned nam$v_lowver : 1; /* lower numbered version(s) of the file exist(s) */S unsigned nam$v_highver : 1; /* higher numbered version(s) of the file exist(s) */K unsigned nam$v_ppf : 1; /* indirectly accessed process permanent file */H un_signed nam$v_node : 1; /* file specification includes a node name */E unsigned nam$v_quoted : 1; /* file spec includes a quoted string */S unsigned nam$v_grp_mbr : 1; /* directory spec is of group-member number format */H unsigned nam$v_wild_dir : 1; /* directory spec includes a wild card */Q unsigned nam$v_dir_lvls : 3; /* number of subdirectory levels (0 = ufd only) */R unsigned nam$v_wild_ufd : 1; /* user file directory spec includes a wild card */S unsigned nam$v_wild_sfd1 : 1; /* s `ubfile directory 1 spec includes a wild card */? unsigned nam$v_wild_sfd2 : 1; /* sfd2 includes a wild card */? unsigned nam$v_wild_sfd3 : 1; /* sfd3 includes a wild card */? unsigned nam$v_wild_sfd4 : 1; /* sfd4 includes a wild card */? unsigned nam$v_wild_sfd5 : 1; /* sfd5 includes a wild card */? unsigned nam$v_wild_sfd6 : 1; /* sfd6 includes a wild card */? unsigned nam$v_wild_sfd7 : 1; /* sfd7 includes a wild card */ } nam$r_fnb; variant_struct { unsigned : 24;@ aunsigned nam$v_wild_grp : 1; /* group containes a wild card */A unsigned nam$v_wild_mbr : 1; /* member containes a wild card */ } nam$r_fnb_bits1; } nam$r_fnb_overlay;'/* Extend the NAM Block by 40 bytes */? unsigned char nam$b_node; /* node name string length */< unsigned char nam$b_dev; /* device string length */> unsigned char nam$b_dir; /* directory string length */? unsigned char nam$b_name; /* file name string length */@ unsigned char b nam$b_type; /* file type string length */B unsigned char nam$b_ver; /* file version string length */' unsigned : 16; /* currently unused */2 char *nam$l_node; /* node name string address */. char *nam$l_dev; /* device string address */1 char *nam$l_dir; /* directory string address */2 char *nam$l_name; /* file name string address */2 char *nam$l_type; /* file type string address */4 char *nam$l_ver; /* file version string address */' unsigned : 32; /* currently unusced */' unsigned : 32; /* currently unused */ };#ifdef RMS_GLOBAL_REFTglobalref struct $NAM cc$rms_nam; /* Declare initialized prototype data structure */#endifww`>Ë/*+ $NETAGS_DEF2 Module ($NETAGS_DEF) of SYS$LIBRARY:LCLCDEF.TLB.6 Defines symbolic names for ACNET Global Status values returned by the ACNET network.-*/8#define NETAGS_K_ARG -5631 /* Missing argument(s) */I#define NETAGS_K_BSY -2047 /* Destination busy, request not queued */<#defdine NETAGS_K_BUG -11519 /* Internal network error */?#define NETAGS_K_CAN -6655 /* Request has been cancelled */?#define NETAGS_K_DCN -8703 /* Replier being disconnected */F#define NETAGS_K_DWN -10751 /* Destination node down or offline */?#define NETAGS_K_END +513 /* Success: end multiple-reply */A#define NETAGS_K_FUL -1791 /* Destination busy, queue full */4#define NETAGS_K_HIO -10495 /* Hard I/O error */7#define NETAGS_K_IEF -6399 /* Illegal event flag */eB#define NETAGS_K_IVM -5887 /* Invalid message buffer/length */B#define NETAGS_K_L2E -8959 /* Level II ACNET Function error */:#define NETAGS_K_LCK -7423 /* Receive buffer locked */=#define NETAGS_K_NCN -5375 /* Not connected to network */:#define NETAGS_K_NCR -7167 /* Not connected for RUM */B#define NETAGS_K_NE1 -11775 /* Unspecified network error #1 */B#define NETAGS_K_NE2 -12031 /* Unspecified network error #2 */B#define NETAGS_K_NE3 -12287 /* Unspecified n fetwork error #3 */3#define NETAGS_K_NLM -511 /* No local memory */=#define NETAGS_K_NOD -7679 /* No such destination node */4#define NETAGS_K_NRM -767 /* No remote memory */:#define NETAGS_K_NSR -6143 /* No such request/reply */=#define NETAGS_K_NXE -11263 /* Non-translateable error */+#define NETAGS_K_PND +257 /* Pending */9#define NETAGS_K_QPE -1279 /* Request packet error */7#define NETAGS_K_RIO -255 /* Retryable I/O error */7#define NETAGS_K_RPE - g1023 /* Reply packet error */<#define NETAGS_K_RUM -6911 /* RUM name already exists */J#define NETAGS_K_SSR +769 /* Success: support software reply status */1#define NETAGS_K_SUC 0 /* Complete success */:#define NETAGS_K_SYS -11007 /* System service error */4#define NETAGS_K_TMO -1535 /* Request timeout */4#define NETAGS_K_TRP -8191 /* Truncated reply */6#define NETAGS_K_TRQ -7935 /* Truncated request */=#define NETAGS_K_TSK -8447 /* No such destination task *h/H#define NETAGS_K_USR +1025 /* Success: user software reply status *//* End of $NETAGS_DEF module.*/ww`n_ /*+ $NET_DEF+ Module ($NET_DEF) of SYS$LIBRARY:LCLCDEF.1 Defines the ACNET network message code symbols.-*/8/* Extracted $NET_DEF from NET$LIB:VAXNET on 14-AUG-1983@ Editted to change NOTBLKOWN to warning on 1-Sep-1983 (FJN) */*#define NET__BUGCHECK 0X08018014 /* */*#define NET__DISCONING 0X080180C8 /* */*#define NET__ENDMLTRPY 0X0801800 iB /* */*#define NET__ILLACNCOD 0X0801801C /* */*#define NET__INCWRTPWD 0X08018024 /* */*#define NET__IOERROR 0X0801808A /* */*#define NET__NOBUFFER 0X08018092 /* */*#define NET__NOBUFR 0X0801802C /* */*#define NET__NOCTLBLK 0X0801809A /* */*#define NET__NODEDOWN 0X080180A2 /* */*#define NET__NOMEMRMT 0X080180AA /* */*#define NET__NOMSG 0X08018034 /* */*#define NET__NORPYBUF 0X0801803C /* */*#define NET__NOSUCHREQ 0X08018044 /* */*#define NET j__NOTALLLCK 0X08018054 /* */*#define NET__NOTALLMAP 0X0801804C /* */*#define NET__NOTBLKOWN 0X08018120 /* */*#define NET__NOTCNCT 0X0801805C /* */*#define NET__NOTREQID 0X08018064 /* */*#define NET__NOTRPYID 0X0801806C /* */*#define NET__NOTRUM 0X08018074 /* */*#define NET__REQPKTERR 0X080180D0 /* */*#define NET__REQTBLFUL 0X080180D8 /* */*#define NET__REQTRUNC 0X080180E0 /* */*#define NET__RPYPKTERR 0X080180F0 /* */*#define NET__RPYTBLFUL 0X080180Ek8 /* */*#define NET__RPYTRUNC 0X080180F8 /* */*#define NET__RUMLSTFUL 0X080180B2 /* */*#define NET__RUMNAMEXI 0X080180BA /* */*#define NET__SUPSINFO 0X08018113 /* */*#define NET__SYSERR 0X080180C2 /* */*#define NET__TASKBUSY 0X08018100 /* */*#define NET__TOOLONG 0X0801807C /* */*#define NET__TSKLSTFUL 0X08018084 /* */*#define NET__TSKQFUL 0X08018108 /* */*#define NET__USRINFO 0X0801811B /* *//* End of $NET_DEF module.*/ww`jF l/*+ $PCBSTSDEF/ Module ($PCBSTSDEF) of FERMI$LIB:LCLCDEF.TLB. A Defines symbols for the process status bits in the PCB which is1 returned by $GETJPI for the JPI$_STS item code.-*/:/* Extracted $PCBDEF from SYS$LIBRARY:LIB on 30-DEC-1983*/ /* Bit numbers: */-#define PCB$V_ASTPEN 17 /* AST pending */8#define PCB$V_BATCH 14 /* Process is a batch job *//#define PCB$V_DELPEN 1 /* Delete pending */A#define PCB$V_DISAWS 24 /* Disable automatic WS adjustment */ m3#define PCB$V_FORCPEN 2 /* Force exit pending */H#define PCB$V_HIBER 19 /* Hibernate after initial image activate */<#define PCB$V_INQUAN 3 /* Initial quantum in progress */F#define PCB$V_LOGIN 20 /* Login w/o reading authorization file */7#define PCB$V_NETWRK 21 /* Network connected job */;#define PCB$V_NOACNT 15 /* No accounting for process */+#define PCB$V_NODELET 23 /* No delete */9#define PCB$V_PHDRES 18 /* Process header resident */<#define PCB$V_PnSWAPM 4 /* Process swap mode (1noswap) */3#define PCB$V_PWRAST 22 /* Power failure AST */8#define PCB$V_RES 0 /* Resident in balance set */=#define PCB$V_RESPEN 5 /* Resume pending, skip suspend */E#define PCB$V_SSFEXC 6 /* System service exception enabled (K) */E#define PCB$V_SSFEXCE 7 /* System service exception enabled (E) */E#define PCB$V_SSFEXCS 8 /* System service exception enabled (S) */E#define PCB$V_SSFEXCU 9 /* System service exception enabled (U) * o/F#define PCB$V_SSRWAIT 10 /* System service resource wait disable */1#define PCB$V_SUSPEN 11 /* Suspend pending */A#define PCB$V_SWPVBN 16 /* Warite for swap VBN in progress */>#define PCB$V_WAKEPEN 12 /* Wake pending, skip hibernate */=#define PCB$V_WALL 13 /* Wait for all events in mask */ /* Bit masks: */,#define PCB$M_ASTPEN (1 << PCB$V_ASTPEN)+#define PCB$M_BATCH (1 << PCB$V_BATCH),#define PCB$M_DELPEN (1 << PCB$V_DELPEN),#define PCB$M_DISAWS p (1 << PCB$V_DISAWS)-#define PCB$M_FORCPEN (1 << PCB$V_FORCPEN)+#define PCB$M_HIBER (1 << PCB$V_HIBER),#define PCB$M_INQUAN (1 << PCB$V_INQUAN)+#define PCB$M_LOGIN (1 << PCB$V_LOGIN),#define PCB$M_NETWRK (1 << PCB$V_NETWRK),#define PCB$M_NOACNT (1 << PCB$V_NOACNT)-#define PCB$M_NODELET (1 << PCB$V_NODELET),#define PCB$M_PHDRES (1 << PCB$V_PHDRES),#define PCB$M_PSWAPM (1 << PCB$V_PSWAPM),#define PCB$M_PWRAST (1 << PCB$V_PWRAST))#define PCB$M_RES q (1 << PCB$V_RES),#define PCB$M_RESPEN (1 << PCB$V_RESPEN),#define PCB$M_SSFEXC (1 << PCB$V_SSFEXC)-#define PCB$M_SSFEXCE (1 << PCB$V_SSFEXCE)-#define PCB$M_SSFEXCS (1 << PCB$V_SSFEXCS)-#define PCB$M_SSFEXCU (1 << PCB$V_SSFEXCU)-#define PCB$M_SSRWAIT (1 << PCB$V_SSRWAIT),#define PCB$M_SUSPEN (1 << PCB$V_SUSPEN),#define PCB$M_SWPVBN (1 << PCB$V_SWPVBN)-#define PCB$M_WAKEPEN (1 << PCB$V_WAKEPEN)*#define PCB$M_WALL (1 << PCB$V_WALL)/* End ofr $PCBSTSDEF module.*/ww a /*+ PSMDEF* Symbolic definitions for print symbionts.8 Extracted from V4.4 SYS$LIBRARY:LIB.REQ on 10-Jun-1986 Service routine function codes*/7#define PSM$K_CANCEL 1 /* cancel pending operations */.#define PSM$K_CLOSE 2 /* release resources */+#define PSM$K_FORMAT 3 /* format buffer */,#define PSM$K_OPEN 4 /* obtain resources */ #define PSM$K_READ 5 /* read */.#define PSM$K_GET_KEY 6 /* read record key */<#define PSM$K_POSITION s_TO_KEY 7 /* read by record context */)#define PSM$K_REWIND 8 /* rewind file */"#define PSM$K_WRITE 9 /* write */K#define PSM$K_WRITE_NOFORMAT 10 /* write with driver formatting disabled */A#define PSM$K_WRITE_SUPPRESSED 11 /* write but suppress output *//* Message notification functions*/-#define PSM$K_PAUSE_TASK 12 /* stop /queue */6#define PSM$K_RESET_STREAM 13 /* stop /queue /reset */=#define PSM$K_RESUME_TASK 14 /* start /queue (when paused) */?#define PSM$K_START_STREAM 15 t/* start /queue (when stopped) */@#define PSM$K_START_TASK 16 /* (ofiginated by job controller) */@#define PSM$K_STOP_TASK 17 /* stop /queue /abort or /requeue */4#define PSM$K_STOP_STREAM 18 /* stop /queue /next *//* Replacement routines A Task services -- where applicable the ordering of these literals? determines the sequence of the corresponding service routines.  Page services*/D#define PSM$K_PAGE_SETUP 1 /* page setup - page setup modules */A#define PSM$K_PAGE_HEADEuR 2 /* page separation - page headers *//* Library module service*/3#define PSM$K_LIBRARY_INPUT 3 /* module services *//* Filter services*/;#define PSM$K_INPUT_FILTER 4 /* filter service - input */E#define PSM$K_MAIN_FORMAT 5 /* format service - carriage control */=#define PSM$K_OUTPUT_FILTER 6 /* filter service - output *//* Output services*/1#define PSM$K_OUTPUT 7 /* main output routine *//* General input services*/B#define PSM$K_JOB_SETUP 8 /* job setu vp - job reset modules */D#define PSM$K_FORM_SETUP 9 /* form setup - form setup modules */=#define PSM$K_JOB_FLAG 10 /* job separation - flag page */?#define PSM$K_JOB_BURST 11 /* job separation - burst page */E#define PSM$K_FILE_SETUP 12 /* file setup - file setup modules */>#define PSM$K_FILE_FLAG 13 /* file separation - flag page */?#define PSM$K_FILE_BURST 14 /* file separation - burst page */@#define PSM$K_FILE_SETUP_2 15 /* file setup - top of form */A#define wPSM$K_MAIN_INPUT 16 /* file service - main routine */D#define PSM$K_FILE_INFORMATION 17 /* additional information print */@#define PSM$K_FILE_ERRORS 18 /* errors during task processing */C#define PSM$K_FILE_TRAILER 19 /* file separation - trailer page */C#define PSM$K_JOB_RESET 20 /* job reset - job reset modules */B#define PSM$K_JOB_TRAILER 21 /* job separation - trailer page */D#define PSM$K_JOB_COMPLETION 22 /* job completion - top of form */(#define PSM$K_MAX 23 /* must bex last *//* Carriage control types*/,#define PSM$K_CC_INTERNAL 1 /* - imbedded */*#define PSM$K_CC_IMPLIED 2 /* - implied */*#define PSM$K_CC_FORTRAN 3 /* - fortran */2#define PSM$K_CC_PRINT 4 /* - print file (prn) */*#define PSM$K_CC_MAX 5 /* must be last */ ww@{+/* RAB - Record Access Block Definitions */8/* Extracted from VAXCDEF.TLB and edited on 28-Jun-86 */ struct $RAB {; unsigned char rab$b_bid; /* block identification */9#define RAB$C_BID y1 /* block identification constant */3 unsigned char rab$b_bln; /* block length */2#define RAB$C_BLN 68 /* block length constant */#define RAB$K_BLN 68 variant_union {@ unsigned short rab$w_isi; /* internal stream identifier */G#define RAB$V_PPF_RAT 6 /* rat value for process-permanent files */#define RAB$S_PPF_RAT 80#define RAB$M_PPF_RAT (0x0ff << RAB$V_PPF_RAT)L#define RAB$V_PPF_IND 14 /* indirect access to process-permanent file */,#define RAB$M_PP zF_IND (1 << RAB$V_PPF_IND) variant_struct { unsigned : 6;I unsigned rab$v_ppf_rat : 8; /* rat value for process-permanent files */M unsigned rab$v_ppf_ind : 1; /* indirect access to process-permanent file */ } rab$r_isi; } rab$r_isi_overlay; variant_union {= unsigned int rab$l_rop; /* record processing options */4#define RAB$V_ASY 0 /* asynchronous operations */$#define RAB$M_ASY (1 << RAB$V_ASY)R#define RAB$V_TPT 1 /* truncate-on-put - allow sequential { put not at eof, thus ; truncating file (sequential organization only) */$#define RAB$M_TPT (1 << RAB$V_TPT)K#define RAB$V_REA 2 /* lock record for read only, allow other readers */$#define RAB$M_REA (1 << RAB$V_REA);#define RAB$V_RRL 3 /* read record regardless of lock */$#define RAB$M_RRL (1 << RAB$V_RRL)/#define RAB$V_UIF 4 /* update if existent */$#define RAB$M_UIF (1 << RAB$V_UIF)-#define RAB$V_MAS 5 /* mass-insert mode */$#define RAB$M_MAS (1 << RAB$ |V_MAS)1#define RAB$V_FDL 6 /* fast record deletion */$#define RAB$M_FDL (1 << RAB$V_FDL)1#define RAB$V_HSH 7 /* use hash code in bkt */$#define RAB$M_HSH (1 << RAB$V_HSH)3#define RAB$V_EOF 8 /* connect to end-of-file */$#define RAB$M_EOF (1 << RAB$V_EOF)'#define RAB$V_RAH 9 /* read ahead */$#define RAB$M_RAH (1 << RAB$V_RAH)*#define RAB$V_WBH 10 /* write behind */$#define RAB$M_WBH (1 << RAB$V_WBH)8#define RAB$V_BIO 11 /* connect for block I/O only */$#defin }e RAB$M_BIO (1 << RAB$V_BIO)9#define RAB$V_LV2 12 /* level 2 RU lock consistency */$#define RAB$M_LV2 (1 << RAB$V_LV2)E#define RAB$V_LOA 13 /* load buckets according to the file size */$#define RAB$M_LOA (1 << RAB$V_LOA)X#define RAB$V_LIM 14 /* compare for key limit reached on $get/$find seq.(idx only) */$#define RAB$M_LIM (1 << RAB$V_LIM)-#define RAB$V_LOC 16 /* use locate mode */$#define RAB$M_LOC (1 << RAB$V_LOC):#define RAB$V_WAT 17 /* wait if record not availa ~ble */$#define RAB$M_WAT (1 << RAB$V_WAT).#define RAB$V_ULK 18 /* manual unlocking */$#define RAB$M_ULK (1 << RAB$V_ULK)B#define RAB$V_RLK 19 /* allow readers for this locked record */$#define RAB$M_RLK (1 << RAB$V_RLK)0#define RAB$V_NLK 20 /* do not lock record */$#define RAB$M_NLK (1 << RAB$V_NLK)=#define RAB$V_KGE 21 /* key is greater than or equal to */$#define RAB$M_KGE (1 << RAB$V_KGE)1#define RAB$V_KGT 22 /* key is greater than */$#define RAB$M_KGT (1 << RAB$V_KGT)<#define RAB$V_NXR 23 /* non-existent record processing */$#define RAB$M_NXR (1 << RAB$V_NXR)*#define RAB$V_RNE 24 /* read no echo */$#define RAB$M_RNE (1 << RAB$V_RNE)1#define RAB$V_TMO 25 /* use time-out period */$#define RAB$M_TMO (1 << RAB$V_TMO)3#define RAB$V_CVT 26 /* convert to upper case */$#define RAB$M_CVT (1 << RAB$V_CVT),#define RAB$V_RNF 27 /* read no filter */$#define RAB$M_RNF (1 << RAB$V_RNF)9#define RAB$V_ETO 28 /* extended terminal operation */$#define RAB$M_ETO (1 << RAB$V_ETO).#define RAB$V_PTA 29 /* purge type ahead */$#define RAB$M_PTA (1 << RAB$V_PTA)/#define RAB$V_PMT 30 /* use prompt buffer */$#define RAB$M_PMT (1 << RAB$V_PMT)8#define RAB$V_CCO 31 /* cancel control O on output */$#define RAB$M_CCO (1 << RAB$V_CCO)3#define RAB$V_EQNXT 21 /* synonyms for kge and */#define RAB$M_EQNXT 0X200000 #define RAB$V_NXT 22 /* kgt */#define RAB$M_NXT 0X400000 variant_struct {7 unsigned rab$v_asy : 1; /* asynchronous operations */U unsigned rab$v_tpt : 1; /* truncate-on-put - allow sequential put not at eof, thus 9 truncating file (sequential organization only) */N unsigned rab$v_rea : 1; /* lock record for read only, allow other readers */> unsigned rab$v_rrl : 1; /* read record regardless of lock */2 unsigned rab$v_uif : 1; /* update if existent */0 unsigned rab$v_mas : 1; /* mass-insert mode */4 unsigned rab$v_fdl : 1; /* fast record deletion */4 unsigned rab$v_hsh : 1; /* use hash code in bkt */6 unsigned rab$v_eof : 1; /* connect to end-of-file */* unsigned rab$v_rah : 1; /* read ahead */, unsigned rab$v_wbh : 1; /* write behind */: unsigned rab$v_bio : 1; /* connect for block I/O only */; unsigned rab$v_lv2 : 1; /* level 2 RU lock consistency */G unsigned rab$v_loa : 1; /* load buckets according to the file size */Z unsigned rab$v_lim : 1; /* compare for key limit reached on $get/$find seq.(idx only) */ unsigned : 1;/ unsigned rab$v_loc : 1; /* use locate mode */< unsigned rab$v_wat : 1; /* wait if record not available */0 unsigned rab$v_ulk : 1; /* manual unlocking */D unsigned rab$v_rlk : 1; /* allow readers for this locked record */2 unsigned rab$v_nlk : 1; /* do not lock record */? unsigned rab$v_kge : 1; /* key is greater than or equal to */3 unsigned rab$v_kgt : 1; /* key is greater than */> unsigned rab$v_nxr : 1; /* non-existent record processing */, unsigned rab$v_rne : 1; /* read no echo */3 unsigned rab$v_tmo : 1; /* use time-out period */5 unsigned rab$v_cvt : 1; /* convert to upper case */. unsigned rab$v_rnf : 1; /* read no filter */; unsigned rab$v_eto : 1; /* extended terminal operation */0 unsigned rab$v_pta : 1; /* purge type ahead */1 unsigned rab$v_pmt : 1; /* use prompt buffer */: unsigned rab$v_cco : 1; /* cancel control O on output */ } rab$r_rop; variant_struct { unsigned : 21;6 unsigned rab$v_eqnxt : 1; /* synonyms for kge and */# unsigned rab$v_nxt : 1; /* kgt */ } rab$r_rop_bits1; } rab$r_rop_overlay;< unsigned int rab$l_sts; /* completion status code */ variant_union {0 unsigned int rab$l_stv; /* status value */ variant_struct {2 unsigned short rab$w_stv0; /* low word of stv */3 unsigned short rab$w_stv2; /* high word of stv */ } rab$r_stv; } rab$r_stv_overlay; variant_union {= unsigned short rab$w_rfa[3]; /* record's file address */ variant_struct { unsigned long rab$l_rfa0; unsigned short rab$w_rfa4; } rab$r_rfa; } rab$r_rfa_overlay; unsigned : 16; /* spare */2 unsigned int rab$l_ctx; /* user context */ unsigned : 16; /* spare */< unsigned char rab$b_rac; /* record access mode */-#define RAB$C_SEQ 0 /* sequential access */(#define RAB$C_KEY 1 /* keyed access */&#define RAB$C_RFA 2 /* rfa access */I#define RAB$C_STM 3 /* stream access (valid only for sequential org) */6 unsigned char rab$b_tmo; /* time-out period */= unsigned short rab$w_usz; /* user record area size */3 unsigned short rab$w_rsz; /* record size */2 char *rab$l_ubf; /* user record area address *// char *rab$l_rbf; /* record buffer address */6 char *rab$l_rhb; /* record header buffer address */ variant_union {) char *rab$l_kbf; /* key address */3 char *rab$l_pbf; /* prompt buffer address */ } rab$r_kbf_overlay; variant_union {4 unsigned char rab$b_ksz; /* key buffer size */7 unsigned char rab$b_psz; /* prompt buffer size */ } rab$r_ksz_overlay;7 unsigned char rab$b_krf; /* key of reference */+ char rab$b_mbf; /* multi-buffer count */8 unsigned char rab$b_mbc; /* multi-block count */ variant_union {@ unsigned int rab$l_bkt; /* bucket hash code, vbn, or rrn */T unsigned int rab$l_dct; /* duplicates count on key accessed on alternate key */ } rab$r_bkt_overlay;? struct FAB *rab$l_fab; /* related fab address for connect */. char *rab$l_xab; /* related XAB address */ };#ifdef RMS_GLOBAL_REFTglobalref struct $RAB cc$rms_rab; /* Declare initialized prototype data structure */#endifww@tË /*+ $RSC_DEF/ Module ($RSC_DEF) of SYS$LIBRARY:LCLCDEF.TLB.; Defines symbolic names for the reply status codes returnedB in the reply message header and the reply status byte of the User Ast Block.-*/D#define RSC_K_BADPWD 36 /* Level II: incorrect WRITE p assword */@#define RSC_K_BADVAL 37 /* Level II: bad value or address */<#define RSC_K_DISCON 34 /* Replier being disconnected */K#define RSC_K_ENDMLT 2 /* Success: final reply of multiple reply set */0#define RSC_K_HRDERR 41 /* Hard I/O error */B#define RSC_K_ILLFCN 35 /* Level II: illegal ACNET function */4#define RSC_K_IOERROR 1 /* Retryable I/O error */6#define RSC_K_NODEDOWN 42 /* Node down or offline */<#define RSC_K_NONETMEM 3 /* No network memory available */ :#define RSC_K_NONODE 30 /* No such destination node */:#define RSC_K_NOTASK 33 /* No such destination task */(#define RSC_K_OK 0 /* Success */>#define RSC_K_REQPKTERR 5 /* Request packet assembly error */;#define RSC_K_REQTRUNC 31 /* Request message truncated */<#define RSC_K_RPYPKTERR 4 /* Reply packet assembly error */B#define RSC_K_RPYTBLFUL 3 /* Request failed, no room for reply */9#define RSC_K_RPYTRUNC 32 /* Reply message truncated */I#define RSC_K_SUP0 64 /* Lowest status code for support software */6#define RSC_K_SYSERR 43 /* System service error */L#define RSC_K_TASKBUSY 8 /* Request failed, destination task busy (NBW) */L#define RSC_K_TIMEOUT 6 /* Request timeout while receive buffer locked */J#define RSC_K_TSKQFUL 7 /* Request failed, receive buffer queue full */G#define RSC_K_USR0 128 /* Lowest status code for user software */?#define RSC_M_NETS 63 /* Mask for network status codes */K#define RSC_M_SUPS 64 /* Mask for support software status code bit */I#define RSC_M_USRS 128 /* Mask for user software status code bit */C#define RSC_S_NETS 6 /* Size of network status codes field */E#define RSC_V_NETS 0 /* Offset to network status codes field */K#define RSC_V_SUPS 6 /* Offset to support software status code bit */H#define RSC_V_USRS 7 /* Offset to user software status code bit *//* End of $RSC_DEF module.*/ww;J /*+ $SHRDEFA SYS$LIBR ARY:LCLCDEF($SHRDEF) defines symbols for shared message codes. D These message codes should not be used directly by a facility sinceD they do not contain a subsystem (facility) identifier or a severity> code. Use the following formula to calculate actual facility message codes: 2 facility-message-code common-message-code +2 facility-id * 65536 +* severity-codeA This is implemented by the $SHR_MSGDEF macro which is cal led by:= $SHR_MSGDEF(facility_code, message_code, severity_code)9 where the message_code is one of those given by SHR$_...-*/?/* Extracted $SHRDEF from SYS$LIBRARY:STARLET on 17-APR-1983 */1#define SHR$_ABEND 0X10D8 /* !AS aborted */8#define SHR$_ABENDD 0X10E0 /* !AS aborted at !%D */8#define SHR$_ABENDT 0X10E8 /* !AS aborted at !%T */@#define SHR$_ACTIMAGE 0X12B8 /* error activating image !AS */H#define SHR$_APPENDEDB 0X1000 /* !AS appended to !AS (!UL block!%S) */I#define SHR$_APPENDEDR 0X1008 /* !AS appended to !AS (!UL record!%S) *//#define SHR$_ATPC 0X1158 /* at PC !XL */?#define SHR$_BADBYTE 0X1010 /* invalid data (!XB) at !XL */J#define SHR$_BADCOPIES 0X1160 /* '!AS' is an invalid number of copies */G#define SHR$_BADDELIM 0X1118 /* invalid delimited following '!AS' */>#define SHR$_BADFIELD 0X1018 /* !AS field invalid at !XL */C#define SHR$_BADFORM 0X1168 /* '!AS' is an invalid form type */H#define SHR$_BADJOBID 0X1170 /* '!AS' is an invalid job identifier */B#define SHR$_BADJOBNAME 0X1178 /* '!AS' is an invalid job name */A#define SHR$_BADKEY 0X1108 /* '!AS' is an invalid keyword */C#define SHR$_BADLOGIC 0X1120 /* internal logic error detected */M#define SHR$_BADLOGICPC 0X1150 /* internal logic error detected at PC !XL */?#define SHR$_BADLONG 0X1020 /* invalid data (!XL) at !XL */B#define SHR$_BADPRTY 0X1180 /* '!AS' is an invalid priority */D#define SHR$_BADQNAME 0X1188 /* '!AS' is an invalid queue name */L#define SHR$_BADTIME 0X1190 /* '!AS' is an invalid time specification */G#define SHR$_BADVALUE 0X1110 /* '!AS' is an invalid keyword value */?#define SHR$_BADWORD 0X1028 /* invalid data (!XW) at !XL */3#define SHR$_BEGIN 0X1030 /* !AS beginning */:#define SHR$_BEGIND 0X1038 /* !AS beginning at !%D */:#define SHR$_BEGINT 0X1040 /* !AS beginning at !%T */I#define SHR$_CBT 0X1288 /* insufficient contiguous space, file * /" /* copied non-contiguously */>#define SHR$_CLICB 0X1048 /* CLI control block at !XL */7#define SHR$_CLOSEDEL 0X1218 /* error closing !AS */@#define SHR$_CLOSEIN 0X1050 /* error closing !AS as input */A#define SHR$_CLOSEOUT 0X1058 /* error closing !AS as output */>#define SHR$_CONFDEL 0X11F8 /* !/!AS, delete? (Y or N): */<#define SHR$_CONFQUAL 0X12E0 /* conflicting qualifiers */F#define SHR$_COPIEDB 0X1060 /* !AS copied to !AS (!UL block!%S) */G#define SHR $_COPIEDR 0X1068 /* !AS copied to !AS (!UL record!%S) */1#define SHR$_CREATED 0X1070 /* !AS created */K#define SHR$_CREATEDSTM 0X12F8 /* !AS has been created in stream format */1#define SHR$_DELETED 0X1200 /* !AS deleted */L#define SHR$_DELINTERR 0X1240 /* internal error in DELETE/PURGE utility */J#define SHR$_DELVER 0X1208 /* explicit version number or wild card */ /* required */D#define SHR$_DIRNOTCRE 0X12C0 /* !AS directory file not created */J#define SHR$_DI RTOOBUS 0X1220 /* directory is presently too active to */ /* be purged */=#define SHR$_ENDABORT 0X1258 /* !AS compilation aborted */J#define SHR$_ENDDIAGS 0X1260 /* !AS completed with !UL diagnostic!%S *//#define SHR$_ENDED 0X1078 /* !AS ended */6#define SHR$_ENDEDD 0X1080 /* !AS ended at !%D */6#define SHR$_ENDEDT 0X1088 /* !AS ended at !%T */J#define SHR$_ENDNOOBJ 0X1268 /* !AS completed with !UL diagnostic!%S */ /* - object deleted */8#define SHR$_EX ISTS 0X1290 /* !AS already exists */$#define SHR$_FACILITY 0X00 /* */8#define SHR$_FILNOTDEL 0X11F0 /* error deleting !AS */8#define SHR$_FILNOTPUR 0X1230 /* error deleting !AS */1#define SHR$_FILPURGED 0X1250 /* !AS deleted */>#define SHR$_HALTED 0X1270 /* transfer has been halted */H#define SHR$_HASHCONCAT 0X11D8 /* hashed file cannot be concatenated */J#define SHR$_HIGHVER 0X1148 /* higher version of !AS already exists */I#define SHR$_IDXCONCAT 0X1138 /* indexed f ile cannot be concatenated */H#define SHR$_ILLDESQUE 0X12D0 /* illegal destination queue name !AS */M#define SHR$_ILLDIRCOPY 0X12E8 /* illegal directory copy of !AS attempted */G#define SHR$_INCOMPAT 0X11E0 /* !AS (input) and !AS (output) have */" /* incompatible attributes */A#define SHR$_INSVIRMEM 0X12F0 /* insufficient virtual memory */9#define SHR$_NEWFILES 0X1090 /* !UL file!%S created */J#define SHR$_NOCMDMEM 0X1278 /* no command memory has been allocated */C#define SHR$_NODESTQUE 0X12C8 /* no such destination queue !AS */=#define SHR$_NOFILPURG 0X1228 /* no files purged for !AS */D#define SHR$_NOJOBID 0X11A0 /* job !UW not found in !AS queue */D#define SHR$_NOJOBNAME 0X11A8 /* job !AS not found in !AS queue */>#define SHR$_NOQUEUE 0X1198 /* !AS queue does not exist */?#define SHR$_NOTCMPLT 0X11C0 /* !AS not completely copied */4#define SHR$_NOTCOPIED 0X11B8 /* !AS not copied */8#define SHR$_NOTLOCKED 0X12B0 /* !AS was not locked */J#define SHR$_NOTRUNC 0X1300 /* truncation not allowed for this file */ /* organization */D#define SHR$_NOTTERM 0X12D8 /* input device is not a terminal */D#define SHR$_NOVALUE 0X1100 /* '!AS' keyword requires a value */;#define SHR$_NOWILD 0X1128 /* no wildcard permitted */@#define SHR$_OPENIN 0X1098 /* error opening !AS as input */A#define SHR$_OPENOUT 0X10A0 /* error opening !AS as output */;#define SHR$_OVERLAY 0X10A8 /* !AS being overwritten */7#d efine SHR$_PARSEFAIL 0X1248 /* error parsing !AS */F#define SHR$_PROTECTED 0X12A8 /* protection on !AS changed to !AS */C#define SHR$_PURGEVER 0X1210 /* version numbers not permitted */1#define SHR$_QEMPTY 0X1280 /* queue empty */7#define SHR$_READERR 0X10B0 /* error reading !AS */J#define SHR$_RELCONCAT 0X1140 /* relative file cannot be concatenated */8#define SHR$_RENAMED 0X12A0 /* !AS renamed to !AS */8#define SHR$_REPLACED 0X10B8 /* !AS being replaced */7#defin e SHR$_RMSERROR 0X11C8 /* RMS service error */=#define SHR$_SEARCHFAIL 0X1238 /* error searching for !AS */9#define SHR$_SYNTAX 0X10F8 /* error parsing '!AS' */:#define SHR$_SYSERROR 0X11B0 /* system service error */H#define SHR$_SYSERRORPC 0X10F0 /* !AS system service error at PC !XL */)#define SHR$_TEXT 0X1130 /* !AS */2#define SHR$_UNLOCKED 0X1298 /* !AS unlocked */K#define SHR$_UNXPCTSTS 0X11D0 /* unexpected status detected. Expected */ /* '!AS'. Found: */K#define SHR$_VALERR 0X11E8 /* specified value is out of legal range */E#define SHR$_WILDCONCAT 0X10C0 /* wilcard specification cannot be */ /* concatenated */J#define SHR$_WILDOUTVER 0X10C8 /* wildcard version required for output */ /* file */7#define SHR$_WRITEERR 0X10D0 /* error writing !AS */A#define $SHR_MSGDEF(fac,msg,sev) ( ((fac)<<16) + (msg) + (sev) )/* End of $SHRDEF module.*/wwhy /*+ SMBDEFC Symbolic definitions for the sy mbiont to job controller interface.9 Extracted from V4.4 SYS$LIBRARY:LIB.REQ on 10-Jun-1986  Structure level*/B#define SMBMSG$K_STRUCTURE_LEVEL 1 /* current structure level */<#define SMBMSG$K_STRUCTURE_LEVEL_1 1 /* structure level 1 *//* Define request codes*/1#define SMBMSG$K_PAUSE_TASK 1 /* - stop /queue */:#define SMBMSG$K_RESET_STREAM 2 /* - stop /queue /reset */A#define SMBMSG$K_RESUME_TASK 3 /* - start /queue (when paused) */C#define SMBMSG$K_START_STREAM 4 /* - start / queue (when stopped) */4#define SMBMSG$K_START_TASK 5 /* - task available */8#define SMBMSG$K_STOP_STREAM 6 /* - stop /queue /next */C#define SMBMSG$K_STOP_TASK 7 /* - stop /queue /abort or /requeue */7#define SMBMSG$K_TASK_COMPLETE 8 /* - stream is idle */A#define SMBMSG$K_TASK_STATUS 9 /* - asynchronous status update */7#define SMBMSG$K_MAX_REQUEST_CODE 10 /* must be last */!#define SMBMSG$S_REQUEST_HEADER 4/* Item header*/A#define SMBMSG$K_ACCOUNTING_DATA 1 /* - accounting infor mation */4#define SMBMSG$K_ACCOUNT_NAME 2 /* - account name */2#define SMBMSG$K_AFTER_TIME 3 /* - /after value */7#define SMBMSG$K_ALIGNMENT_PAGES 4 /* - /align count */=#define SMBMSG$K_BOTTOM_MARGIN 5 /* - trailing blank lines */A#define SMBMSG$K_CHARACTERISTICS 6 /* - /characteristics value */A#define SMBMSG$K_CHECKPOINT_DATA 7 /* - checkpoint information */?#define SMBMSG$K_CONDITION_VECTOR 8 /* - task error messages */0#define SMBMSG$K_DEVICE_NAME 9 /* - /on value */7#define SMBMSG $K_DEVICE_STATUS 10 /* - device status */9#define SMBMSG$K_ENTRY_NUMBER 11 /* - job entry number */<#define SMBMSG$K_EXECUTOR_QUEUE 12 /* - this output queue */5#define SMBMSG$K_FILE_COPIES 13 /* - /copies value */?#define SMBMSG$K_FILE_COUNT 14 /* - current file copy number */E#define SMBMSG$K_FILE_SETUP_MODULES 15 /* - file setup module list */:#define SMBMSG$K_FIRST_PAGE 16 /* - first page to print */6#define SMBMSG$K_FORM_LENGTH 17 /* - lines per page */;#define SMBMSG$K_FORM_NAME 18 /* - name of physical form */E#define SMBMSG$K_FORM_SETUP_MODULES 19 /* - form setup module list */7#define SMBMSG$K_FORM_WIDTH 20 /* - columns per line */D#define SMBMSG$K_FILE_IDENTIFICATION 21 /* - device, fid, and did */8#define SMBMSG$K_FILE_SPECIFICATION 22 /* - file name */7#define SMBMSG$K_JOB_COPIES 23 /* - /job_count value */=#define SMBMSG$K_JOB_COUNT 24 /* - current job copy number */0#define SMBMSG$K_JOB_NAME 25 /* - /name value */C#define SMBMSG$K_JOB_RESET_MODULES 26 /* - j ob reset module list */8#define SMBMSG$K_LAST_PAGE 27 /* - last page to print */=#define SMBMSG$K_LEFT_MARGIN 28 /* - leading blank columns */>#define SMBMSG$K_LIBRARY_SPECIFICATION 29 /* - library name */F#define SMBMSG$K_MAXIMUM_STREAMS 30 /* - maximum supported symbiont */B#define SMBMSG$K_MESSAGE_VECTOR 31 /* - error messages to print */-#define SMBMSG$K_NOTE 32 /* - /note value */E#define SMBMSG$K_PAGE_SETUP_MODULES 33 /* - page setup module list */8#define SMBMSG$K_PARAMETER_1 34 /* - user parameter 1 */8#define SMBMSG$K_PARAMETER_2 35 /* - user parameter 2 */8#define SMBMSG$K_PARAMETER_3 36 /* - user parameter 3 */8#define SMBMSG$K_PARAMETER_4 37 /* - user parameter 4 */8#define SMBMSG$K_PARAMETER_5 38 /* - user parameter 5 */8#define SMBMSG$K_PARAMETER_6 39 /* - user parameter 6 */8#define SMBMSG$K_PARAMETER_7 40 /* - user parameter 7 */8#define SMBMSG$K_PARAMETER_8 41 /* - user parameter 8 */:#define SMBMSG$K_PRINT_CONTROL 42 /* - printing control */3#define SMBMSG$K _PRIORITY 43 /* - queue priority */5#define SMBMSG$K_QUEUE 44 /* - generic queue name */=#define SMBMSG$K_REFUSE_REASON 45 /* - reason task refused */D#define SMBMSG$K_RELATIVE_PAGE 46 /* - /backward, /forward values */;#define SMBMSG$K_REQUEST_CONTROL 47 /* - request control */L#define SMBMSG$K_REQUEST_RESPONSE 48 /* - request code being responded to */?#define SMBMSG$K_RIGHT_MARGIN 49 /* - trailing blank columns */7#define SMBMSG$K_SEARCH_STRING 50 /* - /search value */A#define SMBMSG$K_SEPARATION_CONTROL 51 /* - separation control */A#define SMBMSG$K_STOP_CONDITION 52 /* - reason for print abort */3#define SMBMSG$K_TIME_QUEUED 53 /* - time queued */:#define SMBMSG$K_TOP_MARGIN 54 /* - leading blank lines */1#define SMBMSG$K_UIC 55 /* - uic of submittor */.#define SMBMSG$K_USER_NAME 56 /* - username */4#define SMBMSG$K_MAX_ITEM_CODE 57 /* must be last */#define SMBMSG$S_ITEM_HEADER 4/*) Define item codes return data structures*/struct SMBMSG_DATA {/* ACCOUNTING_DATA item*/##define SMBMSG$S_ACCOUNTING_DATA 16 variant_struct {: unsigned long smbmsg$l_pages_printed; /* pages printed */5 unsigned long smbmsg$l_qio_puts; /* lines printed */2 unsigned long smbmsg$l_rms_gets; /* file reads */6 unsigned long smbmsg$l_cpu_time; /* processor time */ } smbmsg$r_accounting_data;/* CHECKPOINT_DATA item*/##define SMBMSG$S_CHECKPOINT_DATA 24 variant_struct {/ unsigned char smbmsg$b_filler; /* reserved */J unsigned char smbmsg$b_checkpoint_level; /* checkpoint structure level */: unsigned short smbmsg$w_offset; /* offset into record */7 unsigned long smbmsg$l_carcon; /* carriage control */0 unsigned long smbmsg$l_page; /* page number */: unsigned long smbmsg$l_record_number; /* record number */? unsigned long smbmsg$q_user_key[2]; /* user positioning key */ } smbmsg$r_checkpoint_data;#define SMBMSG$S_USER_KEY 8/* DEVICE_STATUS item*/#define SMBMSG$M_LOWERCASE 0X1#define SMBMSG$M_PAUSE_TASK 0X2#define SMBMSG$M_REMOTE 0X4#define SMBMSG$M_SERVER 0X8#define SMBMSG$M_STALLED 0X10!#define SMBMSG$M_STOP_STREAM 0X20#define SMBMSG$M_TERMINAL 0X40!#define SMBMSG$M_UNAVAILABLE 0X80 #define SMBMSG$S_DEVICE_STATUS 4 variant_struct {< unsigned smbmsg$v_lowercase : 1; /* - supports lowercase */C unsigned smbmsg$v_pause_task : 1; /* - symbiont initiated pause */8 unsigned smbmsg$v_remote : 1; /* - device is remote */7 unsigned smbmsg$v_server : 1; /* - server symbiont */5 unsigned smbmsg$v_stalled : 1; /* - task stalled */K unsigned smbmsg$v_stop_stream : 1; /* - symbiont requesting stop stream */> unsigned smbmsg$v_terminal : 1; /* - device is a terminal */> unsigned smbmsg$v_unavailable : 1; /* - device unavailable */ } smbmsg$r_device_flags;/* PRINT_CONTROL item*/ !#define SMBMSG$M_DOUBLE_SPACE 0X1 #define SMBMSG$M_PAGE_HEADER 0X2#define SMBMSG$M_PAGINATE 0X4#define SMBMSG$M_PASSALL 0X8#define SMBMSG$M_SEQUENCED 0X10 #define SMBMSG$M_SHEET_FEED 0X20#define SMBMSG$M_TRUNCATE 0X40#define SMBMSG$M_WRAP 0X80&#define SMBMSG$M_RECORD_BLOCKING 0X100 #define SMBMSG$S_PRINT_CONTROL 4 variant_struct {9 unsigned smbmsg$v_double_space : 1; /* - double space */> unsigned smbmsg$v_page_header : 1; /* - print page headers */7 unsigned smbmsg$v_paginate : 1; /* - insert 's */: unsigned smbmsg$v_passall : 1; /* - binary print file */@ unsigned smbmsg$v_sequenced : 1; /* - print sequence numbers */= unsigned smbmsg$v_sheet_feed : 1; /* - pause at every tof */> unsigned smbmsg$v_truncate : 1; /* - truncate on overflow */6 unsigned smbmsg$v_wrap : 1; /* - wrap on overflow */N unsigned smbmsg$v_record_blocking : 1; /* - block records in output buffer */ } smbmsg$r_print_flags;/* REQUEST_CONTROL item*/##define SMBMSG$M_ALIGNMENT_MASK 0X1##define SMBMSG$M_PAUSE_COMPLETE 0X2#define SMBMSG$M_RESTARTING 0X4 #define SMBMSG$M_TOP_OF_FILE 0X8#define SMBMSG$S_REQUEST 4 variant_struct {@ unsigned smbmsg$v_alignment_mask : 1; /* - print a's and 9's */J unsigned smbmsg$v_pause_complete : 1; /* - pause when request complete */< unsigned smbmsg$v_restarting : 1; /* - job is restarting */@ unsigned smbmsg$v_top_of_file : 1; /* - rewind before resume */ } smbmsg$r_request_flags;/* SEPARATION_CONTROL item*/ #define SMBMSG$M_FILE_BURST 0X1#define SMBMSG$M_FILE_FLAG 0X2"#define SMBMSG$M_FILE_TRAILER 0X4'#define SMBMSG$M_FILE_TRAILER_ABORT 0X8#define SMBMSG$M_JOB_FLAG 0X10 #define SMBMSG $M_JOB_BURST 0X20 #define SMBMSG$M_JOB_RESET 0X40%#define SMBMSG$M_JOB_RESET_ABORT 0X80##define SMBMSG$M_JOB_TRAILER 0X100(#define SMBMSG$M_JOB_TRAILER_ABORT 0X200(#define SMBMSG$M_FIRST_FILE_OF_JOB 0X400'#define SMBMSG$M_LAST_FILE_OF_JOB 0X800%#define SMBMSG$S_SEPARATION_CONTROL 4 variant_struct {@ unsigned smbmsg$v_file_burst : 1; /* - print file burst page */> unsigned smbmsg$v_file_flag : 1; /* - print file flag page */D unsigned smbmsg$v_file_trailer : 1; /* - print file trailer page */J unsigned smbmsg$v_file_trailer_abort : 1; /* - print file trailer page */= unsigned smbmsg$v_job_flag : 1; /* - print job flag page */> unsigned smbmsg$v_job_burst : 1; /* - print job burst page */D unsigned smbmsg$v_job_reset : 1; /* - execute job reset sequence */J unsigned smbmsg$v_job_reset_abort : 1; /* - execute job reset sequence */B unsigned smbmsg$v_job_trailer : 1; /* - print job trailer page */H unsigned smbmsg$v_job_trailer_abort : 1; /* - print job trailer page */[ unsigned smbmsg$v_first_file_of_job : 1; /* - this is the first file of the current job */Y unsigned smbmsg$v_last_file_of_job : 1; /* - this is the last file of the current job */ } smbmsg$r_separation_flags; };wwL /*+ $SMGDEF& Definitions for RTL Screen Management< Extracted from V4.4 SYS$LIBRARY:STARLET.REQ on 10-Jun-1986+ Input terminator codes, Control characters*/$#define SMG$K_TRM_CTRLA 1 /* soh */$#define SMG$K_TRM_CTRLB 2 /* stx */$#define SMG$K_TRM_CTRLC 3 /* etx */$#define SMG$K_TRM_CTRLD 4 /* eot */$#define SMG$K_TRM_CTRLE 5 /* enq */$#define SMG$K_TRM_CTRLF 6 /* ack */$#define SMG$K_TRM_CTRLG 7 /* bel */##define SMG$K_TRM_CTRLH 8 /* bs */##define SMG$K_TRM_CTRLI 9 /* ht */$#define SMG$K_TRM_CTRLJ 10 /* lf */$#define SMG$K_TRM_CTRLK 11 /* vt */$#define SMG$K_TRM_CTRLL 12 /* ff */$#define SMG$K_TRM_CTRLM 13 /* cr */$#define SMG$K_TRM_CTRLN 14 /* so */$#define SMG$K_TRM_CTRLO 15 /* si */%#define SMG$K_TRM_CTRLP 16 /* dle */%#define SMG$K_TRM_CTRLQ 17 /* dc1 */%#define SMG$K_TRM_CTRLR 18 /* dc2 */%#define SMG$K_TRM_CTRLS 19 /* dc3 */%#define SMG$K_TRM_CTRLT 20 /* dc4 */%#define SMG$K_TRM_CTRLU 21 /* nak */%#define SMG$K_TRM_CTRLV 22 /* syn */%#define SMG$K_TRM_CTRLW 23 /* etb */%#define SMG$K_TRM_CTRLX 24 /* can */$#define SMG$K_TRM_CTRLY 25 /* em */%#define SMG$K_TRM_CTRLZ 26 /* sub */%#define SMG$K_TRM_ESCAPE 27 /* esc */ /* FS */ /* GS */ /* RS */ /* US */$#define SMG$K_TRM_SPACE 32 /* sp */.#define SMG$K_TRM_EXCLAMATION_POINT 33 /* ! */)#define SMG$K_TRM_DOUBLE_QUOTE 34 /* " */(#define SMG$K_TRM_NUMBER_SIGN 35 /* # */(#define SMG$K_TRM_DOLLAR_SIGN 36 /* $ */)#define SMG$K_TRM_PERCENT_SIGN 37 /* % */&#define SMG$K_TRM_AMPERSAND 38 /* & */##define SMG$K_TRM_QUOTE 39 /* ' */'#define SMG$K_TRM_LEFT_PAREN 40 /* ( */(#define SMG$K_TRM_RIGHT_PAREN 41 /* ) */%#define SMG$K_TRM_ASTERISK 42 /* * */&#define SMG$K_TRM_PLUS_SIGN 43 /* + */ /* , */"#define SMG$K_TRM_DASH 45 /* - */!#define SMG$K_TRM_DOT 46 /* . */##define SMG$K_TRM_SLASH 47 /* / */"#define SMG$K_TRM_ZERO 48 /* 0 */!#define SMG$K_TRM_ONE 49 /* 1 */!#define SMG$K_TRM_TWO 50 /* 2 */##define SMG$K_TRM_THREE 51 /* 3 */"#define SMG$K_TRM_FOUR 52 /* 4 */"#define SMG$K_TRM_FIVE 53 /* 5 */!#define SMG$K_TRM_SIX 54 /* 6 */##define SMG$K_TRM_SEVEN 55 /* 7 */##define SMG$K_TRM_EIGHT 56 /* 8 */"#define SMG$K_TRM_NINE 57 /* 9 */##define SMG$K_TRM_COLON 58 /* : */&#define SMG$K_TRM_SEMICOLON 59 /* ; */&#define SMG$K_TRM_LESS_THAN 60 /* < */##define SMG$K_TRM_EQUAL 61 /* = */)#define SMG$K_TRM_GREATER_THAN 62 /* > */*#define SMG$K_TRM_QUESTION_MARK 63 /* ? */$#define SMG$K_TRM_AT_SIGN 64 /* @ */(#define SMG$K_TRM_UPPERCASE_A 65 /* a */(#define SMG$K_TRM_UPPERCASE_B 66 /* b */(#define SMG$K_TRM_UPPERCASE_C 67 /* c */(#define SMG$K_TRM_UPPERCASE_D 68 /* d */(#define SMG$K_TRM_UPPERCASE_E 69 /* e */(#define SMG$K_TRM_UPPE RCASE_F 70 /* f */(#define SMG$K_TRM_UPPERCASE_G 71 /* g */(#define SMG$K_TRM_UPPERCASE_H 72 /* h */(#define SMG$K_TRM_UPPERCASE_I 73 /* i */(#define SMG$K_TRM_UPPERCASE_J 74 /* j */(#define SMG$K_TRM_UPPERCASE_K 75 /* k */(#define SMG$K_TRM_UPPERCASE_L 76 /* l */(#define SMG$K_TRM_UPPERCASE_M 77 /* m */(#define SMG$K_TRM_UPPERCASE_N 78 /* n */(#define SMG$K_TRM_UPPERCASE_O 79 /* o */(#define SMG$K_TRM_UPPERCASE_P 80 /* p */(#define SMG$K_TRM_UPPERCASE_Q 81 /* q */(#define SMG$K_TRM_UPPERC ASE_R 82 /* r */(#define SMG$K_TRM_UPPERCASE_S 83 /* s */(#define SMG$K_TRM_UPPERCASE_T 84 /* t */(#define SMG$K_TRM_UPPERCASE_U 85 /* u */(#define SMG$K_TRM_UPPERCASE_V 86 /* v */(#define SMG$K_TRM_UPPERCASE_W 87 /* w */(#define SMG$K_TRM_UPPERCASE_X 88 /* x */(#define SMG$K_TRM_UPPERCASE_Y 89 /* y */(#define SMG$K_TRM_UPPERCASE_Z 90 /* z */)#define SMG$K_TRM_LEFT_BRACKET 91 /* [ */&#define SMG$K_TRM_BACKSLASH 92 /* \ */*#define SMG$K_TRM_RIGHT_BRACKET 93 /* ] */##define SMG$K_TRM_CARET 94 /* ^ */&#define SMG$K_TRM_UNDERLINE 95 /* _ */)#define SMG$K_TRM_GRAVE_ACCENT 96 /* ` */(#define SMG$K_TRM_LOWERCASE_A 97 /* a */(#define SMG$K_TRM_LOWERCASE_B 98 /* b */(#define SMG$K_TRM_LOWERCASE_C 99 /* c */)#define SMG$K_TRM_LOWERCASE_D 100 /* d */)#define SMG$K_TRM_LOWERCASE_E 101 /* e */)#define SMG$K_TRM_LOWERCASE_F 102 /* f */)#define SMG$K_TRM_LOWERCASE_G 103 /* g */)#define SMG$K_TRM_LOWERCASE_H 104 /* h */)#define SMG$K_TRM_LOWERCASE_I 105 /* i */)#define SMG$K_TRM_ LOWERCASE_J 106 /* j */)#define SMG$K_TRM_LOWERCASE_K 107 /* k */)#define SMG$K_TRM_LOWERCASE_L 108 /* l */)#define SMG$K_TRM_LOWERCASE_M 109 /* m */)#define SMG$K_TRM_LOWERCASE_N 110 /* n */)#define SMG$K_TRM_LOWERCASE_O 111 /* o */)#define SMG$K_TRM_LOWERCASE_P 112 /* p */)#define SMG$K_TRM_LOWERCASE_Q 113 /* q */)#define SMG$K_TRM_LOWERCASE_R 114 /* r */)#define SMG$K_TRM_LOWERCASE_S 115 /* s */)#define SMG$K_TRM_LOWERCASE_T 116 /* t */)#define SMG$K_TRM_LOWERCASE_U 117 /* u */)#define SMG$K_TRM_LOWERCASE_V 118 /* v */)#define SMG$K_TRM_LOWERCASE_W 119 /* w */)#define SMG$K_TRM_LOWERCASE_X 120 /* x */)#define SMG$K_TRM_LOWERCASE_Y 121 /* y */)#define SMG$K_TRM_LOWERCASE_Z 122 /* z */7#define SMG$K_TRM_LEFT_BRACE 123 /* left curly brace */+#define SMG$K_TRM_VERTICAL_LINE 124 /* | */9#define SMG$K_TRM_RIGHT_BRACE 125 /* right curly brace */$#define SMG$K_TRM_TILDE 126 /* ~ */&#define SMG$K_TRM_DELETE 127 /* del *//* Synonyms for control characters*/#define SMG$K_TRM_BS 8#define SMG$K_TRM_HT 9#define SMG$K_TRM_LF 10#define SMG$K_TRM_CR 13/* Keypad keys*/#define SMG$K_TRM_PF1 256#define SMG$K_TRM_PF2 257#define SMG$K_TRM_PF3 258#define SMG$K_TRM_PF4 259#define SMG$K_TRM_KP0 260#define SMG$K_TRM_KP1 261#define SMG$K_TRM_KP2 262#define SMG$K_TRM_KP3 263#define SMG$K_TRM_KP4 264#define SMG$K_TRM_KP5 265#define SMG$K_TRM_KP6 266#define SMG$K_TRM_KP7 267#define SMG$K_TRM_KP8 268#define SMG$K_TRM_KP9 269#define SMG$K_TRM_ENTER 270#define SMG$K_TRM_MINUS 271#define SMG$K_TRM_COMMA 272:#define SMG$K_TRM_PERIOD 273 /* cursor positioning keys */#define SMG$K_TRM_UP 274#define SMG$K_TRM_DOWN 275#define SMG$K_TRM_LEFT 276#define SMG$K_TRM_RIGHT 277/* Function keys*/#define SMG$K_TRM_F1 281#define SMG$K_TRM_F2 282#define SMG$K_TRM_F3 283#define SMG$K_TRM_F4 284#define SMG$K_TRM_F5 285#define SMG$K_TRM_F6 286#define SMG$K_TRM_F7 287#define SMG$K_TRM_F8 288#define SMG$K_TRM_F9 289#define SMG$K_TRM_F10 290#define SMG$K_TRM_F11 291#define SMG$K_TRM_F12 292#define SMG$K_TRM_F13 293#define SMG$K_TRM_F14 294%#define SMG$K_TRM_HELP 295 /* f15 */##define SMG$K_TRM_DO 296 /* f16 */#define SMG$K_TRM_F17 297#define SMG$K_TRM_F18 298#define SMG$K_TRM_F19 299#define SMG$K_TRM_F20 300/* Synonyms for function keys*/#define SMG$K_TRM_F15 295#define SMG$K_TRM_F16 296/* Editing keys*/$#define SMG$K_TRM_FIND 311 /* e1 */*#define SMG$K_TRM_INSERT_HERE 312 /* e2 */%#define SMG$K_TRM_REMOVE 313 /* e3 */%#define SMG$K_TRM_SELECT 314 /* e4 */*#define SMG$K_TRM_PREV_SCREEN 315 /* e5 */*#define SMG$K_TRM_NEXT_SCREEN 316 /* e6 *//* Synonyms for editing keys*/$#define SMG$K_TRM_E1 311 /* find */+#define SMG$K_TRM_E2 312 /* insert_here */&#define SMG$K_TRM_E3 313 /* remove */&#define SMG$K_TRM_E4 314 /* select */+#define SMG$K_TRM_E5 315 /* prev_screen */+#define SMG$K_TRM_E6 316 /* next_screen *//* Conditions*/G#define SMG$K_TRM_CANCELLED 508 /* i/o cancelled by smg$cancel_input */:#define SMG$K_TRM_TIMEOUT 509 /* timeout period expired */6#define SMG$K_TRM_BUFFER_FULL 510 /* buffer is full */6#define SMG$K_TRM_UNKNOWN 511 /* unknown terminator *//* Key definition attributes*/#define SMG$M_KEY_NOECHO 0X1#define SMG$M_KEY_TERMINATE 0X2#define SMG$M_KEY_LOCK 0X4#define SMG$M_KEY_PROTECTED 0X8#define SMG$M_KEY_SETSTATE 0X10#define SM G$S_KEY_DEF_ATTR 4/* SCREEN MANAGEMENT REQUEST TYPES*/<#define SMG$C_CHANGE_RENDITION 10 /* smg$change_rendition */4#define SMG$C_DELETE_CHARS 11 /* smg$delete_chars */6#define SMG$C_ERASE_DISPLAY 12 /* smg$erase_display */0#define SMG$C_ERASE_LINE 13 /* smg$erase_line */2#define SMG$C_HOME_CURSOR 14 /* smg$home_cursor */4#define SMG$C_INSERT_CHARS 15 /* smg$insert_chars */2#define SMG$C_INSERT_LINE 16 /* smg$insert_line *//#define SMG$C_PUT_CHARS 17 /* smg$put_chars */-#define SMG$C_ PUT_LINE 18 /* smg$put_line */J#define SMG$C_PUT_DISPLAY_ENCODED 19 /* smg$put_virtual_display_encoded */>#define SMG$C_RETURN_CURSOR_POS 20 /* smg$return_cursor_pos */:#define SMG$C_PUT_WITH_SCROLL 21 /* smg$put_with_scroll */8#define SMG$C_SET_CURSOR_ABS 22 /* smg$set_cursor_abs */8#define SMG$C_SET_CURSOR_REL 23 /* smg$set_cursor_rel */2#define SMG$C_DELETE_LINE 24 /* smg$delete_line */2#define SMG$C_ERASE_CHARS 25 /* smg$erase_chars */B#define SMG$C_SCROLL_DISPLAY_AREA 26 /* smg$scroll_display_area */H#define SMG$C_CHANGE_VIRTUAL_DISPLAY 27 /* smg$change_virtual_display */4#define SMG$C_LABEL_BORDER 28 /* smg$label_border */@#define SMG$C_END_DISPLAY_UPDATE 29 /* smg$end_display_update *//* Character Set Codes*/#define SMG$C_UNITED_KINGDOM 0#define SMG$C_ASCII 14#define SMG$C_SPEC_GRAPHICS 2 /* special graphics */:#define SMG$C_ALT_CHAR 3 /* alternate - standard char. */?#define SMG$C_ALT_GRAPHICS 4 /* alternate - special graphics *//*? The following constants define corner cursor positions used in SMG$HOME_CURSOR.*/#define SMG$C_UPPER_LEFT 0#define SMG$C_LOWER_LEFT 1#define SMG$C_UPPER_RIGHT 2#define SMG$C_LOWER_RIGHT 3/*7 The following constants define label positions used in SMG$LABEL_BORDER.*/#define SMG$K_TOP 0#define SMG$K_BOTTOM 1#define SMG$K_LEFT 2#define SMG$K_RIGHT 3/*2 Define bit masks and values for screen attributes*/#define SMG$M_BOLD 0X1#define SMG$M_REVERSE 0X2#define SMG$M_BLINK 0X4#define SMG$M_UNDERLINE 0X8+#define SMG$M_NORMAL 0X0 /* no bits set */ #define SMG$M_BUF_ENABLED 0X1#define SMG$M_MINUPD 0X2#define SMG$M_CLEAR_SCREEN 0X4#define SMG$M_NOTABS 0X8B#define SMG$K_BUF_ENABLED 0 /* enable buffering bitvector index */C#define SMG$K_MINUPD 1 /* enable minimal update bitvector index */7#define SMG$K_CLEAR_SCREEN 2 /* clear screen on exit */5#define SMG$K_NOTABS 3 /* don't use physical tabs *//*1 Master color wheel for screen background colors.*/ #define SMG$C_COLOR_UNKNOWN 0#define SMG$C_COLOR_WHITE 1#define SMG$C_COLOR_BLACK 2/*A The following constants correspond to the internal types definedK in SMGTERM.REQ. These names used to be for public use - the SMGTERM names= used to be needed for compatibility with SCR$ and SMG$ code.3 Use of these names is now very highly discouraged.*/ ;#define SMG$K_UNKNOWN 0 /* non-graphics or unknown type */0#define SMG$K_VT05 1 /* vt05 series terminal */0#define SMG$K_VT52 2 /* vt52 series terminal */2#define SMG$K_VT100 3 /* vt100 series terminal */9#define SMG$K_VTFOREIGN 4 /* foreign terminal (ft1-8) *//#define SMG$K_HARDCOPY 5 /* hardcopy device */0#define SMG$K_VTTERMTABLE 6 /* video terminal *//* - The following masks define values to be used4 to specify a display attribute. These may be added) together to specify multiple attributes.*/#define SMG$M_BORDER 0X1#define SMG$M_TRUNC_ICON 0X2"#define SMG$M_DISPLAY_CONTROLS 0X4#define SMG$M_USER_DISPLAY 0X8#define SMG$M_UP 0X1#define SMG$M_DOWN 0X2#define SMG$M_RIGHT 0X4#define SMG$M_LEFT 0X8!#define SMG$K_FIRST_PRIV_TYPE 191#define SMG$S_SMGDEF 32union SMGDEF { variant_struct {< unsigned smg$v_key_noecho : 1; /* Don't echo strings */C unsigned smg$v_key_terminate : 1; /* This key terminates read */9 unsigned smg$v_key_lock : 1; /* Lock new state */B unsigned smg$v_key_protected : 1; /* Definition is protected */P unsigned smg$v_key_setstate : 1; /* Definition sets a state (output only) */ } SMG$R_KEY_DEF_ATTR ; variant_struct {. unsigned smg$v_bold : 1; /* Bold rendition */: unsigned smg$v_reverse : 1; /* Reverse video rendition */0 unsigned smg$v_blink : 1; /* Blink rendition */8 unsigned smg$v_underline : 1; /* Underline rendition */ } smg$r_smgdef_bits; variant_struct {7 unsigned smg$v_buf_enabled : 1; /* Enable buffering */B unsigned smg$v_minupd : 1; /* Enable minimal update (default) */< unsigned smg$ v_clear_screen : 1; /* Clear screen on exit */9 unsigned smg$v_notabs : 1; /* Don't use physical tabs */ } smg$r_smgmode_bits; variant_struct {5 unsigned smg$v_border : 1; /* Display is bordered */D unsigned smg$v_trunc_icon : 1; /* Truncation icon enabled if set */L unsigned smg$v_display_controls : 1; /* Display carriage controls if set */E unsigned smg$v_user_display : 1; /* User Display for DEBUG if set */ } smg$r_display_attributes;/*9 When an out-of-band AST triggers, the u ser's AST routine3 will get called. The first argument passed to his4 routine is the address of a Band Information Table.1 The offsets into this table are described below.2 To make it easy to access from certain languages,2 the table is arranged so that it is convenient to; reference it as a longword vector as well as a byte block.*/ variant_struct {; unsigned long int smg$l_pasteboard_id; /* Pasteboard ID */7 unsigned long int smg$l_arg; /* User's AST argument */ variant_union {= unsigned char smg$b_character; /* The character typed */H unsigned long int smg$l_character; /* The character and 3 spaces */ } smg$r_character_overlay; } smg$r_band_information_table;/*. When SMG$GET_PASTEBOARD_ATTRIBUTES is called,3 it returns data in a pasteboard information block.4 The following structure is used to reference fields in this block.2 Items marked with a plus (+) will be 0 unless the* device is a terminal (DEVCLASS=DC$_TERM).*/ variant_struct {E unsigned long int smg$l_devchar; /* Device characteristics */M unsigned long int smg$l_devdepend; /* Specific characteristics (1) */N unsigned long int smg$l_devdepend2; /* Specific characteristics (2) */J unsigned char smg$b_devclass; /* Device class (e.g. DC$_TERM) */G unsigned char smg$b_smg_devtype; /* Internal SMG device type */T unsigned char smg$b_phy_devtype; /* Physical device type (e.g. DT$_VT100) */F unsigned char smg$b_rows; /* Number of rows on device */< unsigned short int smg$w_width; /* Terminal width */E unsigned char smg$b_color; /* Reserved for future use */C unsigned char smg$b_parity; /* Parity attributes (+) */@ unsigned short int smg$w_speed; /* Terminal Speed (+) */F unsigned short int smg$w_fill; /* Fill characteristics (+) */O unsigned short int smg$w_cursor_row; /* Row where physical cursor is */O unsigned short int smg$w_curso r_col; /* Col where physical cursor is */G unsigned long int smg$l_cursor_did; /* Display id of topmost */) /* display that cursor is in. */& } smg$r_pasteboard_info_block;/*J When SMG$GET_KEYBOARD_ATTRIBUTES is called, it returns data in a keyboardK information block. The following structure is used to reference fields inM this block (the unnamed fields are shared with PASTEBOARD_INFO_BLOCK above).2 Items marked with a plus (+) will be 0 unless the* device is a t erminal (DEVCLASS=DC$_TERM).*/ variant_struct {5 unsigned : 32; /* Device characteristics */< unsigned : 32; /* Specific characteristics (1) */; unsigned : 32; /* Specific characteristics (2) */* unsigned : 8; /* Device class */A unsigned char smg$b_recall_size; /* size of recall buffer (+) */2 unsigned : 8; /* Physical device type */M unsigned char smg$b_typeahead_char; /* first char in typeahead buffer (+) */- unsigned : 16; /* Terminal width */T unsigned short smg$w_typeahead_count; /* number of chars in typeahead buffer (+) */$ } smg$r_keyboard_info_block;/*? Directions are set up as a structure, assuming that directions7 may be combined in the future (ie. diagonal movement).*/ variant_struct {N unsigned smg$v_up : 1; /* Scroll up */N unsigned smg$v_down : 1; /* Scroll down */N unsigned smg$v_right : 1; /* Scroll right */N unsigned smg$v_left : 1; /* Scroll left */ } smg$r_scroll_dirs; } ;ww  /*+ SMRDEF& Define symbiont manager request codes*/A/* Extracted from V4.4 SYS$LIBRARY:STARLET.REQ on 10-Jun-1986 */1#define SMR$K_INITIAL 0 /* initialize a queue */.#define SMR$K_DELETE 1 /* delete the queue */8#define SMR$K_START 2 /* activate or resume printing */9#define SMR$K_PAUSE 3 /* suspend printing for a while */C#define SMR$K_MERGE 4 /* move files form one queue into another */B#define SMR$K_REDIRECT 5 /* assignment of one queue to another */@#define SMR$K_JUSTIFY 6 /* justify print forms(ie: issue ff) */5#define SMR$K_STOP 7 /* disable further de-queing */2#define SMR$K_ENTER 8 /* add a file to a queue */0#define SMR$K_CREJOB 9 /* create a print job */9#define SMR$K_ADDFIL 10 /* add a file to existing job */-#define SMR$K_CLSJOB 11 /* close open job */4#define SMR$K_RMVJ OB 12 /* remove job from queue */<#define SMR$K_ALTER 13 /* change a files characteristics */;#define SMR$K_ABORT 14 /* abort current job, start next */:#define SMR$K_RELEASE 15 /* release job from hold list */:#define SMR$K_DETINIT 16 /* detached job has initiated */;#define SMR$K_SYNCJOB 17 /* syncronize with a batch job */>#define SMR$K_ASKQNAM 18 /* get name of queue for log file *//*6 Assign symbiont manager print job/record option codes job file options*/<#define SMO$K_DE LETE 1 /* delete the file after printing */2#define SMO$K_BRSTPAG 2 /* create a burst page */3#define SMO$K_NOBRSTPAG 3 /* inhibit burst page */0#define SMO$K_FLAGPAG 4 /* print a flag page */4#define SMO$K_NOFLAGPAG 5 /* inhibit a flag page */;#define SMO$K_PAGHDR 6 /* print filename as page header */6#define SMO$K_DOUBLE 7 /* double space the listing */:#define SMO$K_NOFEED 8 /* inhibit form feed generation */9#define SMO$K_PAGCNT 9 /* specify page count to print */8#define SMO$ K_COPIES 10 /* number of copies to print */)#define SMO$K_FILESIZ 11 /* file size */1#define SMO$K_DESTQUE 12 /* destination queue *//* Options for create job*/:#define SMO$K_RLSTIM 32 /* time to hold until queueing */)#define SMO$K_HOLD 33 /* hold the job */E#define SMO$K_JOBPRI 34 /* specify print job/detached job prioity */>#define SMO$K_JOBCOPY 35 /* number of copies of entire job */?#define SMO$K_FORMTYPE 36 /* form type to used when printed */;#define SMO$K_LOWER 37 /* upper/lower case printer only */4#define SMO$K_PARAMS 38 /* supply job parameters */8#define SMO$K_JOBNAME 39 /* supply a name to the job */9#define SMO$K_NOLOWER 40 /* clear lower case required */-#define SMO$K_CPULIM 41 /* cpu time limit */1#define SMO$K_NOCPULM 42 /* no cpu time limit */1#define SMO$K_WSQUOTA 43 /* working set quota */4#define SMO$K_NOWSQUO 44 /* no working set quota */3#define SMO$K_WSDEFLT 45 /* working set default */6#define SMO$K_NOWSDFT 46 /* no work ing set default */<#define SMO$K_DQCHAR 47 /* char. to be used when printed */.#define SMO$K_LOGFNAM 48 /* log file spec. */7#define SMO$K_LOGQNAM 49 /* queue name for log file */-#define SMO$K_KEEPLOG 50 /* keep log file */4#define SMO$K_NOSPOOL 51 /* don't spool log file */1#define SMO$K_NOKEEPLOG 52 /* delete log file */7#define SMO$K_NOLOG 53 /* create log on null device */8#define SMO$K_NOTIFY 54 /* notify when job completes */)#define SMO$K_NONOTFY 55 /* no notify */)#def ine SMO$K_WSEXTNT 56 /* ws extent */.#define SMO$K_NOWSEXTNT 57 /* no ws extent *//*" Options for init or start a queue*/?#define SMO$K_CURFORM 64 /* current forms mounted on device */5#define SMO$K_GENPRT 65 /* allow generic printing */:#define SMO$K_NOGENPRT 66 /* disallow generic printing */@#define SMO$K_DETJOB 67 /* queue is for detached job queuing */<#define SMO$K_GENDEV 68 /* queue is generic device queue */5#define SMO$K_NOGENDEV 69 /* not a generic device */?#define SMO$K_DEFBRST 70 /* queue has burst page by default */7#define SMO$K_NODEFBRST 71 /* no default burst page */>#define SMO$K_DEFFLAG 72 /* queue has flag page by default */1#define SMO$K_NODEFFLAG 73 /* no default flag */3#define SMO$K_TRMDEV 74 /* device is a terminal */9#define SMO$K_NOTRMDEV 75 /* device is not a terminal */7#define SMO$K_JOBLIM 76 /* job limit for batch jobs */3#define SMO$K_INIPRI 77 /* job initial priority */.#define SMO$K_DISWAP 78 /* disable swaping */1 #define SMO$K_MCPULM 79 /* max cpu time limit */6#define SMO$K_NOMCPULM 80 /* no max cpu time limit */5#define SMO$K_DCPULM 81 /* default cpu time limit */:#define SMO$K_NODCPULM 82 /* no default cpu time limit */0#define SMO$K_WSQUTA 83 /* working set quota */5#define SMO$K_NOWSQUTA 84 /* no working set quota */2#define SMO$K_WSDFLT 85 /* working set default */7#define SMO$K_NOWSDFLT 86 /* no working set default */<#define SMO$K_CURDQCHAR 87 /* current char. of the queue */7#define SMO$K_SMBNAME 88 /* symbiont name for queue */)#define SMO$K_WSXTANT 89 /* ws extent */-#define SMO$K_NOWSXTNT 90 /* no ws extent */0#define SMO$K_NODISWAP 91 /* enable swapping *//* Options for restart*/D#define SMO$K_NEXTJOB 96 /* restart at end beginning of next job */;#define SMO$K_TOPOFILE 97 /* restart job at top-of-file */:#define SMO$K_SPCCNT 98 /* specify pages to space over *//* Options for abort*/1#define SMO$K_REQUEUE 112 /* requeue the file */>#define SMO$K_REQDEST 113 /* specify new queue destination */<#define SMO$K_REQPRIO 114 /* specify priority on requeue */ ww` VE& /*+ $UAB_DEF5 Module ($UAB_DEF) in library FERMI$LIB:LCLCDEF.TLB.A Defines the request and reply User AST Blocks as the UAB_REQUESTB and UAB_REPLY structures. The field names are as documented with@ the addition that the flag bytes can be referenced by the field; names of uab_b_flags or uab_z_reqflgs (in UAB_REQUEST) and uab_z_rpyflgs (in UAB_REPLY).-*/8/* Extracted $UAB_DEF from NET$SRC:VAXNET on 21-DEC-1982C Edited to define flag bits as offsets into the structures and toD eliminate UABFLGDEF module (merged into here) on 17-Jul-83 (FJN).@ Edited on 24-Jul-86 to use variant_union/struct declarations.*/#ifndef UAB_S_MSGTYPE2#include UABFLGDEF /* Request/reply flag bytes */#endif8#define UAB_K_LENGTH 20 /* Length of UAB in bytes *//*) Definitions for use in Reply AST's only*/struct UAB_REPLY {5  uword uab_w_reqid; /* Request identification */5 word uab_w_rpylen; /* Reply length (in words) */7 address uab_l_rpyadr; /* Address of reply buffer */0 ubyte uab_b_rpysts; /* Reply status byte */ variant_union {+ ubyte uab_b_flags; /* Byte of bit flags */" struct REPLY_FLAGS uab_z_rpyflgs; } uab_r_flags; unsigned : 16; /* spares */ unsigned : 32; unsigned : 32; };/*+ Definitions for use in Request AST's only*/struct UAB_REQUEST {2 uword uab_w_rpyid; /* Reply identification */7 word uab_w_reqlen; /* Request length (in words) */9 address uab_l_reqadr; /* Address of receive buffer */- ubyte uab_b_reqsts; /* Request status */ variant_union {+ ubyte uab_b_flags; /* Byte of bit flags */$ struct REQUEST_FLAGS uab_z_reqflgs; } uab_r_flags;7 ubyte uab_b_d_node; /* Destination logical node */2 ubyte uab_b_d_tskid; /* Destination task id */; uword uab_w_rrqid; /* Source request identification */2 ubyte uab_b_s_node; /* Source logical node */- ubyte uab_b_s_tskid; /* Source task id */ unsigned : 32; /* spares */ };/* End of $UAB_DEF module.*/wwЃ /*+ $UAFDEF- Module ($UAFDEF) of FERMI$LIB:LCLCDEF.TLB. D Defines the format of the VMS V4 User Authorization File record as the structure UAF_RECORD.-*/N/* Extracted $UAFDEF from SYS$LIBRARY:LIB on 03-Jun-85 and editted manually */$/* Editted for V4.4 on 28-Jun-86. */5#defin e UAF$S_UAFDEF 1412 /* Maximum record size */ /* Size of ... field *//#define UAF$S_USERNAME 32 /* username text */#define UAF$S_PARENT_ID 82#define UAF$S_ACCOUNT 32 /* account name text */0#define UAF$S_OWNER 32 /* owner's name text */3#define UAF$S_DEFDEV 32 /* default device text */6#define UAF$S_DEFDIR 64 /* default directory text */:#define UAF$S_LGICMD 64 /* default login command file */8#define UAF$S_DEFCLI 32 /* command interpreter name */6#define UAF$S_CLITABLES 32 /* CLI tables file name */#define UAF$S_PWD 8#define UAF$S_PWD2 8#define UAF$S_EXPIRATION 8#define UAF$S_PWD_LIFETIME 8#define UAF$S_PWD_DATE 8#define UAF$S_PWD2_DATE 8#define UAF$S_LASTLOGIN_I 8#define UAF$S_LASTLOGIN_N 8#define UAF$S_PRIV 8#define UAF$S_DEF_PRIV 88#define UAF$S_MIN_CLASS 20 /* Minimum security class */8#define UAF$S_MAX_CLASS 20 /* Maximum security class */ /* Access hours (0..23): */!#define UAF$S_NETWORK_ACCESS_P 3!#define UAF$S_NETWORK_ACCESS_S 3#define UAF$S_BATCH_ACCESS_P 3#define UAF$S_BATCH_ACCESS_S 3#define UAF$S_LOCAL_ACCESS_P 3#define UAF$S_LOCAL_ACCESS_S 3 #define UAF$S_DIALUP_ACCESS_P 3 #define UAF$S_DIALUP_ACCESS_S 3 #define UAF$S_REMOTE_ACCESS_P 3 #define UAF$S_REMOTE_ACCESS_S 3( /* All text fields are blank padded- and, except for username and account, are counted. */3#define UAF$C_USER_ID 1 /* Main user ID record */2#define UAF$C_VERSION1 1 /* VMS V4 UAF format */<#define UAF$C_KEYED_PART 52 /* ISAM keys in this part... */struct UAF_RECORD {2 unsigned char uaf$b_rtype; /* Record type code */6 unsigned char uaf$b_version; /* UAF format version */I unsigned short uaf$w_usrdatoff; /* Offset to counted string user data */( /* Username text field (key #0): */% char uaf$t_username[UAF$S_USERNAME];;#define uaf$t_username_tag uaf$t_username[UAF$S_USERNAME-1] variant_union {E unsigned long uaf$l_uic; /* User Id Code (UIC) field (key #1) */ variant_struct {F unsigned short uaf$w_mem; /* Member number word of UIC (key #2) */< unsigned short uaf$w_grp; /* Group number word of UIC */ } uaf$r_uic_fields; } uaf$r_uic_overlay;5 unsigned long uaf$l_sub_id; /* User sub-identifer */. /* Identifier of owner of this account */" unsigned long uaf$q_parent_id[2]; /* Account name field: */# char uaf$t_account[UAF$S_ACCOUNT];7 char uaf$t_owner[UAF$S_OWNER]; /* Owner's name text */) /* Default device counted string: */! char uaf$t_defdev[UAF$S_DEFDEV];, /* Default directory counted string: */! char uaf$t_defdir[UAF$S_DEFDIR];- /* Login command file counted string: */! char uaf$t_lgicmd[UAF$S_LGICMD];' /* Default command interpreter: */! char uaf$t_defcli[UAF$S_DEFCLI];" /* Default command tables: */' char uaf$t_clitables[UAF$S_CLITABLES]; variant_union {6 unsigned long uaf$q_pwd[2]; /* Hashed password */< unsigned long uaf$l_pwd; /* Hashe d password subfield */ } uaf$r_pwd_overlay;= unsigned long uaf$q_pwd2[2]; /* Hashed secondary password */= unsigned short uaf$w_logfails; /* Count of login failures */6 unsigned short uaf$w_salt; /* Random password salt */5 char uaf$b_encrypt; /* Encryption algorithm code */> char uaf$b_encrypt2; /* Secondary password algorithm code */B#define UAF$C_AD_II 0 /* Autodin-II 32 bit CRC encryption code */?#define UAF$C_PURDY 1 /* Purdy Polynomial over salted input */J#define UAF$C_P URDY_V 2 /* Purdy Polynomial + variable length username */> unsigned char uaf$b_pwd_length; /* Minimum password length */ char _fill_1; /* Dates/lifetimes: */A unsigned long uaf$q_expiration[2]; /* Account expiration date */= unsigned long uaf$q_pwd_lifetime[2]; /* Password lifetime */= unsigned long uaf$q_pwd_date[2]; /* Password changed date */= unsigned long uaf$q_pwd2_date[2]; /* 2nd password changed */A unsigned long uaf$q_lastlogin_i[2]; /* Last interactive login */E unsigne d long uaf$q_lastlogin_n[2]; /* Last non-interactive login */A unsigned long uaf$q_priv[2]; /* Authorized process privileges */D unsigned long uaf$q_def_priv[2]; /* Default processes privileges */D char uaf$r_min_class[UAF$S_MIN_CLASS]; /* Minimum security class */D char uaf$r_max_class[UAF$S_MAX_CLASS]; /* Maximum security class */ variant_union {0 unsigned long uaf$l_flags; /* User flags */ variant_struct {: int uaf$v_disctly : 1; /* Don't allow user control-Y */: int uaf$v_ defcli : 1; /* Only allow user default CLI */< int uaf$v_lockpwd : 1; /* Disable SET PASSWORD command */= int uaf$v_captive : 1; /* No overrides allowed on login *// int uaf$v_disacnt : 1; /* Disable account */6 int uaf$v_diswelcom : 1; /* Skip welcome message */5 int uaf$v_dismail : 1; /* Skip new mail message */4 int uaf$v_nomail : 1; /* Disable mail delivery */: int uaf$v_genpwd : 1; /* Passwords must be generated */9 int uaf$v_pwd_expired : 1; /* Password has expired * /= int uaf$v_pwd2_expired : 1; /* 2nd password has expired *// int uaf$v_audit : 1; /* Audit all actions */9 int uaf$v_disreport : 1; /* Skip last login message */: int uaf$v_disreconnect : 1; /* Inhibit reconnections */0 int uaf$v_autologin : 1; /* auto-login only */ } uaf$r_flags_bits; } uaf$r_flags_overlay;2 /* Hourly access restrictions for primary (_p)& and secondary (_s) days via: */> unsigned char uaf$b_network_access_p[UAF$S_NETWORK_ACCESS_P];> unsigne d char uaf$b_network_access_s[UAF$S_NETWORK_ACCESS_S];: unsigned char uaf$b_batch_access_p[UAF$S_BATCH_ACCESS_P];: unsigned char uaf$b_batch_access_s[UAF$S_BATCH_ACCESS_S];: unsigned char uaf$b_local_access_p[UAF$S_LOCAL_ACCESS_P];: unsigned char uaf$b_local_access_s[UAF$S_LOCAL_ACCESS_S];< unsigned char uaf$b_dialup_access_p[UAF$S_DIALUP_ACCESS_P];< unsigned char uaf$b_dialup_access_s[UAF$S_DIALUP_ACCESS_S];< unsigned char uaf$b_remote_access_p[UAF$S_REMOTE_ACCESS_P];< unsigned char uaf$b_rem ote_access_s[UAF$S_REMOTE_ACCESS_S]; unsigned char _fill_4[12];C unsigned char uaf$b_primedays; /* Bit representing primary days */@#define UAF$V_MONDAY 0 /* 0=primary day, 1=secondary day */#define UAF$V_TUESDAY 1#define UAF$V_WEDNESDAY 2#define UAF$V_THURSDAY 3#define UAF$V_FRIDAY 4#define UAF$V_SATURDAY 5#define UAF$V_SUNDAY 6*#define UAF$M_MONDAY (1 << UAF$V_MONDAY),#define UAF$M_TUESDAY (1 << UAF$V_TUESDAY)/#define UAF$M_WEDNESDAY (1 << U AF$V_WEDNESDAY).#define UAF$M_THURSDAY (1 << UAF$V_THURSDAY)*#define UAF$M_FRIDAY (1 << UAF$V_FRIDAY).#define UAF$M_SATURDAY (1 << UAF$V_SATURDAY)*#define UAF$M_SUNDAY (1 << UAF$V_SUNDAY) char _fill_5;5 unsigned char uaf$b_pri; /* Base process priority */? unsigned char uaf$b_quepri; /* Maximum job queuing priority */' /* 0=no limit for next 3 fields */9 unsigned short uaf$w_maxjobs; /* Maximum jobs for UIC */A unsigned short uaf$w_maxacctjobs; /* Maximum jobs for account * /I unsigned short uaf$w_maxdetach; /* Maximum detached processes for UIC */= unsigned short uaf$w_prccnt; /* Subprocess creation limit */5 unsigned short uaf$w_biolm; /* Buffered I/O limit */3 unsigned short uaf$w_diolm; /* Direct I/O limit */: unsigned short uaf$w_tqcnt; /* Timer queue entry limit */2 unsigned short uaf$w_astlm; /* AST queue limit */0 unsigned short uaf$w_enqlm; /* Enqueue limit */2 unsigned short uaf$w_fillm; /* Open file limit */7 unsigned short uaf$w_shrfillm; /* Sha red file limit */: unsigned long uaf$l_wsquota; /* Working set size quota */< unsigned long uaf$l_dfwscnt; /* Default working set size */: unsigned long uaf$l_wsextent; /* Working set size limt */7 unsigned long uaf$l_pgflquota; /* Paging file quota */1 unsigned long uaf$l_cputim; /* CPU time quota */? unsigned long uaf$l_bytlm; /* Buffered I/O byte count limit */D unsigned long uaf$l_pbytlm; /* Paged buffer I/O byte count limit */E unsigned long uaf$l_jtquota; /* Job-wide logical name tab le limit */B unsigned short uaf$w_proxy_lim; /* # of proxies user can grant */9 unsigned short uaf$w_proxies; /* # of proxies granted */B unsigned short uaf$w_account_lim; /* # of sub-accounts allowed */> unsigned short uaf$w_accounts; /* # of sub-accounts in use */ char _fill_99[64]; };:#define UAF$V_DISCTLY 0 /* Don't allow user control-Y */:#define UAF$V_DEFCLI 1 /* Only allow user default CLI */<#define UAF$V_LOCKPWD 2 /* Disable SET PASSWORD command */=#define UAF$V_CAPTI VE 3 /* No overrides allowed on login *//#define UAF$V_DISACNT 4 /* Disable account */5#define UAF$V_DISWELCOM 5 /* Skip welcome message */5#define UAF$V_DISMAIL 6 /* Skip new mail message */4#define UAF$V_NOMAIL 7 /* Disable mail delivery */:#define UAF$V_GENPWD 8 /* Passwords must be generated */8#define UAF$V_PWD_EXPIRED 9 /* Password has expired */=#define UAF$V_PWD2_EXPIRED 10 /* 2nd password has expired */0#define UAF$V_AUDIT 11 /* Audit all actions */9#define UAF$V _DISREPORT 12 /* Skip last login message */:#define UAF$V_DISRECONNECT 13 /* Inhibit reconnections */1#define UAF$V_AUTOLOGIN 14 /* auto-login only */,#define UAF$M_DISCTLY (1 << UAF$V_DISCTLY)*#define UAF$M_DEFCLI (1 << UAF$V_DEFCLI),#define UAF$M_LOCKPWD (1 << UAF$V_LOCKPWD),#define UAF$M_CAPTIVE (1 << UAF$V_CAPTIVE),#define UAF$M_DISACNT (1 << UAF$V_DISACNT)/#define UAF$M_DISWELCOM (1 << UAF$V_DISWELCOM),#define UAF$M_DISMAIL (1 << UAF$V_DISMAIL)*#define UAF$M_NOMAIL ( 1 << UAF$V_NOMAIL)*#define UAF$M_GENPWD (1 << UAF$V_GENPWD)3#define UAF$M_PWD_EXPIRED (1 << UAF$V_PWD_EXPIRED)5#define UAF$M_PWD2_EXPIRED (1 << UAF$V_PWD2_EXPIRED)(#define UAF$M_AUDIT (1 << UAF$V_AUDIT)/#define UAF$M_DISREPORT (1 << UAF$V_DISREPORT)5#define UAF$M_DISRECONNECT (1 << UAF$V_DISRECONNECT)/#define UAF$M_AUTOLOGIN (1 << UAF$V_AUTOLOGIN)C#define UAF$C_FIXED 644 /* Size of fixed portion of record */;#define UAF$C_LENGTH 1412 /* Maximum size of record */C#define UAF$K_FIXED 644 /* Size of fixed portion of record */;#define UAF$K_LENGTH 1412 /* Maximum size of record *//* End of $UAFDEF module.*/ww y9 /*+ $UCBSTSH Definitions for UCB status longword for use with $GETDVI item DVI$_STS.8 Extracted from V4.4 SYS$LIBRARY:LIB.REQ on 10-Jun-1986*//** UCB$L_STS: device-independent status bits*/#define UCB$M_TIM 0X1#define UCB$M_INT 0X2#define UCB$M_ERLOGIP 0X4#define UCB$M_CANCEL 0X8#define UCB$M_ONLINE 0X10#define UCB$M_POWER 0X20#define UCB$M_TIMOUT 0X40#define UCB$M_INTTYPE 0X80#define UCB$M_BSY 0X100#define UCB$M_MOUNTING 0X200#define UCB$M_DEADMO 0X400#define UCB$M_VALID 0X800#define UCB$M_UNLOAD 0X1000#define UCB$M_TEMPLATE 0X2000#define UCB$M_MNTVERIP 0X4000#define UCB$M_WRONGVOL 0X8000 #define UCB$M_DELETEUCB 0X10000 #define UCB$M_LCL_VALID 0X20000#define UCB$M_SUPMVMSG 0X40000 #define UCB$M_MNTVERPND 0X80000 #define UCB$M_DISMOUNT 0X100000#define UCB$M_CLUTRAN 0X200000!#define UCB$M_WRTLOCKMV 0X400000 #define UCB$M_SVPN_END 0X8000003#define UCB$V_TIM 0 /* time out enabled (1=yes) */5#define UCB$V_INT 1 /* interrupt expected (1=yes) */D#define UCB$V_ERLOGIP 2 /* error log in progress on unit (1=yes) */8#define UCB$V_CANCEL 3 /* cancel i/o on unit (1=yes) */1#define UCB$V_ONLINE 4 /* unit online (1=yes) */A#define UCB$V_POWER 5 /* power failed while unit busy (1=yes) */4#define UCB$V_TIMOUT 6 /* unit timed out (1=yes) */8#define UCB$V_INTTYPE 7 /* receiver interrupt if set *//#define UCB$V_BSY 8 /* unit is busy (1=yes) */7#define UCB$V_MOUNTING 9 /* device is being mounted */5#define UCB$V_DEADMO 10 /* deallocate at dismount */6#define UCB$V_VALID 11 /* volume is software valid */8#define UCB$V_UNLOAD 12 /* unload volume at dismount */<#define UCB$V_TEMPLATE 13 /* set if this is template ucb */?#define UCB$V_MNTVERIP 14 /* mount verification in progress */P#define UCB$V_WRONGVOL 15 /* wrong volume detected during mount verification */H#define UCB$V_DELETEUCB 16 /* delete this ucb when refc reaches zero */C#define UCB$V_LCL_VALID 17 /* volume is valid on the local node */O#define UCB$V_SUPMVMSG 18 /* if set, suppress success type mount ver. msgs. */O#define UCB$V_MNTVERPND 19 /* mount verification is pending on busy device. */5#define UCB$V_DISMOUNT 20 /* dismount in progress */G#define UCB$V_CLUTRAN 21 /* vaxcluster state transition in progress */M#defin e UCB$V_WRTLOCKMV 22 /* write-locked mount verification in progress */H#define UCB$V_SVPN_END 23 /* last byte used from page mapped by svpn */-struct ucb$r_sts { /* device unit status */; unsigned ucb$v_tim : 1; /* time out enabled (1=yes) */= unsigned ucb$v_int : 1; /* interrupt expected (1=yes) */L unsigned ucb$v_erlogip : 1; /* error log in progress on unit (1=yes) */@ unsigned ucb$v_cancel : 1; /* cancel i/o on unit (1=yes) */9 unsigned ucb$v_online : 1; /* uni t online (1=yes) */I unsigned ucb$v_power : 1; /* power failed while unit busy (1=yes) */< unsigned ucb$v_timout : 1; /* unit timed out (1=yes) */@ unsigned ucb$v_inttype : 1; /* receiver interrupt if set */7 unsigned ucb$v_bsy : 1; /* unit is busy (1=yes) */> unsigned ucb$v_mounting : 1; /* device is being mounted */< unsigned ucb$v_deadmo : 1; /* deallocate at dismount */= unsigned ucb$v_valid : 1; /* volume is software valid */? unsigned ucb$v_unload : 1; /* unload volume at dismount */B unsigned ucb$v_template : 1; /* set if this is template ucb */E unsigned ucb$v_mntverip : 1; /* mount verification in progress */V unsigned ucb$v_wrongvol : 1; /* wrong volume detected during mount verification */N unsigned ucb$v_deleteucb : 1; /* delete this ucb when refc reaches zero */I unsigned ucb$v_lcl_valid : 1; /* volume is valid on the local node */U unsigned ucb$v_supmvmsg : 1; /* if set, suppress success type mount ver. msgs. */U unsigned ucb$v_mntverpnd : 1; /* mount verification is pending on busy device. */; unsigned ucb$v_dismount : 1; /* dismount in progress */N unsigned ucb$v_clutran : 1; /* vaxcluster state transition in progress */S unsigned ucb$v_wrtlockmv : 1; /* write-locked mount verification in progress */N unsigned ucb$v_svpn_end : 1; /* last byte used from page mapped by svpn */ };/*+ UCB$W_DEVSTS: device-dependent status bits*/#define UCB$M_JOB 0X1#define UCB$M_TEMPL_BSY 0X40#define UCB$M_PRMMBX 0X1#define UCB$M_DELMBX 0X2#define UCB$M_SHMMBX 0X8#define UCB$M_TT_TIMO 0X2#define UCB$M_TT_NOTIF 0X4#define UCB$M_TT_HANGUP 0X8 #define UCB$M_TT_NOLOGINS 0X8000#define UCB$M_NT_BFROVF 0X4#define UCB$M_NT_NAME 0X10#define UCB$M_NT_BREAK 0X20#define UCB$M_ECC 0X1#define UCB$M_DIAGBUF 0X2#define UCB$M_NOCNVRT 0X4#define UCB$M_DX_WRITE 0X8#define UCB$M_DATACACHE 0X10!#define UCB$M_MSCP_MNTVERIP 0X100 #define UCB$M_MSCP_INITING 0X200 #define UCB$M_MSCP_WAITBMP 0X400#define UCB$M_MSCP_FLOVR 0X800#define UCB$M_MSCP_PKACK 0X1000#define UCB$M_MSCP_WRTP 0X2000#define UCB$M_DU_SHMV_STRTD 0X8#define UCB$M_TU_OVRSQCHK 0X1#define UCB$M_TU_TRACEACT 0X2#define UCB$M_TU_SEQNOP 0X4#define UCB$M_TU_1DENS 0X82#define UCB$V_JOB 0 /* job controller notified */5#define UCB$V_TEMPL_BSY 6 /* template ucb is busy *//#define UCB$V_PRMMBX 0 /* permanent mailbox */7#define UCB$V_DELMBX 1 /* mailbox marked for delete */3#define UCB$V_SHMMBX 3 /* shared memory mailbox */@#define UCB$V_TT_TIMO 1 /* terminal read timeout in progress */I#define UCB$V_TT_NOTIF 2 /* terminal user notified of unsolicted data */0#define UCB$V_TT_HANGUP 3 /* process hang up */#define UCB$V_TT_DEVSTS_FILL 4>#define UCB$S_TT_DEVSTS_FILL 11 /* fill to the end the word */3#define UCB$V_TT_NOLOGINS 15 /* nologins allowed */4#define UCB$V_NT_BFROVF 2 /* too many bytes rcvd */?#define UCB$V_NT_NAME 4 /* link has dec lared a connect name */4#define UCB$V_NT_BREAK 5 /* link is being broken */2#define UCB$V_ECC 0 /* ecc correction was made */:#define UCB$V_DIAGBUF 1 /* diagnostic buffer specified */A#define UCB$V_NOCNVRT 2 /* no lbn to media address conversion */>#define UCB$V_DX_WRITE 3 /* console floppy write operation */9#define UCB$V_DATACACHE 4 /* data blocks being cached */B#define UCB$V_MSCP_MNTVERIP 8 /* mount verification in progress */;#define UCB$V_MSCP_INITING 9 /* ucb is being initializ ed */<#define UCB$V_MSCP_WAITBMP 10 /* rwaitcnt has been bumped */L#define UCB$V_MSCP_FLOVR 11 /* bit toggled everytime a failover succeeds. */H#define UCB$V_MSCP_PKACK 12 /* set when a io$_packack is in progress. */H#define UCB$V_MSCP_WRTP 13 /* unit mscp write protected in some way. */H#define UCB$V_DU_SHMV_STRTD 3 /* shadowing mount verification started */<#define UCB$V_TU_OVRSQCHK 0 /* override sequence checking */8#define UCB$V_TU_TRACEACT 1 /* irp trace table active */J#define UCB$V_TU_SEQNOP 2 /* sequential nop tape operation in progress */5#define UCB$V_TU_1DENS 3 /* single density device */4union ucb$r_devsts { /* device dependent status */ variant_struct {7 unsigned ucb$v_job : 1; /* job controller notified */ unsigned : 5;9 unsigned ucb$v_templ_bsy : 1; /* template ucb is busy */ } ucb$r_bits0; variant_struct {3 unsigned ucb$v_prmmbx : 1; /* permanent mailbox */; unsigned ucb$v_delmbx : 1; /* mailbox marked for delete */ unsigned : 1;7 unsigned ucb$v_shmmbx : 1; /* shared memory mailbox */ } ucb$r_mbx_bits; variant_struct { unsigned : 1;D unsigned ucb$v_tt_timo : 1; /* terminal read timeout in progress */M unsigned ucb$v_tt_notif : 1; /* terminal user notified of unsolicted data */4 unsigned ucb$v_tt_hangup : 1; /* process hang up */ unsigned : 11;7 unsigned ucb$v_tt_nologins : 1; /* nologins allowed */ } ucb$r_tt_bits; variant_struct { unsigned : 2;8 unsigned ucb$v_nt_bfrovf : 1; /* too many bytes rcvd */  unsigned : 1;C unsigned ucb$v_nt_name : 1; /* link has declared a connect name */8 unsigned ucb$v_nt_break : 1; /* link is being broken */ } ucb$r_nt_bits; variant_struct {7 unsigned ucb$v_ecc : 1; /* ecc correction was made */> unsigned ucb$v_diagbuf : 1; /* diagnostic buffer specified */E unsigned ucb$v_nocnvrt : 1; /* no lbn to media address conversion */B unsigned ucb$v_dx_write : 1; /* console floppy write operation */= unsigned ucb$v_datacache : 1; /* data blocks being cached  */ } ucb$r_disk_bits; variant_struct { unsigned : 8;G unsigned ucb$v_mscp_mntverip : 1; /* mount verification in progress */@ unsigned ucb$v_mscp_initing : 1; /* ucb is being initialized */@ unsigned ucb$v_mscp_waitbmp : 1; /* rwaitcnt has been bumped */P unsigned ucb$v_mscp_flovr : 1; /* bit toggled everytime a failover succeeds. */L unsigned ucb$v_mscp_pkack : 1; /* set when a io$_packack is in progress. */K unsigned ucb$v_mscp_wrtp : 1; /* unit mscp write protected in some way. */ } ucb$r_mscp_bits; variant_struct { unsigned : 3;M unsigned ucb$v_du_shmv_strtd : 1; /* shadowing mount verification started */ } ucb$r_du_bits; variant_struct {A unsigned ucb$v_tu_ovrsqchk : 1; /* override sequence checking */= unsigned ucb$v_tu_traceact : 1; /* irp trace table active */N unsigned ucb$v_tu_seqnop : 1; /* sequential nop tape operation in progress */9 unsigned ucb$v_tu_1dens : 1; /* single density device */ } ucb$r_tu_bits; };wwt_g:/* Module $XAB - defines the XABxxx structures and data */8/* Extracted from VAXCDEF.TLB and edited on 28-Jun-86 */H/* XABALL -- Allocation Controll Extended Attribute Block Definitions */struct $XABALL {! unsigned char xab$b_cod; -#define XAB$C_ALL 20 /* XABALL type code */! unsigned char xab$b_bln; >#define XAB$C_ALLLEN 32 /* XABALL block length (32 bytes) */#define XAB$K_ALLLEN 32 unsigned : 16; /* spare */, char *xab$l_nxt; /* Next XAB in chain */ variant_union {7 unsigned char xab$b_aop; /* allocation options */I#define XAB$V_HRD 0 /* fail if requestd alignmt cannot be performed */$#define XAB$M_HRD (1 << XAB$V_HRD)>#define XAB$V_ONC 1 /* locate space on cylinder boundary */$#define XAB$M_ONC (1 << XAB$V_ONC)<#define XAB$V_CBT 5 /* contiguous allocation, best try */$#define XAB$M_CBT (1 << XAB$V_CBT)2#define XAB$V_CTG 7 /* contiguous allocation */$#define XAB$M_CTG (1 << XAB$V_CTG) variant_struc t {L unsigned xab$v_hrd : 1; /* fail if requestd alignmt cannot be performed */A unsigned xab$v_onc : 1; /* locate space on cylinder boundary */ unsigned : 3;? unsigned xab$v_cbt : 1; /* contiguous allocation, best try */ unsigned : 1;5 unsigned xab$v_ctg : 1; /* contiguous allocation */ } xab$r_aop; } xab$r_aop_overlay;? unsigned char xab$b_aln; /* alignment boundary type */3#define XAB$C_ANY 0 /* any type of allocation */B#define XAB$C_CYL 1 /* alig nment starts at cylinder boundary */G#define XAB$C_LBN 2 /* allocate at specified logical block number */I#define XAB$C_VBN 3 /* allocate near specified virtual block number */7#define XAB$C_RFI 4 /* allocate near related file */? unsigned short xab$w_vol; /* relative volume number */; unsigned long xab$l_loc; /* allocation location */; unsigned long xab$l_alq; /* allocation quantity */C unsigned short xab$w_deq; /* default extension quantity */ \ unsigned char xab$b_bkz; /* bucket size used with the relative and indexed files */B unsigned char xab$b_aid; /* area identification number */ variant_union { C unsigned short xab$w_rfi[3]; /* related file identification */ variant_struct {/ unsigned short xab$w_rfi0; /* file number */. unsigned short xab$w_rfi2; /* seq number */. unsigned short xab$w_rfi4; /* rev number */ } xab$r_rfi; } xab$r_rfi_overlay; unsigned : 16; /* spare */ } ;#ifdef RMS_GLOBAL_REF[globalref struct $XABALL cc$rms_xaball; /* Declare initialized prototype data structures */#endifB/* XABDAT -- Date and Time Extended Attribute Block Definitions */struct $XABDAT {" unsigned char xab$b_cod; -#define XAB$C_DAT 18 /* XABDAT type code */" unsigned char xab$b_bln; N#define XAB$C_DATLEN 0x2C /* XABDAT block length constant - V3 (44 bytes) */#define XAB$K_DATLEN 0x2CF#define XAB$C_DATLEN_V2 0x24 /* XABDAT block len gth constant - V2 */#define XAB$K_DATLEN_V2 0x24 unsigned : 16; /* spare */+ char *xab$l_nxt; /* Next XAB in chain */1 unsigned short xab$w_rvn; /* revision number */ unsigned : 16; variant_union {> unsigned long xab$q_rdt[2]; /* revision date and time */ variant_struct { unsigned long xab$l_rdt0; unsigned long xab$l_rdt4; } xab$r_rdt; } xab$r_rdt_overlay; variant_union {> unsigned long xab$q_cdt[2]; /* creation date and time */ variant_struct { unsigned long xab$l_cdt0; unsigned long xab$l_cdt4; } xab$r_cdt; } xab$r_cdt_overlay; variant_union {@ unsigned long xab$q_edt[2]; /* expiration date and time */ variant_struct { unsigned long xab$l_edt0; unsigned long xab$l_edt4; } xab$r_edt; } xab$r_edt_overlay; variant_union {< unsigned long xab$q_bdt[2]; /* backup date and time */ variant_struct { unsigned long xab$l_bdt0; unsigned long xab$l_bdt4; } xab$r_bdt; } xab$r_bdt_overlay; };#ifdef RMS_GLOBAL_REF[globalref struct $XABDAT cc$rms_xabdat; /* Declare initialized prototype data structures */#endifP/* XABFHC -- File Header Characteristics Extended Attribute Block Definitions */struct $XABFHC {" unsigned char xab$b_cod; -#define XAB$C_FHC 29 /* XABFHC type code */" unsigned char xab$b_bln; @#define XAB$C_FHCLEN 0x2C /* XABFHC block length (44 bytes) */#define XAB$K_FHCLEN 0x2C unsig ned : 16; /* spare */0 char *xab$l_nxt; /* Next XAB in chain */J unsigned char xab$b_rfo; /* record format and file organization */8 unsigned char xab$b_atr; /* record attributes */? unsigned short xab$w_lrl; /* longest record's length */E unsigned long xab$l_hbk; /* high virtual block in the file */8 unsigned long xab$l_ebk; /* end-of-file block */L unsigned short xab$w_ffb; /* first free byte in end-of-file block */2 unsigned char x ab$b_bkz; /* bucket size */G unsigned char xab$b_hsz; /* fixed length control header size */; unsigned short xab$w_mrz; /* maximum record size */G unsigned short xab$w_dxq; /* default file extension quantity */C unsigned short xab$w_gbc; /* default global buffer count */ unsigned : 32; /* spare */ unsigned : 32; /* spare */G unsigned short xab$w_verlimit; /* version limit for the file */R unsigned long xab$l_sbn; /* starting logical block number if contiguous */ };#ifdef RMS_GLOBAL_REF[globalref struct $XABFHC cc$rms_xabfhc; /* Declare initialized prototype data structures */#endifC/* XABKEY -- Key Definition Extended Attribute Block Definitions */struct $XABKEY {! unsigned char xab$b_cod; .#define XAB$C_KEY 21 /* XABKEY type code */! unsigned char xab$b_bln; A#define XAB$C_KEYLEN 0x4C /* XABKEY block length (76 bytes) */#define XAB$K_KEYLEN 0x4C#define XAB$C_KEYLEN_V2 0x40#def ine XAB$K_KEYLEN_V2 0x40 unsigned : 16; /* spare */4 char *xab$l_nxt; /* Next XAB address in chain */? unsigned char xab$b_ian; /* index level area number */I unsigned char xab$b_lan; /* lowest level of index area number */? unsigned char xab$b_dan; /* data bucket area number */< unsigned char xab$b_lvl; /* level of root bucket */K unsigned char xab$b_ibs; /* index bucket size in virtual blocks */J unsigned char xab$b_dbs; /* dat a bucket size in virtual blocks */N unsigned long xab$l_rvb; /* root bucket start virtual block number */ variant_union {9 unsigned char xab$b_flg; /* key option flag byte */9#define XAB$V_DUP 0 /* duplicate key value allowed */$#define XAB$M_DUP (1 << XAB$V_DUP)H#define XAB$V_CHG 1 /* may change on update (alternate keys only) */$#define XAB$M_CHG (1 << XAB$V_CHG)I#define XAB$V_NUL 2 /* null key value enable (alternate keys only) */$#define XAB$M_NUL (1 < < XAB$V_NUL)N#define XAB$V_IDX_NCMPR 3 /* indicates index records are not compressed */0#define XAB$M_IDX_NCMPR (1 << XAB$V_IDX_NCMPR)K#define XAB$V_KEY_NCMPR 6 /* indicates primary key is not compressed */0#define XAB$M_KEY_NCMPR (1 << XAB$V_KEY_NCMPR)K#define XAB$V_DAT_NCMPR 7 /* indicated data record is not compressed */0#define XAB$M_DAT_NCMPR (1 << XAB$V_DAT_NCMPR) variant_struct {; unsigned xab$v_dup : 1; /* duplicate key value allowed */J unsigned xab$v_chg  : 1; /* may change on update (alternate keys only) */K unsigned xab$v_nul : 1; /* null key value enable (alternate keys only) */P unsigned xab$v_idx_ncmpr : 1; /* indicates index records are not compressed */ unsigned : 2;M unsigned xab$v_key_ncmpr : 1; /* indicates primary key is not compressed */M unsigned xab$v_dat_ncmpr : 1; /* indicated data record is not compressed */ } xab$r_flg; } xab$r_flg_overlay;: unsigned char xab$b_dtp; /* key field data type */C#defin e XAB$C_STG 0 /* left-justified string of unsigned bytes */;#define XAB$C_IN2 1 /* signed 15 bit integer (2 bytes) */2#define XAB$C_BN2 2 /* unsigned 2-byte binary */;#define XAB$C_IN4 3 /* signed 31 bit integer (4 bytes) */2#define XAB$C_BN4 4 /* unsigned 4-byte binary */>#define XAB$C_PAC 5 /* packed decimal string (1-16 bytes) */1#define XAB$C_IN8 6 /* signed 63 bit integer */)#define XAB$C_BN8 7 /* 8 byte binary *//#define XAB$C_DSTG 32 /* descending string */0#def ine XAB$C_DIN2 33 /* " signed word */2#define XAB$C_DBN2 34 /* " unsigned word */4#define XAB$C_DIN4 35 /* " signed longword */6#define XAB$C_DBN4 36 /* " unsigned longword */3#define XAB$C_DPAC 37 /* " packed decimal */4#define XAB$C_DIN8 38 /* " signed quadword */6#define XAB$C_DBN8 39 /* " unsigned quadword */4#define XAB$C_MAXDTP 39 /* max. legal data type */> unsigned char xab$b_nsg; /* number of key segments */@ unsigne d char xab$b_nul; /* null key character value */D unsigned char xab$b_tks; /* total key field size (bytes) */^ unsigned char xab$b_ref; /* key of reference (0=primary key, 1-254=alternate keys) */> unsigned short xab$w_mrl; /* minimum record length */G unsigned short xab$w_ifl; /* index bucket fill size (bytes) */F unsigned short xab$w_dfl; /* data bucket fill size (bytes) */ variant_union {I unsigned short xab$w_pos[8]; /* key field record offset positions */ variant_struct { unsigned short xab$w_pos0; unsigned short xab$w_pos1; unsigned short xab$w_pos2; unsigned short xab$w_pos3; unsigned short xab$w_pos4; unsigned short xab$w_pos5; unsigned short xab$w_pos6; unsigned short xab$w_pos7; } xab$r_pos; } xab$r_pos_overlay; variant_union {F unsigned char xab$b_siz[8]; /* key field segment sizes (bytes) */ variant_struct { unsigned char xab$b_siz0; unsigned char xab$b_siz1; unsigned char xab$b_siz2; unsigned char xab$b_siz3; unsigned char xab$b_siz4; unsigned char xab$b_siz5; unsigned char xab$b_siz6; unsigned char xab$b_siz7; } xab$r_siz; } xab$r_siz_overlay;$ unsigned : 16; /* spare */2 char *xab$l_knm; /* key name buffer address */N unsigned long xab$l_dvb; /* first data bucket virtual block number */ variant_union {> unsigned char xab$b_typ[8]; /* key field segment types */ variant_struct { unsigned char xab$b_typ0; unsigned char xab$b_typ1; unsigned char xab$b_typ2; unsigned char xab$b_typ3; unsigned char xab$b_typ4; unsigned char xab$b_typ5; unsigned char xab$b_typ6; unsigned char xab$b_typ7; } xab$r_typ; } xab$r_typ_overlay;9 unsigned char xab$b_prolog; /* prologue level */(#define XAB$C_PRG1 1 /* prologue 1 */(#define XAB$C_PRG2 2 /* prologue 2 */(#define XAB$C_PRG3 3 /* prologue 3 */ unsigned : 24; /* spare */ };#ifdef RMS_GLOBAL_REF[globalref struct $XABKEY cc$rms_xabkey; /* Declare initialized prototype data structures */#endifD/* XABPRO -- File Protection Extended Attribute Block Definitions */struct XABPRO {" unsigned char xab$b_cod; -#define XAB$C_PRO 19 /* XABPRO type code */" unsigned char xab$b_bln; S#define XAB$C_PROLEN_V3 0x10 /* XABPRO block length (16 bytes) version 3.0 VMS */#define XAB$K_PROLEN_V3 0x10@#define XAB$C_PROLEN 0x58 /* XABPRO block length (88 bytes) */#define XAB$K_PROLEN 0x58 unsigned : 16; /* spare */+ char *xab$l_nxt; /* Next XAB in chain */ variant_union {5 unsigned short xab$w_pro; /* protection mask */$#define XAB$V_SYS 0 /* system */#define XAB$S_SYS 4##define XAB$V_OWN 4 /* owner */#define XAB$S_OWN 4##define XAB$V_GRP 8 /* group */#define XAB$S_GRP 4$#define XAB$V_WLD 12 /* world */#define XAB$S_WLD 41#define XAB$V_NOREAD 0 /* deny read access */ *#define XAB$M_NOREAD (1 << XAB$V_NOREAD)3#define XAB$V_NOWRITE 1 /* deny write access */,#define XAB$M_NOWRITE (1 << XAB$V_NOWRITE)5#define XAB$V_NOEXE 2 /* deny execution access *//#define XAB$M_NOEXE (1 << XAB$V_NOEXE)2#define XAB$V_NODEL 3 /* deny delete access */(#define XAB$M_NODEL (1 << XAB$V_NODEL) variant_struct {' unsigned xab$v_sys : 4; /* system */& unsigned xab$v_own : 4; /* owner */& unsigned xab$v_grp : 4; /* group */& unsigned xab $v_wld : 4; /* world */ } xab$r_pro; } xab$r_pro_overlay;D unsigned char xab$b_mtacc; /* magnetic tape accessibility */ variant_union {= unsigned char xab$b_prot_opt; /* XABPRO options field */U#define XAB$V_PROPOGATE 0 /* propogate security attributes on $ENTER and $RENAME */0#define XAB$M_PROPOGATE (1 << XAB$V_PROPOGATE) variant_struct {Y unsigned xab$v_propogate : 1; /* propogate security attributes on $ENTER and $RENAME */ } xab$r_prot_opt; ! } xab$r_prot_opt_overlay; variant_union {- unsigned long xab$l_uic; /* uic code */ variant_struct {= unsigned short xab$w_mbm; /* member number of file owner */< unsigned short xab$w_grp; /* group number of file owner */ } xab$r_uic; } xab$r_uic_overlay; variant_union {J unsigned long xab$q_prot_mode[2]; /* RWED/mode protection for file */M unsigned char xab$b_prot_mode; /* first byte of protection mode field */ } xab$r_prot_mode_overlay;9 ch"ar *xab$l_aclbuf; /* address of users ACL buffer */ D unsigned short xab$w_aclsiz; /* size of user's ACL buffer */G unsigned short xab$w_acllen; /* return lecngth of entire ACL */; unsigned long xab$l_aclctx; /* ACL context field */A unsigned long xab$l_aclsts; /* ACL return error status */ unsigned : 32; unsigned : 32; unsigned : 32; unsigned : 32; unsigned : 32; unsigned : 32; unsigned : 32; unsigned : 32; unsigned : 32; unsigned :# 32; unsigned : 32; unsigned : 32; };#ifdef RMS_GLOBAL_REF[globalref struct $XABPRO cc$rms_xabpro; /* Declare initialized prototype data structures */#endifK/* XABRDT -- Revision Date and Time Extended Attribute Block Definitions */struct $XABRDT {" unsigned char xab$b_cod; -#define XAB$C_RDT 30 /* XABRDT type code */" unsigned char xab$b_bln; @#define XAB$C_RDTLEN 0x14 /* XABRDT block length (20 bytes) */#define XAB$K_RDTLEN 0x14 uns$igned : 16; /* spare */+ char *xab$l_nxt; /* Next XAB in chain */7 unsigned short xab$w_rvn; /* revision number */ unsigned : 16; /* spare */ variant_union {> unsigned long xab$q_rdt[2]; /* revision date and time */ variant_struct { unsigned long xab$l_rdt0; unsigned long xab$l_rdt4; } xab$r_rdt; } xab$r_rdt_overlay; };#ifdef RMS_GLOBAL_REF[globalref struct $XABRDT cc$rms_xabrdt; /* Declare initialized prototype data structures */#e%ndif</* XABSUM -- Summary Extended Attribute Block Definitions */struct $XABSUM {! unsigned char xab$b_cod; -#define XAB$C_SUM 22 /* XABSUM type code */! unsigned char xab$b_bln; @#define XAB$C_SUMLEN 0x0C /* XABSUM block length (12 bytes) */#define XAB$K_SUMLEN 0x0C  unsigned : 16; /* spare */+ char *xab$l_nxt; /* Next XAB in chain */V unsigned char xab$b_noa; /* number of allocation areas defined for the file */J unsigned char xab$b_n&ok; /* number of keys defined for the file */@ unsigned short xab$w_pvn; /* prologue version number */ };#ifdef RMS_GLOBAL_REF[globalref struct $XABSUM cc$rms_xabsum; /* Declare initialized prototype data structures */#endif5/* XABTRM - Terminal Control XAB field definitions */struct $XABTRM { unsigned char xab$b_cod;-#define XAB$C_TRM 31 /* XABSUM type code */ unsigned char xab$b_bln;6#define XAB$C_TRMLEN 36 /* length of XABTRM block */6#def'ine XAB$K_TRMLEN 36 /* length of XABTRM block */ unsigned : 16; /* spare *// char *xab$l_nxt; /* address of next block */. char *xab$l_itmlst; /* item list address */A unsigned short xab$w_itmlst_len; /* length of item list */ unsigned : 16; unsigned : 32; unsigned : 32; unsigned : 32; unsigned : 32; unsigned : 32; };#ifdef RMS_GLOBAL_REFZglobalref struct $XABTRM cc$rms_xabtrm; /* declare initialized prototype data structure */#endifww( /*+ DESCRIP2B Module (DESCRIP2) of SYS$LIBRARY:LCLCDEF.TLB and file DESCRIP2.H.D This module defines some additions to the standard VAX-11 C include3 module (DESCRIP) found in SYS$LIBRARY:CSYSDEF.TLB." The following macros are defined:D $DESCRIPTOR0(name) empty string descriptor (length andA pointer fields initialzed to 0).B $DESCRIPTOR1(name,string) string descriptor for 1 character6 or a whol)e structure.@ $DESCRIPTORM(name,string) string descriptor for structureF member or non-NUL terminated strings.2 $DESCRIPTORA(name,array,type) array descriptor.< $LENGTH(descriptor) length field of descriptor.= $POINTER(descriptor) pointer field of descriptor.-*//* V1.0 16-May-83 FJN Created*/5/* DESCRIP2 - Extended VMS Descriptor Definitions */C/* Invoke standard descriptor definitions if not already done so **/#ifndef $DESCRIPTOR#include descrip#endif</* simple macro to construct an empty string descriptor */#define $DESCRIPTOR0(name) \F struct dsc$descriptor_s name = { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0 }:/* simple macro to construct string descriptor for single, characters or for complete structures: */##define $DESCRIPTOR1(name,string) \Y struct dsc$descriptor_s name = { sizeof(string), DSC$K_DTYPE_T, DSC$K_CLASS_S, &string }6/* macro to construct string descriptor f+or structure, members or non-NUL terminated strings: */##define $DESCRIPTORM(name,string) \X struct dsc$descriptor_s name = { sizeof(string), DSC$K_DTYPE_T, DSC$K_CLASS_S, string }-/* macro to construct array desciptors: */'#define $DESCRIPTORA(name,array,type) \\ struct dsc$descriptor_a name = { sizeof(type), DSC$K_DTYPE_L, DSC$K_CLASS_A, array, 0, 0, \* { 0, 0, 0, 0, 0 }, 1, sizeof(array) }6/* macros to reference the length or pointer fields of descriptors */3#d,efine $LENGTH(descriptor) descriptor.dsc$w_length5#define $POINTER(descriptor) descriptor.dsc$a_pointer/* End of DESCRIP2 module*/ww@'4/*+ LEX* Module (LEX) of SYS$LIBRARY:LCLCDEF.TLB.? Definitions for use with the Lexical Analyzer from the DECUS CA system. See the documentation on LEX for more information. The1 native mode LEXLIB is SYS$LIBRARY:VAXLEXLIB.OLB.-*//*. * lex library header file -- accessed through * #include  *//*: *- Bob Denny 28-Aug-82 Remove reference to FILE *lexin to5 * eliminate dependency on standard I/O library. Only= * lexgetc() used it, and it's there now. Add EOF definition8 * for standalone uses. Corrected comment for llnxtmax. *//*" * Description of scanning tables. *8 * The entries at the front of the struct must remain in, * place for the assembler routines to find. */struct lextab {' int llendst; /* Last state number */- char *lldefault; /* Default state table */' . char *llnext; /* Next state table */$ char *llcheck; /* Check table */! int *llbase; /* Base table */) int llnxtmax; /* Last in next table */- int (*llmove)(); /* Move between states */. int *llfinal; /* Final state descriptions */( int (*llactr)(); /* Action routine */1 int *lllook; /* Look ahead vector if != NULL */0 char *llign; /* Ignore char vec if != NULL *// char *llbrk; /* Break char vec if != NULL */1 char *llill; /* Illegal char vec if != NULL */};/extern struct lextab *_tabp;#define lexval yylval#define LEXERR 256#define LEXSKIP (-1)#define EOF (-1)#define NULL (0)/*' * #define LEXECHO(fp) {lexecho((fp));} */extern int lexval;extern int yyline;extern char llbuf[];extern char *llend;#define lextext llbuf#define lexlast llendww`Ë /*+ MSGTYPDEF0 Module (MSGTYPDEF) of SYS$LIBRARY:LCLCDEF.TLB.: Defines the ACNET message type code symbols for VAX-11 C. A HDR_K_LENGTH gives 0the length of the message header in bytes3 MSG_K_REPLY gives the Reply message type code% MSG_K_RPY same as MSG_K_REPLY5 MSG_K_REQUEST gives the Request message type code' MSG_K_REQ same as MSG_K_REQUESTA MSG_K_UNSOLIC gives the Unsolicited Special Message type code' MSG_K_USM same as MSG_K_UNSOLIC -*/C#define HDR_K_LENGTH 14 /* Length of message header in bytes */3#define MSG_K_REPLY 2 /* Reply message type */5#define MSG_K_REQUEST 11 /* Request message type */G#define MSG_K_UNSOLIC 0 /* Unsolicited special message type (USM) */!#define MSG_K_REQ 1 /* */!#define MSG_K_RPY 2 /* */!#define MSG_K_USM 0 /* *//* End of MSGTYPDEF module.*/ww!쯨 /*+ NODEDEFS- Module (NODEDEFS) of FERMI$LIB:LCLCDEF.TLB. File NODEDEFS.H in RSX$LIB:.= NODEDEFS defines symbolic names for the ACNET logical nodes. @ Nodes should always be specified symbolically though for ease> 2 of verifying conversions (ODT) some node definitions may be@ computed based on the MAC number used on the XEROX systems by( adding the following decimal offsets: + Booster: add 30 to old MAC numberA MR/SY: add 30 to old MAC number (includes Beam Lines)+ SCRUB System: add 50 to old MAC number-*//*G V2.0 03-Nov-82 FJN Added CNS17-24,deleted some MAC's,added some test Front Ends> V2.1 04-Nov-82 FJN Expand to 72 nodes, many test Front EndsE V2.2 1 32-Sep-84 FJN Add definitions of ADCALC, DEVL2 and AOPS nodesC V2.3 11-Feb-86 FJN Correct BOOSTR name (left off "R" previously)C Logical node 0 is always the "local" node on which the program isE actually running. This is used to communicate to the local network@ task/process or to other user tasks/processes via the network.*/$#define LOCAL 0 /* Local system *//*H Console logical nodes. CNS9-24 are not in existence but are assigned!J There is absolutely no implied mapping4 from logical to physical console!*/#define CNS1 1 /* Console #1 */#define CNS2 2 /* Console #2 */#define CNS3 3 /* Console #3 */#define CNS4 4 /* Console #4 */#define CNS5 5 /* Console #5 */#define CNS6 6 /* Console #6 */#define CNS7 7 /* Console #7 */#define CNS8 8 /* Console #8 */#define CNS9 9 /* Console #9 */"#define CNS10 10 /* Console #10 */"#define CNS11 11 /* Console #11 */"#define CNS12 12 /* Console #12 */"#define CNS13 13 /* Console #13 */"#define CNS14 145 /* Console #14 */"#define CNS15 15 /* Console #15 */"#define CNS16 16 /* Console #16 */"#define CNS17 64 /* Console #17 */"#define CNS18 65 /* Console #18 */"#define CNS19 66 /* Console #19 */"#define CNS20 67 /* Console #20 */"#define CNS21 68 /* Console #21 */"#define CNS22 69 /* Console #22 */"#define CNS23 70 /* Console #23 */"#define CNS24 71 /* Console #24 */5#define AOPS 33 /* Accelerator Operations Displays *//* VAX logical nodes.*/-#define OPER 17 /* Operational Centr6al VAX */2#define CDBS 18 /* Central Data Base System VAX */5#define ADCALC 19 /* VAXCluster Calculational node */1#define DEVL 20 /* VAXCluster Development node */5#define DEVL2 55 /* VAXCluster Development node #2 *//* Front End logical nodes*/&#define LINAC 21 /* Linac Front End */)#define BOOSTR 22 /* Booster Front End */5#define MRING 23 /* Main Ring/Switchyard Front End */'#define TEV 24 /* Tevatron Front End */3#define UTIL 25 /* Utility/Clock Crate Front End */2#def7ine SWYD 26 /* Switchyard (clock) Front End */1#define PBAR 27 /* Antiproton Source Front End */,#define TEVRF 28 /* Tevatron RF Front End */7#define CHL 30 /* Central Helium Liquifier Front End */##define FIRUS 54 /* FIRUS system *//* MAC-16 Logical nodes.*/#define MACA 31 /* MAC-A */6#define DECB 32 /* DEC-B MRPS System (via PDC link) */(#define BTMAC 34 /* Beam Transfer MAC */&#define MRRF 35 /* Main Ring RF MAC */6#define DECC 38 /* DEC-C MRPS System (via PDC link) *//#def8ine SYMAC 39 /* Switchyard Auxiliary MAC */"#define MRCURV 41 /* Curves MAC */)#define T8GEV 42 /* 8 Gev Transfer MAC */+#define RFWEST 43 /* Booster RF West MAC */+#define RFEAST 44 /* Booster RF East MAC */*#define SRLMAC 46 /* Booster Serial MAC */(#define COOLMC 53 /* Cooling Ring MAC *//*) Experimental Beam Line Computer Systems*/+#define NEUTRN 50 /* Neutrino Laboratory */'#define MESON 51 /* Meson Laboratory */)#define PROTON 52 /* Proton Laboratory *//*7 Logi9cal nodes for testing network and other software.*/)#define TSTING 49 /* General Test Node *//* Test Front End logical nodes*/,#define LINACT 56 /* Test Linac Front End */.#define BOOSTT 57 /* Test Booster Front End */;#define MRINGT 58 /* Test Main Ring/Switchyard Front End */-#define TEVT 59 /* Test Tevatron Front End */9#define UTILT 60 /* Test Utility/Clock Crate Front End */8#define SWYDT 61 /* Test Switchyard (clock) Front End */7#define PBART 62 /* Test Antiproton Source: Front End */2#define TEVRFT 63 /* Test Tevatron RF Front End */9#define CHLT 47 /* Test Central He Liquifier Front End */)#define FIRUST 48 /* Test FIRUS system *//* End of NODEDEFS module.*/ww@i^܎ /*+ PMLUSE+ Module (PMLUSE) of FERMI$LIB:LCLCDEF.TLB.; Definitions for users of the Portable Math Library (PML).-*/ /*3 * This file should be included in any user routine2 * which accesses the Portable Math Library (PML). * */ #ifdef PDP107#def;ine dasinh qzzz8 /* rename to avoid name clash */7#define dacosh qzzz9 /* rename to avoid name clash */7#define datanh qzzy0 /* rename to avoid name clash */7#define datan2 qzzy1 /* rename to avoid name clash */#endif /* And some data structures */typedef struct complex { double real; double imag; } COMPLEX;A /* Define the error codes used internally in library routines */#define DEXP_OVERFLOW 0#define DEXP_UNDERFLOW 1#define DSCALE_OVERFLOW 2#defin<e NEG_DSQRT 3#define LOG_OF_ZERO 4#define LOG_OF_NEGATIVE 5#define DACOS_BADARG 6#define DASIN_BADARG 7#define DTAN_OVERFLOW 8#define DCOSH_OVERFLOW 9#define DCOSH_UNDERFLOW 10#define DSINH_OVERFLOW 11#define DSINH_UNDERFLOW 12#define DASINH_OVERFLOW 13#define DACOSH_BADARG 14#define DACOSH_OVERFLOW 15#define DATANH_BADARG 16#define DATAN_UNDERFLOW 17#define C_DIV_ZERO 18#define CRCP_OF_ZERO 19#define DSCALE_UNDERFLOW 20#define DINT_2BIG 21 /* * Error c=ontrol values */=#define CONTINUE 01 /* Bit to continue processing on error */6#define LOG 02 /* Bit to log error (print message) */8#define COUNT 04 /* Bit to count error against limit */ww@tKË /*+ REQRPYFLG0 Module (REQRPYFLG) of SYS$LIBRARY:LCLCDEF.TLB.B REQRPYFLG defines the symbolic names for FORTRAN of the bit masksD for the Request and Reply option flags used in the NET_SEND_REQUEST- and NET_SEND_REPLY network service routines. 7 The option bits are> defined as masks. The options are: 2 RPY_M_ENDMULT; Mask for the end-multiple-reply bit in the reply options.? Used to terminate a multiple-reply request from the replier's end. Also known as EMR. 2 REQ_M_FCPASTB Mask for the enable first-packet-AST bit in the request options.B Used to enable delivery of a reply AST whenever the first packet= (in the chronological sense) has been moved into the user's reply buffer. 2 RPY_M_LOCKED> Mask for the buffer-remains-lo ?cked bit in the reply options.8 Used to override the receive buffer unlock done in the= NET_SEND_REPLY. Also known as BRL (buffer-remains-locked). 2 REQ_M_MULTRPY9 Mask for the multiple reply bit in the request options.A Used to indicate a request to which more than one reply message( is to be returned. Also known as MLT. 2 REQ_M_NOBSYWT7 Mask for the no-busy-wait bit in the request options.: Used to fail a request (return status-only reply) if the< destination task i @s busy with another message. Also known as NBW. -*/B#define REQ_M_FCPAST 0X04 /* NET/NTV_SEND_REQUEST - enable */$ /* first packet reply AST's */D#define REQ_M_MLT 0X01 /* NET/NTV_SEND_REQUEST - multiple */4#define REQ_M_MULTRPY 0X01 /* reply request */C#define REQ_M_NBW 0X02 /* NET/NTV_SEND_REQUEST - request */G#define REQ_M_NOBSYWT 0X02 /* to be failed if destination busy */A#define RPY_M_BRL 0X04 /* NET/NTV_SEND_REPLY - receive */A<#define RPY_M_LOCKED 0X04 /* buffer remains locked */F#define RPY_M_EMR 0X02 /* NET/NTV_SEND_REPLY - end multiple */;#define RPY_M_ENDMULT 0X02 /* replies (last reply) *//* End of REQRPYFLG module.*/ww@\+-ԋ /*+ UABFLGDEF/ Module (UABFLGDEF) of SYS$LIBRARY:LCLCDEF.TLB.B Defines the REQUEST_FLAGS and REPLY_FLAGS structures for the bitsA and fields of the UAB_B_FLAGS byte of the User AST Block and the= request_flags and reply_flags argumentsB of the CHECK_xxx and# WAIT_xxx network service routines. 1 The field names follow the standard definitions:D UAB_V_ is a constant giving the bit number offset to the bit or field> UAB_M_ is a constant bit mask for the field or bit= uab_v_ is the particular field of the appropriate= structure as defined in the documentation. 2 REPLY_FLAGS" The fields of this structure are:E uab_v_1stpkt bit field indic Cates that this reply AST is the firstC packet AST (declared after the first chronologicalD packet of the message has been stored in the user's< reply buffer). Only used with reply AST's.+ uab_v_multrpy is the multiple reply bit.E uab_v_toolong bit indicates that the reply was truncated to fit in& the specified buffer. 2 REQUEST_FLAGS" The fields of this structure are:D uab_v_cancel bit indicates that the outstaDnding request has beenC cancelled and no more replies should be generated.) Only used with requests.0 uab_v_msgtype is the message type code field.+ uab_v_multrpy is the multiple reply bit.G uab_v_toolong bit indicates that the request was truncated to fit in& the specified buffer. -*//*L _M_ are masks, _S_ are sizes of bit fields, _V_ are bit offsets to bits or fields, _K_ are constants.*/#ifndef vaxtypes6#include v Eaxtypes /* Extended VAX types and macros */#endifD#define UAB_M_CANCEL 0X80 /* Request being cancelled flag bit */6#define UAB_M_MSGTYPE 0X06 /* Message type field */;#define UAB_M_MULTRPY 0X01 /* Multiple reply flag bit */?#define UAB_M_TOOLONG 0X40 /* Message truncation flag bit */B#define UAB_M_1STPKT 0X80 /* 1st packet reply AST indicator */;#define UAB_S_MSGTYPE 2 /* Size of message type field *//*J Flags for replies, returned in reply UAB's or by CHECK_RFEPLY/WAIT_REPLY.*/struct REPLY_FLAGS { $bit(uab_v_multrpy); unsigned : 5; $bit(uab_v_toolong); $bit(uab_v_1stpkt); };/*5 Flags for requests, returned in request UAB's or by CHECK_REQUEST/WAIT_REQUEST.*/struct REQUEST_FLAGS { $bit(uab_v_multrpy);* $ufield(uab_v_msgtype, UAB_S_MSGTYPE); unsigned : 3; $bit(uab_v_toolong); $bit(uab_v_cancel); };/* End of UABFLGDEF module.*/wwiB, /*+ VAXTYPESA ModuGle (VAXTYPES) of FERMI$LIB:LCLCDEF.TLB and file VAXTYPES.H.B This module defines some data types, constants and macros for use@ with VAX-11 C under VAX/VMS. Note that using these definitions> renders the program "non-portable". The "vaxtypes" symbol is? defined by this module and can be used to eliminate additional$ calls in other #include modules by: #ifndef vaxtypes #include vaxtypes #endif 2 Constants- Defined constants for general VAX-11C usage:'H TRUE conditional true value (1)( FALSE conditional false value (0)0 EOF End-of-file flag (for standard I/O)( NULL Undefined pointer value (0)2 MAX_... Maximum value for several data types:2 int,ulong,short,uword,char,ubyte7 MIN_... Minimum value for several data types which) may take on negative values: int,short,char2 Types7 Additional types (or structures) for use with VAX-11 C. byte / ubyte I signed / unsigned 8-bit byte/ word / uword signed / unsigned 16-bit word3 long / ulong signed / unsigned 32-bit longword3 quad / uquad signed / unsigned 64-bit quadword4 octa / uocta signed / unsigned 128-bit octaword6 address general address (pointer to byte or char)A queue structure defining a queue header or the queue links& (fields flink and blink).? vmstime VMS-returned system time type (long array of [2]).< For simplicity, [u]quad, [u J]octa and vmstime are defined asA arrays of long's (or unsigned long's). See also $bit, $[u]field under the "Macros" subtopic.2 Macros/ Macros defined for use with VAX-11 C under VMSF $VMS_SUCCESS(code) TRUE if the status code has a severity code ofF success or informational (success indication).F $VMS_FAILURE(code) TRUE if the status code has a severity code ofD warning, error or severe (error indication).F SIGNAL_FAILURE(code) Kif code has an error indication severity, then< call LIB$SIGNAL to signal the error.F ABORT_ON_FAILURE(code) if code has an error indication severity, thenD call LIB$STOP to signal the error and abort.G RETURN_ON_FAILURE(code) if code has an error indication severity, thenG exit the routine returning the status code (useB only in routines which return VMS status).C $bit(name) defines a si Lngle bit in a struct (unsigned)F $field(name,size) defines a bit field of "size" bits in a struct@ $ufield(name,size) same as $field but for an unsigned field, $align align to next byte field in struct3 $unused(size) unused field of "size" bits-*//* V1.0 08-Feb-83 FJN Created, V2.0 09-Feb-83 FJN Corrected and expandedE V3.0 22-Feb-83 FJN Changed names to be similar to VAX-11 PASCAL V2* V3.1 17-Apr-83 FJN Added $VMS... macros; V3.2 22-Jul-83 FJN Dropped M$ from byte/ubyte, etc. types? V3.3 19-Sep-83 FJN Added macros $unused, SIGNAL_FAILURE, and ABORT_ON_FAILURE- V3.4 01-Aug-85 FJN Added RETURN_ON_FAILURE*/#ifndef vaxtypes<#define vaxtypes 1 /* To invoke this procedure only once! */-typedef char *address; /* General address */,typedef char byte; /* 8-bit signed byte */.typedef short word; /* 16-bit signed word */</* typedef long long; */ /* 32-bit signed longword (already defined by VAX-11 C */3typedef long N quad[2]; /* 64-bit signed quadword */4typedef long octa[4]; /* 128-bit signed octaword */7typedef unsigned char ubyte; /* 8-bit unsigned byte */9typedef unsigned short uword; /* 16-bit unsigned word */<typedef unsigned long ulong; /* 32-bit unsigned longword */>typedef unsigned long uquad[2]; /* 64-bit unsigned quadword */?typedef unsigned long uocta[4]; /* 128-bit unsigned octaword */:typedef long int vmstime[2]; /* Quadword with VMS time */+struct queue { /* Queue header O/links */2 unsigned int *flink; /* Forward link pointer */3 unsigned int *blink; /* Backward link pointer */ };/** Define shorthands for struct bit fields:*/7#define $bit(name) unsigned name : 1 /* Single bit */E#define $field(name,size) int name : size /* Field of "size" bits */J#define $ufield(name,size) unsigned name : size /* Field of "size" bits */5#define $align unsigned : 0 /* Re-align on byte */E#define $unused(size) unsigned : size /* Unused "size" bit fieldP */#endifM/* Some (re-)definitions from STDIO module (used when STDIO is not called) */ #ifndef EOF#define TRUE 1#define FALSE 0#define EOF (-1)#define NULL 0#endifJ/* Define constants giving minimum and maximum values for various types */#ifndef MAX_INTB#define MAX_INT 2147483647 /* Maximum value in signed longword */A#define MAX_ULONG 4294967295 /* Maximum value in unsigned long */;#define MAX_SHORT 32767 /* Maximum value in signed word */=#define MAX_UWORD 65535 Q /* Maximum value in unsigned word */8#define MAX_CHAR 127 /* Maximum value in signed byte */;#define MAX_UBYTE 255 /* Maximum value in unsigned byte */C#define MIN_INT -2147483648 /* Minimum value in signed longword */<#define MIN_SHORT -32768 /* Minimum value in signed word */9#define MIN_CHAR -128 /* Minimum value in signed byte */#endifC/* Define macros used to provide quick test of VMS completion codesG and macros to signal or abort (signal and stop) on failure codes. */ R#ifndef $VMS_SUCCESS<#define $VMS_SUCCESS(code) ((code) & 1) /* for success */C#define $VMS_FAILURE(code) (!$VMS_SUCCESS(code)) /* for failure */) /* Signal failure completion code */E#define SIGNAL_FAILURE(code) if ($VMS_FAILURE(code)) LIB$SIGNAL(code)+ /* Abort on failure completion code */E#define ABORT_ON_FAILURE(code) if ($VMS_FAILURE(code)) LIB$STOP(code)) /* Return failure completion code */D#define RETURN_ON_FAILURE(code) if ($VMS_FAILURE(code)) return(code)#endif/* End of VAXTYPES module*/wwT  NAGY $SMGDEF L NAGY $FATDEF @tV NAGY $FIBDEF NAGY $FAB  NAGY $NAM  NAGY $NAM 3+ NAGY $RABG3  NAGY $XAB : NAGY $SMBDEF nǜ NAGY $CINDEF Y\ NAGY $XAB % NAGY $SMBDEF@+ NAGY $FAB sH NAGY $SMGDEF`W NAGY $XAB`h NAGY $XAB H NAGY $SMBDEF  NAGY $UCBSTS! VE& NAGY $UAB_DEF!@B, NAGY VAXTYPES