/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:02 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:00 $1$DGA8085:[STARLET_H.SRC]LBR$ROUTINES.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE LBR$ROUTINES IDENT X-4 ***/ #ifndef __LBR_ROUTINES_LOADED #define __LBR_ROUTINES_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /* */ /* */ /* This package defines the interfaces to the Librarian utility */ /* routines as documented in the OpenVMS Utility Routines Reference */ /* Manual. */ /* */ /* */ /* LBR$CLOSE - CLose a library */ /* */ /* status = LBR$CLOSE (library_index) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* */ #define lbr$close LBR$CLOSE #ifdef __NEW_STARLET unsigned int lbr$close( unsigned int *library_index); #else /* __OLD_STARLET */ unsigned int lbr$close(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$DELETE_DATA - Delete a module's data */ /* */ /* status = LBR$DELETE_DATA (library_index, txtrfa [,flags]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* txtrfa - RFA of module header for module to delete */ /* flags - key flags */ /* */ #define lbr$delete_data LBR$DELETE_DATA #ifdef __NEW_STARLET unsigned int lbr$delete_data( unsigned int *library_index, unsigned int *txtrfa, __optional_params); #else /* __OLD_STARLET */ unsigned int lbr$delete_data(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$DELETE_KEY - Delete a key */ /* */ /* status = LBR$DELETE_KEY (library_index, key_name [,txtrfa] [,flags]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* key_name - Key to be deleted - for binary keys, passed by */ /* reference, for string keys, by descriptor */ /* txtrfa - RFA of module header for key to delete */ /* flags - key flags */ /* */ #define lbr$delete_key LBR$DELETE_KEY #ifdef __NEW_STARLET unsigned int lbr$delete_key( unsigned int *library_index, unsigned int *key_name, __optional_params ); #else /* __OLD_STARLET */ unsigned int lbr$delete_key(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$FIND - Lookup a module by its RFA */ /* */ /* status = LBR$FIND (library_index, txtrfa) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* txtrfa - RFA of module to access */ /* */ #define lbr$find LBR$FIND #ifdef __NEW_STARLET unsigned int lbr$find( unsigned int *library_index, unsigned int *txtrfa); #else /* __OLD_STARLET */ unsigned int lbr$find(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$FLUSH - Recover virtual memory */ /* */ /* status = LBR$FLUSH (library_index, block_type) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* block_type - Extent of the flush operation */ #define lbr$flush LBR$FLUSH #ifdef __NEW_STARLET unsigned int lbr$flush( unsigned int *library_index, unsigned int block_type); #else /* __OLD_STARLET */ unsigned int lbr$flush(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$GET_HEADER - Retrieve library header information */ /* */ /* status = LBR$GET_HEADER (library_index, retary) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* retary - Array of 128 longwords to receive library header */ /* */ #define lbr$get_header LBR$GET_HEADER #ifdef __NEW_STARLET unsigned int lbr$get_header( unsigned int *library_index, unsigned int *retary); #else /* __OLD_STARLET */ unsigned int lbr$get_header(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$GET_HELP - Retrieve help text */ /* */ /* status = LBR$GET_HELP (library_index [,line_width] [,routine] */ /* [,data] [,key_n...]) */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* line_width - Width of the help text line */ /* routine - Routine called to output text line */ /* data - User data passed to routine */ /* key_n - Zero or more key strings */ /* */ #define lbr$get_help LBR$GET_HELP #ifdef __NEW_STARLET unsigned int lbr$get_help( unsigned int *library_index, __optional_params ); #else /* __OLD_STARLET */ unsigned int lbr$get_help(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$GET_HISTORY - Retrieve a library history update record */ /* */ /* status = LBR$GET_HISTORY (library_index, action_routine) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* action_routine - Routine to process history records */ /* */ #define lbr$get_history LBR$GET_HISTORY #ifdef __NEW_STARLET unsigned int lbr$get_history( int *library_index, int (*action_routine)(__unknown_params)); #else /* __OLD_STARLET */ unsigned int lbr$get_history(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$GET_INDEX - Call routine for selected index keys */ /* */ /* status = LBR$GET_INDEX (library_index, index_number, routine_name */ /* [,match_desc] [,flags]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* index_number - Number of the index to search */ /* routine_name - User routine to process selections */ /* match_desc - Key matching string */ /* flags - Key flags */ /* */ #define lbr$get_index LBR$GET_INDEX #ifdef __NEW_STARLET unsigned int lbr$get_index( unsigned int *library_index, unsigned int *index_number, int (*routine_name)(__unknown_params), __optional_params ); #else /* __OLD_STARLET */ unsigned int lbr$get_index(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$GET_RECORD - Read a data record */ /* */ /* status = LBR$GET_RECORD (library_index [,inbufdes] [,outbufdes]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* inbufdes - Buffer to receive record */ /* outbufdes - Descriptor receiving information about record */ #define lbr$get_record LBR$GET_RECORD #ifdef __NEW_STARLET unsigned int lbr$get_record( unsigned int *library_index, __optional_params ); #else /* __OLD_STARLET */ unsigned int lbr$get_record(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$INI_CONTROL - Initialize a library control structure */ /* */ /* status = LBR$INI_CONTROL (library_index, func [,type] [,namblk]) */ /* */ /* library_index - Receives index value */ /* func - Function to be performed */ /* type - Type of library */ /* namblk - RMS NAM block for library */ /* */ #define lbr$ini_control LBR$INI_CONTROL #ifdef __NEW_STARLET unsigned int lbr$ini_control( unsigned int *library_index, unsigned int *func, __optional_params ); #else /* __OLD_STARLET */ unsigned int lbr$ini_control(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$INSERT_KEY - Insert a new key */ /* */ /* status = LBR$INSERT_KEY (library_index, key_name, txtrfa [,flags]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* key_name - Name of key to insert (reference for binary key, */ /* descriptor for text key) */ /* txtrfa - RFA of module */ /* flags - key flags */ /* */ #define lbr$insert_key LBR$INSERT_KEY #ifdef __NEW_STARLET unsigned int lbr$insert_key( unsigned int *library_index, unsigned int *key_name, unsigned int *txtrfa, __optional_params); #else /* __OLD_STARLET */ unsigned int lbr$insert_key(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$LOOKUP_KEY - Look up a library key */ /* */ /* status = LBR$LOOKUP_KEY (library_index, key_name, txtrfa [,flags]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* key_name - Name of key to insert (reference for binary key, */ /* descriptor for text key) */ /* txtrfa - Receives RFA of module */ /* flags - Receives key flags */ /* */ #define lbr$lookup_key LBR$LOOKUP_KEY #ifdef __NEW_STARLET unsigned int lbr$lookup_key( unsigned int *library_index, unsigned int *key_name, unsigned int *txtrfa, __optional_params); #else /* __OLD_STARLET */ unsigned int lbr$lookup_key(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$LOOKUP_TYPE - Look up a type of key with specified RFA in */ /* library's current index */ /* */ /* status = LBR$LOOKUP_TYPE (library_index, key_name, txtrfa, flags) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* key_name - Name of key to insert (reference for binary key, */ /* descriptor for text key) */ /* txtrfa - RFA of module */ /* flags - Receives type of key */ /* */ #define lbr$lookup_type LBR$LOOKUP_TYPE #ifdef __NEW_STARLET unsigned int lbr$lookup_type( unsigned int *library_index, unsigned int *key_name, unsigned int *txtrfa, unsigned int *flags); #else /* __OLD_STARLET */ unsigned int lbr$lookup_type(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$OPEN - Open or create a library */ /* */ /* status = LBR$OPEN (library_index [,fns] [,create_options] [,dns] */ /* [,rlfna] [,rns] [,rnslen]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* fns - File specification of the library */ /* create_options - Library characteristics ($LBRDEF, $CREDEF) */ /* dns - Default file specification */ /* rlfna - Related file name block */ /* rns - Receives resultant file specification */ /* rnslen - Receives length of resultant file specification */ /* */ #define lbr$open LBR$OPEN #ifdef __NEW_STARLET unsigned int lbr$open( unsigned int *library_index, __optional_params ); #else /* __OLD_STARLET */ unsigned int lbr$open(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$OUTPUT_HELP - Output help messages */ /* */ /* status = LBR$OUTPUT_HELP (output_routine [,output_width] [,line_desc] */ /* [,library_name] [,flags] [,input_routine]) */ /* */ /* output_routine - Routine called to output text lines */ /* output_width - Maximum width of output lines */ /* line_desc - Help request line */ /* library_name - Name of the help library */ /* flags - Flags to control operation */ /* input_routine - Routine used for prompting */ /* */ #define lbr$output_help LBR$OUTPUT_HELP #ifdef __NEW_STARLET unsigned int lbr$output_help( int (*output_routine)(__unknown_params), __optional_params ); #else /* __OLD_STARLET */ unsigned int lbr$output_help(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$PUT_MODULE - Put an ELF object module to the ELF object library. */ /* */ /* status = LBR$PUT_MODULE (library_index, addr, size, txtrfa) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* addr - address of the ELF object module */ /* size - Size of the ELF object module */ /* txtrfa - Receives RFA of module */ /* */ #define lbr$put_module LBR$PUT_MODULE #ifdef __NEW_STARLET unsigned int lbr$put_module( unsigned int *library_index, unsigned __int64 *addr, unsigned __int64 *size, unsigned int *txtrfa); #else /* __OLD_STARLET */ unsigned int lbr$put_module(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$PUT_END - Write an end-of-module record */ /* */ /* status = LBR$PUT_END (library_index) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* */ #define lbr$put_end LBR$PUT_END #ifdef __NEW_STARLET unsigned int lbr$put_end( unsigned int *library_index); #else /* __OLD_STARLET */ unsigned int lbr$put_end(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$PUT_HISTORY - Write an update history record */ /* */ /* status = LBR$PUT_HISTORY (library_index, record_desc) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* record_desc - History record */ /* */ #define lbr$put_history LBR$PUT_HISTORY #ifdef __NEW_STARLET unsigned int lbr$put_history( unsigned int *library_index, void *record_desc); #else /* __OLD_STARLET */ unsigned int lbr$put_history(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$PUT_RECORD - Write a data record */ /* */ /* status = LBR$PUT_RECORD (library_index, bufdes, txtrfa [,modsize]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* bufdes - Record to be written */ /* txtrfa - Receives RFA of module */ /* modsize - ELF object module size */ #define lbr$put_record LBR$PUT_RECORD #ifdef __NEW_STARLET unsigned int lbr$put_record( unsigned int *library_index, void *bufdes, unsigned int *txtrfa, __optional_params); #else /* __OLD_STARLET */ unsigned int lbr$put_record(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$REPLACE_KEY - Replace a library key */ /* */ /* status = LBR$REPLACE_KEY (library_index, key_name, oldrfa, newrfa [,flags]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* key_name - Name of key, passed by reference or descriptor */ /* oldrfa - RFA of old module header */ /* newrfa - RFA of new module header */ /* flags - key flags */ /* */ #define lbr$replace_key LBR$REPLACE_KEY #ifdef __NEW_STARLET unsigned int lbr$replace_key( unsigned int *library_index, unsigned int *key_name, unsigned int *oldrfa, unsigned int *newrfa, __optional_params); #else /* __OLD_STARLET */ unsigned int lbr$replace_key(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$RET_RMSSTV - Return VMS RMS status value */ /* */ /* status = LBR$RET_RMSSTV () */ /* */ #define lbr$ret_rmsstv LBR$RET_RMSSTV #ifdef __NEW_STARLET unsigned int lbr$ret_rmsstv(void); #else /* __OLD_STARLET */ unsigned int lbr$ret_rmsstv(void); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$SEARCH - Search an index */ /* */ /* status = LBR$SEARCH (library_index, index_number, rfa_to_find, */ /* routine_name [,flags]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* index_number - Number of index to search */ /* rfa_to_find - RFA of module to search for */ /* routine_name - Routine called to process keys */ /* flags - Key flags */ #define lbr$search LBR$SEARCH #ifdef __NEW_STARLET unsigned int lbr$search( unsigned int *library_index, unsigned int *index_number, unsigned int *rfa_to_find, int (*routine_name)(__unknown_params), __optional_params); #else /* __OLD_STARLET */ unsigned int lbr$search(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$SET_INDEX - Set the current index number */ /* */ /* status = LBR$SET_INDEX (library_index, index_number) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* index_number - New index number */ /* */ #define lbr$set_index LBR$SET_INDEX #ifdef __NEW_STARLET unsigned int lbr$set_index( unsigned int *library_index, unsigned int *index_number); #else /* __OLD_STARLET */ unsigned int lbr$set_index(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$SET_LOCATE - Set record access to locate mode */ /* */ /* status = LBR$SET_LOCATE (library_index) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* */ #define lbr$set_locate LBR$SET_LOCATE #ifdef __NEW_STARLET unsigned int lbr$set_locate( unsigned int *library_index); #else /* __OLD_STARLET */ unsigned int lbr$set_locate(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$SET_MODULE - Read or update a module header */ /* */ /* status = LBR$SET_MODULE (library_index, rfa [,bufdesc] */ /* [,buflen] [,updatedesc]) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* rfa - RFA of module header */ /* bufdesc - Receives module header */ /* buflen - Receives length of module header */ /* updatedesc - Additional information to be stored in module header */ /* */ #define lbr$set_module LBR$SET_MODULE #ifdef __NEW_STARLET unsigned int lbr$set_module( unsigned int *library_index, unsigned int *rfa, __optional_params ); #else /* __OLD_STARLET */ unsigned int lbr$set_module(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$SET_MOVE - Set record access to move mode */ /* */ /* status = LBR$SET_MOVE (library_index) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* */ #define lbr$set_move LBR$SET_MOVE #ifdef __NEW_STARLET unsigned int lbr$set_move( unsigned int *library_index); #else /* __OLD_STARLET */ unsigned int lbr$set_move(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$MAP_MODULE - Copy/map an ELF object module from current library */ /* to the memory space */ /* */ /* statust = LBR$MAP_MODULE (library_index, addr, len, rfa) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* addr - Receives address of the module */ /* len - Receives length of module */ /* rfa - RFA of module */ /* */ #define lbr$map_module LBR$MAP_MODULE #ifdef __NEW_STARLET unsigned int lbr$map_module( unsigned int *library_index, unsigned __int64 *addr, unsigned __int64 *len, unsigned int *rfa); #else /* __OLD_STARLET */ unsigned int lbr$map_module(__unknown_params); #endif /* #ifdef __NEW_STARLET */ /* */ /* LBR$UNMAP_MODULE - Remove/release an ELF object module from the memory space */ /* */ /* status = LBR$UNMAP_MODULE (library_index, rfa) */ /* */ /* library_index - Index value returned by LBR$INI_CONTROL */ /* rfa - RFA of module */ /* */ #define lbr$unmap_module LBR$UNMAP_MODULE #ifdef __NEW_STARLET unsigned int lbr$unmap_module( unsigned int *library_index, unsigned int *rfa); #else /* __OLD_STARLET */ unsigned int lbr$unmap_module(__unknown_params); #endif /* #ifdef __NEW_STARLET */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __LBR_ROUTINES_LOADED */