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/NEW_CONTEXT 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_STARTUP_ENVIRONMENT ACAS_SERVER_STARTUP_TYPE ACAS_STARTUP_SHELL_COMMAND 6 Context Object Built-in Attributes ACAS_AUTHENTICATION ACAS_DEFAULT_NODES 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 ACAS_END_SESSION_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 Invocation and Server Routines ACAS_Dispatch ACAS_GetServerAttributes ACAS_InvokeMethod ACAS_MainLoop ACAS_RegisterServer ACAS_Rundown ACAS_SetServerAttributes ACAS_UnregisterServer 11 Instance Handle Routines ACAS_CreateApplicationHandle ACAS_CreateInstanceHandle ACAS_DuplicateInstanceHandle ACAS_FreeInstanceHandle ACAS_ParseInstanceHandle 12 Context Object Routines ACAS_CloseCtxObject ACAS_CreateCtxTable ACAS_DeleteCtxAttribute ACAS_DeleteCtxTable ACAS_FreeCtxHandle ACAS_GetCtxAttributes ACAS_GetCtxHandle ACAS_OpenCtxObject ACAS_SetCtxAttributes 13 List Routines 13.1 Using List Routines 13.1.1 Allocating and Deallocating Lists 13.1.2 Modifying List Elements 13.1.3 Finding Elements Within a List 13.1.4 List Building Routines ACAS_AddArgToList ACAS_AddAttributeToList ACAS_AddClassToList ACAS_AddErrorToList ACAS_AddFormalArgToList ACAS_AddItemToList ACAS_AddMessageToList ACAS_AddMethodToList ACAS_AllocateList ACAS_BuildArgList ACAS_BuildAttributeList ACAS_BuildItemList ACAS_CopyList ACAS_DeallocateList ACAS_FindElementByName ACAS_GetListCount ACAS_GetListType ACAS_ReallocateList ACAS_RemoveElementFromList ACAS_ReserveElementInList ACAS_SortListByName ACAS_ValidList 14 Utility Routines ACAS_ConvertToConstantId ACAS_ConvertToConstantValue ACAS_FormatACASErrors ACAS_GenUUID 15 Class Repository Routines ACAS_AddToClass ACAS_AddToMethod ACAS_AddToMethodServer ACAS_AddToStorageClass ACAS_CloseDatabase ACAS_CreateClass ACAS_CreateMethod ACAS_CreateMethodServer ACAS_CreateStorageClass ACAS_DeleteFromClass ACAS_DeleteFromMethod ACAS_DeleteFromMethodServer ACAS_DeleteFromStorageClass ACAS_DeleteObject ACAS_GetMessageInfo ACAS_GetMethodArguments ACAS_GetObjectAttributes ACAS_GetObjectInfo ACAS_GetObjectMessages ACAS_GetObjectSubclasses ACAS_GetObjectSuperclasses ACAS_OpenDatabase ACAS_TestAttribute 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 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 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 Valid Flags Values for ACAS_Dispatch 10-2 Valid Flags Values for ACAS_InvokeMethod 10-3 Valid Attributes for ServerAttrList Argument 10-4 Valid Flags Values for ACAS_RegisterServer 10-5 Valid Attributes for ServerAttrList Argument 11-1 Valid ACAS_FreeInstanceHandle Flags Values 12-1 Valid Flags Values 13-1 Summary of ACA Services Lists 13-2 OpFlags Values for List Routines 13-3 Valid ArgFlags Values for ACAS_AddArgToList 13-4 Valid AttrFlags Values for ACAS_AddAttributeToList 13-5 Argument List Parameters 13-6 Valid ArgFlags Values for ACAS_AddFormalArgToList 13-7 Valid MsgFlags Values for ACAS_AddMessageToList 13-8 Valid MethodFlags Values for ACAS_AddMethodToList 14-1 Valid ACAS_FormatACASErrors Flags 15-1 Flags Field Values for the ACAS_AddToClass MessageList Argument 15-2 Flags Field Values for the ACAS_AddToClass AttributeList Argument 15-3 Flags Field Values for the ACAS_AddToMethod AttributeList Argument 15-4 Flags Field Values for the ACAS_AddToMethodServer AttributeList Argument 15-5 Flags Field Values for the ACAS_AddToStorageClass MessageList Argument 15-6 Flags Field Values for the ACAS_AddToStorageClass AttributeList Argument 15-7 Valid Flags Values for ACAS_CloseDatabase 15-8 Valid Flags Values for ACAS_CreateClass 15-9 Valid Flags Values for ACAS_GetObjectAttributes 15-10 Valid Flags Values for ACAS_GetObjectMessage 15-11 Valid Flags Values for ACAS_OpenDatabase