CONTENTS Title Page Copyright Page Preface Part I ACA Services Command Line Facility 1 Command Line Facility (DCL) DELETE ATTRIBUTES DELETE CLASS DELETE MESSAGES DELETE VALUES GENERATE DISPATCHER GENERATE METHOD_ROUTINE GENERATE UNIQUE_IDENTIFIER GET ARGUMENT GET ATTRIBUTE INVOKE_METHOD LOAD CLASSES LOAD CONTEXT_OBJECT SET ARGUMENT SET CTRL_SERVER SET STATUS SHOW CLASSES SHOW CONTEXT_OBJECT SHOW CTRL_SERVER SHOW SERVERS SHOW VERSION STOP CTRL_SERVER STOP SERVER_PROCESS STOP SESSION 2 Command Line Facility (ULTRIX) acasdel acasgen acasgeta acasgett acasinv acasld acasmset acasmsho acasmstp acasseta acassets acassho Part II Creating Class Repository and Context Object Definition Files 3 The Class Repository Language 3.1 Coding Guidelines 3.1.1 Guidelines for Specifying Attribute Values and Names 3.1.2 Guidelines for Specifying Comment Marks 3.1.3 Guidelines for Specifying Include Directives 3.1.4 Guidelines for Case Sensitivity 3.2 Common Syntax Components 3.2.1 Object Definition Statement 3.2.2 Object Name 3.2.3 Optional UUID 3.2.4 Description 3.2.5 Superclass 3.2.6 Attributes 3.2.7 Referencing Objects 3.3 Defining Class Objects 3.3.1 CLASS/END CLASS Declaration Statement 3.3.2 DESCRIPTION Declaration 3.3.3 SUPERCLASSES Declaration 3.3.4 ATTRIBUTE Declaration 3.3.5 MESSAGE Declaration 3.3.5.1 METHODS 3.3.5.2 ATTRIBUTES 3.4 Defining Storage Class Objects 3.5 Defining Method Objects 3.5.1 METHOD/END METHOD Declaration 3.5.2 METHOD Arguments 3.5.3 DESCRIPTION Declaration 3.5.4 SUPERCLASS Declaration 3.5.5 ATTRIBUTE Declaration 3.6 Defining Method Server Objects 3.6.1 METHODSERVER/END METHODSERVER Declaraton 3.6.2 DESCRIPTION Declaration 3.6.3 SUPERCLASSES 3.6.4 ATTRIBUTES 3.7 Creating a Class Repository 3.8 Updating Existing CRL Objects 3.8.1 Adding Objects to the Class Repositories 3.8.2 Adding Attributes to an Object 3.8.3 Adding Values to an Object Attribute 3.8.4 Adding Messages to an Object 3.8.5 Adding Methods to a Message 3.8.6 Adding Attributes to a Message 3.8.7 Adding Values to a Message Attribute 3.8.8 Multiple Add Operations 4 The Context Object Language 4.1 Coding Guidelines 4.1.1 Guidelines for Specifying Attribute Values and Names 4.1.2 Guidelines for Specifying Comment Marks 4.1.3 Guidelines for Specifying Include Directives 4.1.4 Guidelines for Case Sensitivity 4.2 Defining Context Objects 4.2.1 ContextObject/End ContextObject Declaration 4.2.2 Table/End Table Declaration 4.2.3 Attributes 4.3 Creating a Context Object File 5 Class Repository Built-in Attributes 5.1 Class and Storage Class Message Attributes ACAS_METHOD_SEL_ATTRS ACAS_SCOPE_CLASSES ACAS_SEL_CONTEXT_SCOPE ACAS_SEL_CONTEXT_TABLES 5.2 Method Attributes ACAS_DYNLIB_NAME ACAS_METHOD_ACCESS_TYPE ACAS_METHOD_RTNNAME 5.3 Script Method Attributes ACAS_COMMAND_NAME ACAS_INTRODUCER_CHAR ACAS_METHOD_SHELL_COMMAND ACAS_SCRIPT_ENV_TYPE ACAS_SHELL_COMMAND_TYPE 5.4 Method Server Attributes ACAS_APPLICATION_NAME ACAS_DISPATCHER_RTNNAME ACAS_INTERACTION_TYPE ACAS_METHOD_SERVER_UUID ACAS_METHOD_SRV_ATTRS ACAS_PLATFORM_TYPE ACAS_SCRIPT_SERVER_CLASS ACAS_SERVER_SEL_ATTRS ACAS_SERVER_START_ATTRS ACAS_STARTUP_ENVIRONMENT ACAS_SERVER_STARTUP_TYPE ACAS_STARTUP_SHELL_COMMAND 6 Context Object Built-in Attributes ACAS_AUTHENTICATION ACAS_CTRL_SRVR_LOGGING ACAS_DEFAULT_AGENT ACAS_DEFAULT_NODES ACAS_DEFAULT_SECURITY ACAS_DEFAULT_TRANSPORT ACAS_DEFAULT_UUID ACAS_REPOSITORY_CACHE_SIZE ACAS_REPOSITORY_LIST 6.1 The ACAS_ENVIRONMENT_VARIABLE Attribute Value 6.2 Context Object Tables 6.2.1 ACAS_DEFAULT_TABLE 6.2.2 ACAS_DOMAIN_MAPPING 6.2.3 ACAS_FILE_EXTENSIONS 6.2.4 ACAS_NAMES_REGISTRY 6.2.5 ACAS_NODE_PLATFORMS 6.2.6 ACAS_PROXY 7 Invocation Built-in Attributes ACAS_CALLBACK_ID ACAS_CALLBACK_RTN 8 Method Server Built-in Attributes ACAS_END_SESSION_RTN ACAS_EVENT_DISPATCHER ACAS_EVENT_NOTIFICATION ACAS_MAX_NUM_SESSIONS ACAS_METHOD_SERVER_NAME ACAS_SERVER_REGISTRY ACAS_TERMINATE_RTN Part III ACA Services Routines 9 Overview of the ACA Services API 9.1 Error Lists 9.2 Error Status Handling 9.3 Argument Specification 9.4 Documentation Organization 9.5 Routine Name 9.5.1 C Binding 9.5.2 Arguments 9.5.3 Description 9.5.4 Return Value 9.5.5 See Also 10 ACA Services API Routines 10.1 Invocation and Server Routines 10.2 Instance Handle Routines 10.3 Context Object Routines 10.3.1 Using ACAS_GetCtxHandle to Identify a Context Object 10.3.2 Using ACAS_GetCtxObject to Identify a Context Object 10.4 List Routines 10.4.1 Allocating and Deallocating Lists 10.4.2 Modifying List Elements 10.4.3 Finding Elements Within a List 10.4.4 List Building Routines 10.5 Utility Routines 10.6 Class Repository Routines ACAS_AddArgToList ACAS_AddAttributeToList ACAS_AddClassToList ACAS_AddErrorToList ACAS_AddFormalArgToList ACAS_AddItemToList ACAS_AddMessageToList ACAS_AddMethodToList ACAS_AddToClass ACAS_AddToMethod ACAS_AddToMethodServer ACAS_AddToStorageClass ACAS_AllocateList ACAS_BuildArgList ACAS_BuildAttributeList ACAS_BuildItemList ACAS_CloseCtxObject ACAS_CloseDatabase ACAS_CompareInstanceHandles ACAS_ConvertToConstantId ACAS_ConvertToConstantValue ACAS_CopyList ACAS_CreateApplicationHandle ACAS_CreateClass ACAS_CreateCtxChild ACAS_CreateCtxTable ACAS_CreateInstanceHandle ACAS_CreateMethod ACAS_CreateMethodServer ACAS_CreateStorageClass ACAS_DeallocateList ACAS_DeleteCtxAttribute ACAS_DeleteCtxChild ACAS_DeleteCtxTable ACAS_DeleteFromClass ACAS_DeleteFromMethod ACAS_DeleteFromMethodServer ACAS_DeleteFromStorageClass ACAS_DeleteObject ACAS_Dispatch ACAS_ExitMainLoop ACAS_DuplicateInstanceHandle ACAS_FindElementByName ACAS_FormatACASErrors ACAS_FreeCtxHandle ACAS_FreeInstanceHandle ACAS_GenUUID ACAS_GetCtxAttributes ACAS_GetCtxHandle ACAS_GetInstanceHandleId ACAS_GetListCount ACAS_GetListType ACAS_GetMessageInfo ACAS_GetMethodArguments ACAS_GetObjectAttributes ACAS_GetObjectInfo ACAS_GetObjectMessages ACAS_GetObjectSubclasses ACAS_GetObjectSuperclasses ACAS_GetServerAttributes ACAS_InvokeMethod ACAS_MainLoop ACAS_OpenCtxObject ACAS_OpenDatabase ACAS_ParseInstanceHandle ACAS_ReallocateList ACAS_RegisterServer ACAS_RemoveElementFromList ACAS_ReserveElementInList ACAS_Rundown ACAS_SetCtxAttributes ACAS_SetServerAttributes ACAS_SortListByName ACAS_TestAttribute ACAS_UnregisterServer ACAS_ValidList 11 Object Request Broker Routines 11.1 Object Request Broker Interface 11.2 Dynamic Invocation Interface 11.3 Basic Object Adapter Interface 11.4 Standard Exceptions for ORBStatus Returns 11.5 Object References 11.6 ORB Routines BOA_change_implementation BOA_create BOA_create_implementation BOA_create_interface BOA_deactivate_impl BOA_deactivate_obj BOA_dispose BOA_get_id BOA_get_principal BOA_impl_is_ready BOA_obj_is_ready BOA_set_exception ORB_Context_create_child ORB_Context_delete ORB_Context_delete_values ORB_Context_get_values ORB_Context_set_one_value ORB_Context_set_values ORB_create_list ORB_create_request ORB_duplicate ORB_exception_free ORB_exception_id ORB_exception_value ORB_exit_main_loop ORBfree ORB_get_default_context ORB_is_nil ORB_main_loop ORB_NVList_add_item ORB_NVList_free ORB_NVList_free_memory ORB_NVList_get_count ORB_object_to_string ORB_release ORB_Request_add_arg ORB_Request_delete ORB_Request_invoke ORB_Request_send ORB_rundown ORB_string_to_object 12 Dynamic Data Exchange Routines ACAS_DDE_Register ACAS_DDE_SendData ACAS_DDE_SendTerminate ACAS_DDE_Unregister A Program Example A.1 Defining the Context Object A.2 Defining Classes A.3 Defining the Method Server, Methods, and Script Methods A.4 The Client Code A.5 The Server Code for the VMS Implementation A.6 The Script Method to Retrieve a File in SCCS A.7 The Script Method to Show a File in SCCS B Messages and Errors B.1 Command Line Facility Errors B.2 API Errors EXAMPLES 1-1 Generating CRL Files with UUID Specifications 3-1 Sample CRL Class Definition 3-2 Sample Method Object Definition 3-3 Sample Method Server Object Definition 4-1 Sample COL Definition File 10-1 Call to the ACAS_BuildArgList Routine FIGURES 1-1 Using the /ADD Qualifier 2-1 Using the -a Option TABLES 1 Symbol Conventions 2 Typeface Conventions 3-1 Class Object Definition Syntax Components 3-2 Argument Attribute 3-3 ACA Services Built-in Datatypes 3-4 Method Object Definition Syntax Components 3-5 Argument Attribute 3-6 Method Server Object Definition Syntax Components 4-1 Context Object Definition Syntax Components 10-1 Summary of ACA Services Lists 10-2 OpFlags Values for List Routines 10-3 Valid ArgFlags Values for ACAS_AddArgToList 10-4 Valid AttrFlags Values for ACAS_AddAttributeToList 10-5 Argument List Parameters 10-6 Valid ArgFlags Values for ACAS_AddFormalArgToList 10-7 Valid MsgFlags Values for ACAS_AddMessageToList 10-8 Valid MethodFlags Values for ACAS_AddMethodToList 10-9 Flags Field Values for the ACAS_AddToClass MessageList Argument 10-10 Flags Field Values for the ACAS_AddToClass AttributeList Argument 10-11 Flags Field Values for the ACAS_AddToMethod AttributeList Argument 10-12 Flags Field Values for the ACAS_AddToMethodServer AttributeList Argument 10-13 Flags Field Values for the ACAS_AddToStorageClass MessageList Argument 10-14 Flags Field Values for the ACAS_AddToStorageClass AttributeList Argument 10-15 Valid Flags Values 10-16 Valid Flags Values for ACAS_CloseDatabase 10-17 Valid Flags Values for ACAS_CreateClass 10-18 Valid Flags Values for ACAS_Dispatch 10-19 Valid ACAS_FormatACASErrors Flags 10-20 Valid ACAS_FreeInstanceHandle Flags Values 10-21 Valid Opflags Values for ACAS_GetCtxAttributes 10-22 Valid Flags Values for ACAS_GetObjectAttributes 10-23 Valid Flags Values for ACAS_GetObjectMessage 10-24 Valid Flags Values for ACAS_InvokeMethod 10-25 Valid Flags Values for ACAS_OpenDatabase 10-26 Valid Attributes for ServerAttrList Argument 10-27 Valid Flags Values for RegisterServer 10-28 Valid Attributes for ServerAttrList Argument 11-1 Standard ORB Exceptions 11-2 Server Attributes 11-3 Valid Delete Flags for ORB_Context_delete 11-4 Valid Response Flags for ORB_get_response 11-5 Valid Request Flags for ORB_create_request 11-6 Valid Item Flags for ORB_NVList_add_item 11-7 Valid Argument Flags for ORB_Request_add_arg 11-8 Valid Invocation Flags for ORB_send 12-1 Valid Attributes for ServerAttrList Argument