!*** MODULE $LBRDEF *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! ! Types of libraries ! ! Define the library types PARAMETER LBR$C_TYP_UNK = '00000000'X ! Unknown/unspecified library type PARAMETER LBR$C_TYP_OBJ = '00000001'X ! Object/shareable image library PARAMETER LBR$C_TYP_MLB = '00000002'X ! Macro library PARAMETER LBR$C_TYP_HLP = '00000003'X ! Help file library PARAMETER LBR$C_TYP_TXT = '00000004'X ! TEXT library PARAMETER LBR$C_TYP_SHSTB = '00000005'X ! Shareable image symbol library PARAMETER LBR$C_TYP_NCS = '00000006'X ! NCS library PARAMETER LBR$C_TYP_DECMX = '00000006'X ! Maximum Digital library type defined PARAMETER LBR$C_TYP_EOBJ = '00000007'X ! Alpha object library PARAMETER LBR$C_TYP_ESHSTB = '00000008'X ! Alpha Shareable image symbol library PARAMETER LBR$C_TYP_ELFOBJ = '00000009'X ! ELF object library PARAMETER LBR$C_TYP_ELFSHSTB = '0000000A'X ! ELF Shareable image symbol library PARAMETER ELBR$C_TYP_DECMX = '0000000A'X ! Maximum library type defined PARAMETER LBR$C_TYP_RDEC = '0000007F'X ! Types between DECMX and RDEC are ! reserved to Digital PARAMETER LBR$C_TYP_USRLW = '00000080'X ! User library types range from 128 PARAMETER LBR$C_TYP_USRHI = '000000FF'X ! to 255. ! ! Function codes for lbr$flush ! PARAMETER LBR$C_FLUSHDATA = '00000001'X ! Flush data blocks from cache PARAMETER LBR$C_FLUSHALL = '00000000'X ! Flush data blocks, then index blocks ! ! Librarian fixed parameters ! PARAMETER LBR$C_MAXRECSIZ = '00000800'X ! Maximum record size allowed PARAMETER LBR$C_PAGESIZE = '00000200'X ! Size of memory page PARAMETER LBR$C_HASHSIZE = '00000200'X ! Size of hash table ** Must be power of 2 ** PARAMETER LBR$C_TEXTPAGE = '000001FC'X ! No. of useable bytes on a text page PARAMETER LBR$C_DEXTQ = '00000032'X ! Library default extend quantity PARAMETER LBR$C_MAXCTL = '00000040'X ! Maximum number of open libraries PARAMETER LBR$C_MAXHDRSIZ = '00000080'X ! Maximum length of module header ! (max user length is: ! lbr$c_maxhdrsiz-mhd$c_length) PARAMETER LBR$C_DEFENTALL = '0000012C'X ! Number of entries to allocate by default PARAMETER LBR$C_RETRYOPEN = '00000078'X ! Number of times to retry open on RMS$_FLK PARAMETER LBR$C_RETRYWAIT = '00000001'X ! Number of seconds to wait PARAMETER LBR$C_MINREAD = '00000002'X ! Minimum number of blocks to read PARAMETER LBR$C_MAXREAD = '00000064'X ! Max blocks can ever read PARAMETER LBR$C_MEMXTRA = '00000032'X ! Number blocks to expand region by above and beyond lbr$gl ! Number blocks to expand region by above and beyond lbr$gl_m PARAMETER LBR$C_PUTBUFSIZ = '0000001E'X ! Block size of VM empty cache buffer PARAMETER LBR$C_FLSHBFSIZ = '00000001'X ! Block size of stack mt_cache buffer PARAMETER LBR$C_MAXIDXRD = '00000014'X ! Maximum blocks in one index read PARAMETER LBR$C_ELFMAXKEYLEN = '00000400'X ! Maximum length of an ASCII keyword for ELF libraries PARAMETER LBR$C_MAXKEYLEN = '00000080'X ! Maximum length of an ASCII keyword, at most N, where ! 3*(N+7) < or = 506 PARAMETER LBR$C_MAXLUHREC = '00008000'X ! maximum library update history record length PARAMETER LBR$M_SYM_WEAK = '00000001'X ! Weak symbol attribute PARAMETER LBR$M_SYM_GROUP = '00000002'X ! Group symbol attribute PARAMETER LBR$M_SYM_ALL = '80000000'X ! All types symbol PARAMETER LBR$M_SYM_NGG = '00000001'X ! Symbol type bitmasks - Nongroup global symbol PARAMETER LBR$M_SYM_UXWK = '00000002'X ! Symbol type bitmasks - Unix weak symbol PARAMETER LBR$M_SYM_GG = '00000004'X ! Symbol type bitmasks - group global symbol PARAMETER LBR$M_SYM_GUXWK = '00000008'X ! Symbol type bitmasks - group Unix weak symbol ! ! Librarian fixed parameters for ALPHA ! PARAMETER ELBR$C_MAXRECSIZ = '00002000'X ! Maximum record size allowed ! ! LBR$INI_CONTROL argument list ! PARAMETER LBR$C_CREATE = '00000000'X ! Create a new library PARAMETER LBR$C_READ = '00000001'X ! Read an existing library PARAMETER LBR$C_UPDATE = '00000002'X ! Update an exisiting library PARAMETER LBR$C_MAXFUNC = '00000002'X ! Maximum legal function STRUCTURE /LBRDEF/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_IC_CTLTBL ! Control index address INTEGER*4 LBR$L_IC_FUNC ! Function INTEGER*4 LBR$L_IC_TYPE ! Type of library expected to open ! ! LBR$OPEN argument list ! END STRUCTURE ! LBRDEF STRUCTURE /LBRDEF1/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_OP_CTLTBL ! Control index address INTEGER*4 LBR$L_OP_FNS ! Address of string descriptor for filename INTEGER*4 LBR$L_OP_CREOPT ! Address of create options array INTEGER*4 LBR$L_OP_DNS ! Address of descriptor for default name string INTEGER*4 LBR$L_OP_RLFNA ! Address of NAM block for related file INTEGER*4 LBR$L_OP_RNS ! Address of descriptor for related filename string INTEGER*4 LBR$L_OP_RNSLEN ! Address of longword to store resultant filename string length ! ! LBR$CLOSE argument list ! END STRUCTURE ! LBRDEF1 STRUCTURE /LBRDEF2/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_CL_CTLTBL ! Control index address ! ! LBR$GET_HEADER argument list ! END STRUCTURE ! LBRDEF2 STRUCTURE /LBRDEF3/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_GH_CTLTBL ! Address of Control index INTEGER*4 LBR$L_GH_RETARY ! Address of 128-longword array for return info ! ! LBR$SET_INDEX argument list ! END STRUCTURE ! LBRDEF3 STRUCTURE /LBRDEF4/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_SI_CTLTBL ! Control index address INTEGER*4 LBR$L_SI_IDXNUM ! Address of index number ! ! LBR$LOOKUP_KEY argument list ! END STRUCTURE ! LBRDEF4 STRUCTURE /LBRDEF5/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_LK_CTLTBL ! Control index address INTEGER*4 LBR$L_LK_KEYNAM ! Address of string descriptor or binary value INTEGER*4 LBR$L_LK_TXTRFA ! Address of quadword to return RFA if found ! ! LBR$INSERT_KEY argument list ! END STRUCTURE ! LBRDEF5 STRUCTURE /LBRDEF6/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_IK_CTLTBL ! Control index address INTEGER*4 LBR$L_IK_KEYNAM ! Address of string descriptor or binary value INTEGER*4 LBR$L_IK_TXTRFA ! Address of RFA of text ! ! LBR$REPLACE_MOD argument list ! ! ! LBR$REPLACE_KEY argument list ! END STRUCTURE ! LBRDEF6 STRUCTURE /LBRDEF7/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_RK_CTLTBL ! Control index address INTEGER*4 LBR$L_RK_KEYNAM ! Address of string descriptor or binary value INTEGER*4 LBR$L_RK_OLDRFA ! Address of RFA of old text INTEGER*4 LBR$L_RK_NEWRFA ! Address of RFA of new text ! ! LBR$DELETE_KEY argument list ! END STRUCTURE ! LBRDEF7 STRUCTURE /LBRDEF8/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_DK_CTLTBL ! Control index address INTEGER*4 LBR$L_DK_KEYNAM ! Address of string descriptor or binary value ! ! LBR$DELETE_DATA argument list ! END STRUCTURE ! LBRDEF8 STRUCTURE /LBRDEF9/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_DD_CTLTBL ! Control index address INTEGER*4 LBR$L_DD_TXTRFA ! Address of RFA to delete from ! ! LBR$GET_RECORD argument list ! END STRUCTURE ! LBRDEF9 STRUCTURE /LBRDEF10/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_GR_CTLTBL ! Control index address INTEGER*4 LBR$L_GR_BUFDES ! Address of descriptor of buffer INTEGER*4 LBR$L_GR_BUFLEN ! Address of longword to return record size ! ! LBR$PUT_RECORD argument list ! END STRUCTURE ! LBRDEF10 STRUCTURE /LBRDEF11/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_PR_CTLTBL ! Control index address INTEGER*4 LBR$L_PR_BUFDES ! Address of descriptor of buffer to output INTEGER*4 LBR$L_PR_TXTRFA ! Address of quadword to return RFA ! of text record ! ! LBR$PUT_END argument list ! END STRUCTURE ! LBRDEF11 STRUCTURE /LBRDEF12/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_PE_CTLTBL ! Control index address ! ! LBR$SEARCH argument list ! END STRUCTURE ! LBRDEF12 STRUCTURE /LBRDEF13/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_SR_CTLTBL ! Control index address INTEGER*4 LBR$L_SR_IDXNUM ! Address of index number INTEGER*4 LBR$L_SR_RFA ! Address of RFA to search index for INTEGER*4 LBR$L_SR_USRTN ! User routine to call on match ! ! Argument list for user routine called by LBR$SEARCH ! END STRUCTURE ! LBRDEF13 STRUCTURE /LBRDEF14/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_SU_KEYDES ! Address of string descriptor or binary value INTEGER*4 LBR$L_SU_TXTRFA ! Address of array containing rfa of module ! ! LBR$GET_INDEX argument list ! END STRUCTURE ! LBRDEF14 STRUCTURE /LBRDEF15/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_GI_CTLTBL ! Control index address INTEGER*4 LBR$L_GI_IDXNUM ! Index number INTEGER*4 LBR$L_GI_USRTN ! User routine to call for each entry ! ! Argument list for user routine called by LBR$GET_INDEX ! END STRUCTURE ! LBRDEF15 STRUCTURE /LBRDEF16/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_GU_KEYADR ! Address of descriptor or binary value INTEGER*4 LBR$L_GU_TXTRFA ! RFA of associated text ! ! LBR$ADD_UPDATE argument list ! END STRUCTURE ! LBRDEF16 PARAMETER LBR$C_ADDMOD = '00000001'X ! Add module PARAMETER LBR$C_DELMOD = '00000002'X ! Delete module PARAMETER LBR$C_REPMOD = '00000003'X ! Replace module ! STRUCTURE /LBRDEF17/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_AU_CTLTBL ! Control index address INTEGER*4 LBR$L_AU_FLAGS ! Flags INTEGER*4 LBR$L_AU_KEYNAM ! Address of string descriptor or binary value ! Types of operations logged ! LBR$GET_UPDATES argument list ! END STRUCTURE ! LBRDEF17 STRUCTURE /LBRDEF18/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_GU_CTLTBL ! Control index address INTEGER*4 LBR$L_GU_USRTN ! User routine to call for each update ! ! Argument list for user routine called by LBR$GET_UPDATES ! END STRUCTURE ! LBRDEF18 STRUCTURE /LBRDEF19/ INTEGER*4 %FILL ! Argument list INTEGER*4 LBR$L_UU_UPDESC ! String descriptor for history line END STRUCTURE ! LBRDEF19 ! ! LBR$MAP_MODULE argument list ! STRUCTURE /LBRDEF20/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_MM_CTLTBL ! Control index address INTEGER*4 LBR$Q_MM_VAADDR(2) ! 64-bit virtual Address of the specified object module INTEGER*4 LBR$Q_MM_MODSIZ(2) ! Address of module size INTEGER*4 LBR$L_MM_TXTRFA ! Address of RFA to map from ! ! Argument list for user routine called by LBR$MAP_MODULE ! END STRUCTURE ! LBRDEF20 ! ! LBR$UNMAP_MODULE argument list ! STRUCTURE /LBRDEF21/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_UM_CTLTBL ! Control index address INTEGER*4 LBR$L_UM_TXTRFA ! Address of RFA to unmap ! ! Argument list for user routine called by LBR$UNMAP_MODULE ! END STRUCTURE ! LBRDEF21 ! ! LBR$GET_VERSION argument list ! STRUCTURE /LBRDEF22/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_GV_VERDESC ! Addr of Version Descriptor INTEGER*4 LBR$L_GV_RETLEN ! Address of ret. len. ! ! Argument list for user routine called by LBR$GET_VERSION ! END STRUCTURE ! LBRDEF22 ! ! LBR$LOOKUP_TYPE argument list ! STRUCTURE /LBRDEF23/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_LT_CTLTBL ! Control index address INTEGER*4 LBR$L_LT_KEYNAM ! Address of string descriptor or binary value INTEGER*4 LBR$L_LT_TXTRFA ! Address of quadword to return RFA if found INTEGER*4 LBR$L_LT_FLAG ! Address of ret. flag ! ! Argument list for user routine called by LBR$LOOKUP_TYPE ! END STRUCTURE ! LBRDEF23 ! ! LBR$PUT_MODULE argument list ! STRUCTURE /LBRDEF24/ INTEGER*4 %FILL ! Argument count INTEGER*4 LBR$L_PM_CTLTBL ! Control index address INTEGER*4 LBR$Q_PM_VAADDR(2) ! 64-bit virtual Address of the specified object module INTEGER*4 LBR$Q_PM_MODSIZ(2) ! Address of module size INTEGER*4 LBR$L_PM_TXTRFA ! Address of return RFA ! ! Argument list for user routine called by LBR$PUT_MODULE ! END STRUCTURE ! LBRDEF24 !DEC$ END OPTIONS