/********************************************************************************************************************************/ /* Created: 15-MAR-2001 23:37:21 by OpenVMS SDL EV1-33 */ /* Source: 15-MAR-2001 23:34:36 _$11$DUA933:[BUILD.SDL]LBRUSR.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $LBRDEF ***/ #ifndef __LBRDEF_LOADED #define __LBRDEF_LOADED 1 #pragma nostandard #ifdef __cplusplus extern "C" { #define __unknown_params ... #else #define __unknown_params #endif #if !defined(__VAXC) && !defined(VAXC) #define __struct struct #define __union union #else #define __struct variant_struct #define __union variant_union #endif /* */ /* Types of libraries */ /* */ /* Define the library types */ #define LBR$C_TYP_UNK 0 /* Unknown/unspecified library type */ #define LBR$C_TYP_OBJ 1 /* Object/shareable image library */ #define LBR$C_TYP_MLB 2 /* Macro library */ #define LBR$C_TYP_HLP 3 /* Help file library */ #define LBR$C_TYP_TXT 4 /* TEXT library */ #define LBR$C_TYP_SHSTB 5 /* Shareable image symbol library */ #define LBR$C_TYP_NCS 6 /* NCS library */ #define LBR$C_TYP_DECMX 6 /* Maximum Digital library type defined */ #define LBR$C_TYP_EOBJ 7 /* Alpha object library */ #define LBR$C_TYP_ESHSTB 8 /* Alpha Shareable image symbol library */ #define ELBR$C_TYP_DECMX 8 /* Maximum Digital (Alpha) library type defined */ #define LBR$C_TYP_RDEC 127 /* Types between DECMX and RDEC are */ /* reserved to Digital */ #define LBR$C_TYP_USRLW 128 /* User library types range from 128 */ #define LBR$C_TYP_USRHI 255 /* to 255. */ /* */ /* Function codes for lbr$flush */ /* */ #define LBR$C_FLUSHDATA 1 /* Flush data blocks from cache */ #define LBR$C_FLUSHALL 0 /* Flush data blocks, then index blocks */ /* */ /* Librarian fixed parameters */ /* */ #define LBR$C_MAXRECSIZ 2048 /* Maximum record size allowed */ #define LBR$C_PAGESIZE 512 /* Size of memory page */ #define LBR$C_HASHSIZE 512 /* Size of hash table ** Must be power of 2 ** */ #define LBR$C_TEXTPAGE 508 /* No. of useable bytes on a text page */ #define LBR$C_DEXTQ 50 /* Library default extend quantity */ #define LBR$C_MAXCTL 16 /* Maximum number of open libraries */ #define LBR$C_MAXHDRSIZ 128 /* Maximum length of module header */ /* (max user length is: */ /* lbr$c_maxhdrsiz-mhd$c_length) */ #define LBR$C_DEFENTALL 300 /* Number of entries to allocate by default */ #define LBR$C_RETRYOPEN 120 /* Number of times to retry open on RMS$_FLK */ #define LBR$C_RETRYWAIT 1 /* Number of seconds to wait */ #define LBR$C_MINREAD 2 /* Minimum number of blocks to read */ #define LBR$C_MAXREAD 100 /* Max blocks can ever read */ #define LBR$C_MEMXTRA 50 /* Number blocks to expand region by above and beyond lbr$gl_maxread */ #define LBR$C_PUTBUFSIZ 30 /* Block size of VM empty cache buffer */ #define LBR$C_FLSHBFSIZ 1 /* Block size of stack mt_cache buffer */ #define LBR$C_MAXIDXRD 20 /* Maximum blocks in one index read */ #define LBR$C_MAXKEYLEN 128 /* Maximum length of an ASCII keyword, at most N, where */ /* 3*(N+7) < or = 506 */ #define LBR$C_MAXLUHREC 32768 /* maximum library update history record length */ /* */ /* Librarian fixed parameters for ALPHA */ /* */ #define ELBR$C_MAXRECSIZ 8192 /* Maximum record size allowed */ /* */ /* LBR$INI_CONTROL argument list */ /* */ #define LBR$C_CREATE 0 /* Create a new library */ #define LBR$C_READ 1 /* Read an existing library */ #define LBR$C_UPDATE 2 /* Update an exisiting library */ #define LBR$C_MAXFUNC 2 /* Maximum legal function */ struct lbrdef { int lbrdef$$_fill_1; /* Argument count */ unsigned int lbr$l_ic_ctltbl; /* Control index address */ unsigned int lbr$l_ic_func; /* Function */ unsigned int lbr$l_ic_type; /* Type of library expected to open */ /* */ /* LBR$OPEN argument list */ /* */ } ; struct lbrdef1 { int lbrdef$$_fill_2; /* Argument count */ unsigned int lbr$l_op_ctltbl; /* Control index address */ unsigned int lbr$l_op_fns; /* Address of string descriptor for filename */ unsigned int lbr$l_op_creopt; /* Address of create options array */ unsigned int lbr$l_op_dns; /* Address of descriptor for default name string */ unsigned int lbr$l_op_rlfna; /* Address of NAM block for related file */ unsigned int lbr$l_op_rns; /* Address of descriptor for related filename string */ unsigned int lbr$l_op_rnslen; /* Address of longword to store resultant filename string length */ /* */ /* LBR$CLOSE argument list */ /* */ } ; struct lbrdef2 { int lbrdef$$_fill_3; /* Argument count */ unsigned int lbr$l_cl_ctltbl; /* Control index address */ /* */ /* LBR$GET_HEADER argument list */ /* */ } ; struct lbrdef3 { int lbrdef$$_fill_4; /* Argument count */ unsigned int lbr$l_gh_ctltbl; /* Address of Control index */ unsigned int lbr$l_gh_retary; /* Address of 128-longword array for return info */ /* */ /* LBR$SET_INDEX argument list */ /* */ } ; struct lbrdef4 { int lbrdef$$_fill_5; /* Argument count */ unsigned int lbr$l_si_ctltbl; /* Control index address */ unsigned int lbr$l_si_idxnum; /* Address of index number */ /* */ /* LBR$LOOKUP_KEY argument list */ /* */ } ; struct lbrdef5 { int lbrdef$$_fill_6; /* Argument count */ unsigned int lbr$l_lk_ctltbl; /* Control index address */ unsigned int lbr$l_lk_keynam; /* Address of string descriptor or binary value */ unsigned int lbr$l_lk_txtrfa; /* Address of quadword to return RFA if found */ /* */ /* LBR$INSERT_KEY argument list */ /* */ } ; struct lbrdef6 { int lbrdef$$_fill_7; /* Argument count */ unsigned int lbr$l_ik_ctltbl; /* Control index address */ unsigned int lbr$l_ik_keynam; /* Address of string descriptor or binary value */ unsigned int lbr$l_ik_txtrfa; /* Address of RFA of text */ /* */ /* LBR$REPLACE_MOD argument list */ /* */ /* */ /* LBR$REPLACE_KEY argument list */ /* */ } ; struct lbrdef7 { int lbrdef$$_fill_8; /* Argument count */ unsigned int lbr$l_rk_ctltbl; /* Control index address */ unsigned int lbr$l_rk_keynam; /* Address of string descriptor or binary value */ unsigned int lbr$l_rk_oldrfa; /* Address of RFA of old text */ unsigned int lbr$l_rk_newrfa; /* Address of RFA of new text */ /* */ /* LBR$DELETE_KEY argument list */ /* */ } ; struct lbrdef8 { int lbrdef$$_fill_9; /* Argument count */ unsigned int lbr$l_dk_ctltbl; /* Control index address */ unsigned int lbr$l_dk_keynam; /* Address of string descriptor or binary value */ /* */ /* LBR$DELETE_DATA argument list */ /* */ } ; struct lbrdef9 { int lbrdef$$_fill_10; /* Argument count */ unsigned int lbr$l_dd_ctltbl; /* Control index address */ unsigned int lbr$l_dd_txtrfa; /* Address of RFA to delete from */ /* */ /* LBR$GET_RECORD argument list */ /* */ } ; struct lbrdef10 { int lbrdef$$_fill_11; /* Argument count */ unsigned int lbr$l_gr_ctltbl; /* Control index address */ unsigned int lbr$l_gr_bufdes; /* Address of descriptor of buffer */ unsigned int lbr$l_gr_buflen; /* Address of longword to return record size */ /* */ /* LBR$PUT_RECORD argument list */ /* */ } ; struct lbrdef11 { int lbrdef$$_fill_12; /* Argument count */ unsigned int lbr$l_pr_ctltbl; /* Control index address */ unsigned int lbr$l_pr_bufdes; /* Address of descriptor of buffer to output */ unsigned int lbr$l_pr_txtrfa; /* Address of quadword to return RFA */ /* of text record */ /* */ /* LBR$PUT_END argument list */ /* */ } ; struct lbrdef12 { int lbrdef$$_fill_13; /* Argument count */ unsigned int lbr$l_pe_ctltbl; /* Control index address */ /* */ /* LBR$SEARCH argument list */ /* */ } ; struct lbrdef13 { int lbrdef$$_fill_14; /* Argument count */ unsigned int lbr$l_sr_ctltbl; /* Control index address */ unsigned int lbr$l_sr_idxnum; /* Address of index number */ unsigned int lbr$l_sr_rfa; /* Address of RFA to search index for */ unsigned int lbr$l_sr_usrtn; /* User routine to call on match */ /* */ /* Argument list for user routine called by LBR$SEARCH */ /* */ } ; struct lbrdef14 { int lbrdef$$_fill_15; /* Argument count */ unsigned int lbr$l_su_keydes; /* Address of string descriptor or binary value */ unsigned int lbr$l_su_txtrfa; /* Address of array containing rfa of module */ /* */ /* LBR$GET_INDEX argument list */ /* */ } ; struct lbrdef15 { int lbrdef$$_fill_16; /* Argument count */ unsigned int lbr$l_gi_ctltbl; /* Control index address */ unsigned int lbr$l_gi_idxnum; /* Index number */ unsigned int lbr$l_gi_usrtn; /* User routine to call for each entry */ /* */ /* Argument list for user routine called by LBR$GET_INDEX */ /* */ } ; struct lbrdef16 { int lbrdef$$_fill_17; /* Argument count */ unsigned int lbr$l_gu_keyadr; /* Address of descriptor or binary value */ unsigned int lbr$l_gu_txtrfa; /* RFA of associated text */ /* */ /* LBR$ADD_UPDATE argument list */ /* */ } ; #define LBR$C_ADDMOD 1 /* Add module */ #define LBR$C_DELMOD 2 /* Delete module */ #define LBR$C_REPMOD 3 /* Replace module */ /* */ struct lbrdef17 { int lbrdef$$_fill_18; /* Argument count */ unsigned int lbr$l_au_ctltbl; /* Control index address */ unsigned int lbr$l_au_flags; /* Flags */ unsigned int lbr$l_au_keynam; /* Address of string descriptor or binary value */ /* Types of operations logged */ /* LBR$GET_UPDATES argument list */ /* */ } ; struct lbrdef18 { int lbrdef$$_fill_19; /* Argument count */ unsigned int lbr$l_gu_ctltbl; /* Control index address */ unsigned int lbr$l_gu_usrtn; /* User routine to call for each update */ /* */ /* Argument list for user routine called by LBR$GET_UPDATES */ /* */ } ; struct lbrdef19 { int lbrdef$$_fill_20; /* Argument list */ unsigned int lbr$l_uu_updesc; /* String descriptor for history line */ } ; #ifdef __cplusplus } #endif #pragma standard #endif /* __LBRDEF_LOADED */