VMS Help
LBR Routines, LBR$PUT_RECORD
*Conan The Librarian
|
The LBR$PUT_RECORD routine writes a data record beginning at the
next free location in the library.
Format
LBR$PUT_RECORD library_index ,bufdes ,txtrfa [, mod_size]
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: 0
Longword condition value. Most utility routines return a
condition value. Condition values that this routine can return
are listed under Condition Values Returned.
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.
bufdes
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Record to be written to the library. The bufdes argument is the
address of a string descriptor pointing to the buffer containing
the output record. On Integrity servers and Alpha libraries, the
symbolic maximum record size is ELBR$_MAXRECSIZ.
txtrfa
OpenVMS usage:vector_longword_unsigned
type: longword (unsigned)
access: write only
mechanism: by reference
Record's file address (RFA) of the module header. The txtrfa
argument is the address of a 2-longword array receiving the
RFA of the newly created module header upon the first call to
LBR$PUT_RECORD.
mod_size
OpenVMS usage:byte_count
type: longword (unsigned)
access: read only
mechanism: by value
The value from mod_size is read on the first call to this routine
and ignored otherwise. The value specifies the size of the module
to be entered so that contiguous space is allocated within the
library for that module. This argument is ignored for non-ELF
object libraries and for data-reduced ELF object libraries.
The LBR$PUT_END routine is still required to terminate the byte
stream and close off the module.
If this is the first call to LBR$PUT_RECORD, this routine first
writes a module header and returns its RFA to the 2-longword
array pointed to by txtrfa. LBR$PUT_RECORD then writes the
supplied data record to the library. On subsequent calls to
LBR$PUT_RECORD, this routine writes the data record beginning
at the next free location in the library (after the previous
record). The last record written for the module should be
followed by a call to LBR$PUT_END.
4 - Condition Values Returned
|
LBR$_ILLCTL Specified library control index not valid.
LBR$_LIBNOTOPN Specified library not open.