The LBR$DELETE_DATA routine deletes module data from the library. Format LBR$DELETE_DATA library_index, txtrfa [,flags]
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value Longword condition value. Most utility routines return a condition value. Condition values that this routine can return are listed under Condition Values Returned.
2 – Arguments
library_index OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by reference Library control index returned by the LBR$INI_CONTROL routine. The library_index argument is the address of the longword that contains the index. txtrfa OpenVMS usage:vector_longword_unsigned type: longword (unsigned) access: read only mechanism: by reference Record's file address (RFA) of the module header for the module you want to delete. The txtrfa argument is the address of the 2- longword array that contains the RFA. You can obtain the RFA of a module header by calling LBR$LOOKUP_KEY or LBR$PUT_RECORD. flags OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value The contents of the flag are ignored. The purpose of this argument is to indicate to this routine that the application knows about the new index structure for ELF object and ELF shareable image libraries.
3 – Description
To delete a library module, first call LBR$DELETE_KEY to delete all keys that point to it. If no library index keys are pointing to the module header, LBR$DELETE_DATA deletes the module header and associated data records; otherwise, this routine returns the error LBR$_STILLKEYS. Note that other library routines can reuse data blocks that contain no data.
4 – Condition Values Returned
LBR$_ILLCTL Specified library control index not valid. LBR$_INVRFA Specified RFA not valid. LBR$_LIBNOTOPN Specified library not open. LBR$_STILLKEYS Keys in other indexes still point to the module header. Therefore, the specified module was not deleted.