CONTENTS Title Page Copyright Page Preface 1 Using CMS Callable Routines Calling CMS Routines Rules for Writing Programs That Call CMS Routines Passing Arguments to CMS Routines Data Types The Library Data Block The Fetch Data Block Specifying Flags as Arguments Masks Condition Values Returned CMS$_EOF Condition Value CMS$_INUSE, CMS$_WAITING, and CMS$_PROCEEDING Messages Using Callback Routines Rules for Writing Callback Routines Callback Routines Used by CMS$CMS The Confirmation Routine The Prompt Routine The Output Routine Passing Strings Between CMS and Callback Routines Specifying End of Input Determining End of Output Callback Return Codes Handling Error Conditions Writing an Error Message Handler Linking with the CMS Image 2 CMS Routine Descriptions CMS$ANNOTATE CMS$ASYNCH_TERMINATE CMS$CMS CMS$COPY_ELEMENT CMS$CREATE_CLASS CMS$CREATE_ELEMENT CMS$CREATE_GROUP CMS$CREATE_LIBRARY CMS$DELETE_CLASS CMS$DELETE_ELEMENT CMS$DELETE_GENERATION CMS$DELETE_GROUP CMS$DELETE_HISTORY CMS$DIFFERENCES CMS$FETCH CMS$FETCH_CLOSE CMS$FETCH_GET CMS$FETCH_OPEN CMS$GET_STRING CMS$INSERT_ELEMENT CMS$INSERT_GENERATION CMS$INSERT_GROUP CMS$MODIFY_CLASS CMS$MODIFY_ELEMENT CMS$MODIFY_GENERATION CMS$MODIFY_GROUP CMS$MODIFY_LIBRARY CMS$PUT_STRING CMS$REMARK CMS$REMOVE_ELEMENT CMS$REMOVE_GENERATION CMS$REMOVE_GROUP CMS$REPLACE CMS$RETRIEVE_ARCHIVE CMS$REVIEW_GENERATION CMS$SET_ACL CMS$SET_LIBRARY CMS$SET_NOLIBRARY CMS$SHOW_ACL CMS$SHOW_ARCHIVE CMS$SHOW_CLASS CMS$SHOW_ELEMENT CMS$SHOW_GENERATION CMS$SHOW_GROUP CMS$SHOW_HISTORY CMS$SHOW_LIBRARY CMS$SHOW_RESERVATIONS CMS$SHOW_REVIEWS_PENDING CMS$SHOW_VERSION CMS$UNRESERVE CMS$VERIFY A Summary of CMS Entry Points B Examples of Calling CMS Calling CMS from Ada Calling CMS from BASIC Calling CMS from BLISS Calling CMS from C Calling CMS from COBOL Calling CMS from DIBOL Calling CMS from FORTRAN Calling CMS from Pascal Calling CMS from PL/I Calling CMS from SCAN