The LBR$FLUSH routine writes modified blocks back to the library file and frees the virtual memory the blocks had been using. Format LBR$FLUSH library_index ,block_type
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 in R0. 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. block_type OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by value Extent of the flush operation. The block_type argument contains the longword value that indicates how the flush operation proceeds. If you specify LBR$C_FLUSHDATA, the data blocks are flushed. If you specify LBR$C_FLUSHALL, first the data blocks and then the current library index are flushed. Each programming language provides an appropriate mechanism for accessing these symbols.
3 – Description
LBR$FLUSH cannot be called from other LBR routines that reference cache addresses or by routines called by LBR routines.
4 – Condition Values Returned
LBR$_NORMAL Operation completed successfully. LBR$_BADPARAM Error. A value passed to the LBR$FLUSH routine was either out of range or an illegal value. LBR$_WRITERR Error. An error occurred during the writing of the cached update blocks to the library file.