#include <xom.h> #include <xds.h>DESCRIPTION
The xds.h header declares the interface functions, the structures passed to and from those functions, and the defined constants used by the functions and structures.
All application programs that include this header must first include the xom.h Object Management header.
#ifndef XDS_HEADER #define XDS_HEADER /* DS package object identifier */ /* { iso(1) identified-organization(3) icd-ecma(12) member-company(2) dec(1011) xopen(28) dsp(0) } */ #define OMP_O_DS_SERVICE_PKG "\x2B\x0C\x02\x87\x73\x1C\x00" /*Defined constants */ /* Intermediate object identifier macro */ #define dsP_c(X) OMP_O_DS_SERVICE_PKG #X /* OM class names (prefixed by DS_C_) */ /* Every application program which makes use of a class or other */ /* Object Identifier must explicitly import it into every */ /* compilation unit (C source program) which uses it. Each such */ /* class or Object Identifier name must be explicitly exported */ /* from just one compilation unit. */ /* In the header file, OM class constants are prefixed with the */ /* OMP_O prefix to denote that they are OM classes. However, */ /* when using the OM_IMPORT and OM_EXPORT macros, the base */ /* names (without the OMP_O prefix) should be used. */ /* For example: */ /* OM_IMPORT (DS_C_AVA) */ #define OMP_O_DS_C_ABANDON_FAILED dsP_c(\x85\x3D) #define OMP_O_DS_C_ACCESS_POINT dsP_c(\x85\x3E) #define OMP_O_DS_C_ADDRESS dsP_c(\x85\x3F) #define OMP_O_DS_C_ATTRIBUTE dsP_c(\x85\x40) #define OMP_O_DS_C_ATTRIBUTE_ERROR dsP_c(\x85\x41) #define OMP_O_DS_C_ATTRIBUTE_LIST dsP_c(\x85\x42) #define OMP_O_DS_C_ATTRIBUTE_PROBLEM dsP_c(\x85\x43) #define OMP_O_DS_C_AVA dsP_c(\x85\x44) #define OMP_O_DS_C_COMMON_RESULTS dsP_c(\x85\x45) #define OMP_O_DS_C_COMMUNICATIONS_ERROR dsP_c(\x85\x46) #define OMP_O_DS_C_COMPARE_RESULT dsP_c(\x85\x47) #define OMP_O_DS_C_CONTEXT dsP_c(\x85\x48) #define OMP_O_DS_C_CONTINUATION_REF dsP_c(\x85\x49) #define OMP_O_DS_C_DS_DN dsP_c(\x85\x4A) #define OMP_O_DS_C_DS_RDN dsP_c(\x85\x4B) #define OMP_O_DS_C_ENTRY_INFO dsP_c(\x85\x4C) #define OMP_O_DS_C_ENTRY_INFO_SELECTION dsP_c(\x85\x4D) #define OMP_O_DS_C_ENTRY_MOD dsP_c(\x85\x4E) #define OMP_O_DS_C_ENTRY_MOD_LIST dsP_c(\x85\x4F) #define OMP_O_DS_C_ERROR dsP_c(\x85\x50) #define OMP_O_DS_C_EXT dsP_c(\x85\x51) #define OMP_O_DS_C_FILTER dsP_c(\x85\x52) #define OMP_O_DS_C_FILTER_ITEM dsP_c(\x85\x53) #define OMP_O_DS_C_LIBRARY_ERROR dsP_c(\x85\x54) #define OMP_O_DS_C_LIST_INFO dsP_c(\x85\x55) #define OMP_O_DS_C_LIST_INFO_ITEM dsP_c(\x85\x56) #define OMP_O_DS_C_LIST_RESULT dsP_c(\x85\x57) #define OMP_O_DS_C_NAME dsP_c(\x85\x58) #define OMP_O_DS_C_NAME_ERROR dsP_c(\x85\x59) #define OMP_O_DS_C_OPERATION_PROGRESS dsP_c(\x85\x5A) #define OMP_O_DS_C_PARTIAL_OUTCOME_QUAL dsP_c(\x85\x5B) #define OMP_O_DS_C_PRESENTATION_ADDRESS dsP_c(\x85\x5C) #define OMP_O_DS_C_READ_RESULT dsP_c(\x85\x5D) #define OMP_O_DS_C_REFERRAL dsP_c(\x85\x5E) #define OMP_O_DS_C_RELATIVE_NAME dsP_c(\x85\x5F) #define OMP_O_DS_C_SEARCH_INFO dsP_c(\x85\x60) #define OMP_O_DS_C_SEARCH_RESULT dsP_c(\x85\x61) #define OMP_O_DS_C_SECURITY_ERROR dsP_c(\x85\x62) #define OMP_O_DS_C_SERVICE_ERROR dsP_c(\x85\x63) #define OMP_O_DS_C_SESSION dsP_c(\x85\x64) #define OMP_O_DS_C_SYSTEM_ERROR dsP_c(\x85\x65) #define OMP_O_DS_C_UPDATE_ERROR dsP_c(\x85\x66) /* OM attribute names */ #define DS_ACCESS_POINTS ((OM_type) 701) #define DS_ADDRESS ((OM_type) 702) #define DS_AE_TITLE ((OM_type) 703) #define DS_ALIASED_RDNS ((OM_type) 704) #define DS_ALIAS_DEREFERENCED ((OM_type) 705) #define DS_ALIAS_ENTRY ((OM_type) 706) #define DS_ALL_ATTRIBUTES ((OM_type) 707) #define DS_ASYNCHRONOUS ((OM_type) 708) #define DS_ATTRIBUTES ((OM_type) 709) #define DS_ATTRIBUTES_SELECTED ((OM_type) 710) #define DS_ATTRIBUTE_TYPE ((OM_type) 711) #define DS_ATTRIBUTE_VALUE ((OM_type) 712) #define DS_ATTRIBUTE_VALUES ((OM_type) 713) #define DS_AUTOMATIC_CONTINUATION ((OM_type) 714) #define DS_AVAS ((OM_type) 715) #define DS_CHAINING_PROHIB ((OM_type) 716) #define DS_CHANGES ((OM_type) 717) #define DS_CRIT ((OM_type) 718) #define DS_DONT_DEREFERENCE_ALIASES ((OM_type) 719) #define DS_DONT_USE_COPY ((OM_type) 720) #define DS_DSA_ADDRESS ((OM_type) 721) #define DS_DSA_NAME ((OM_type) 722) #define DS_ENTRIES ((OM_type) 723) #define DS_ENTRY ((OM_type) 724) #define DS_EXT ((OM_type) 725) #define DS_FILE_DESCRIPTOR ((OM_type) 726) #define DS_FILTERS ((OM_type) 727) #define DS_FILTER_ITEMS ((OM_type) 728) #define DS_FILTER_ITEM_TYPE ((OM_type) 729) #define DS_FILTER_TYPE ((OM_type) 730) #define DS_FINAL_SUBSTRING ((OM_type) 731) #define DS_FROM_ENTRY ((OM_type) 732) #define DS_IDENT ((OM_type) 733) #define DS_INFO_TYPE ((OM_type) 734) #define DS_INITIAL_SUBSTRING ((OM_type) 735) #define DS_ITEM_PARAMETERS ((OM_type) 736) #define DS_LIMIT_PROBLEM ((OM_type) 737) #define DS_LIST_INFO ((OM_type) 738) #define DS_LOCAL_SCOPE ((OM_type) 739) #define DS_MATCHED ((OM_type) 740) #define DS_MOD_TYPE ((OM_type) 741) #define DS_NAME_RESOLUTION_PHASE ((OM_type) 742) #define DS_NEXT_RDN_TO_BE_RESOLVED ((OM_type) 743) #define DS_N_ADDRESSES ((OM_type) 744) #define DS_OBJECT_NAME ((OM_type) 745) #define DS_OPERATION_PROGRESS ((OM_type) 746) #define DS_PARTIAL_OUTCOME_QUAL ((OM_type) 747) #define DS_PERFORMER ((OM_type) 748) #define DS_PREFER_CHAINING ((OM_type) 749) #define DS_PRIORITY ((OM_type) 750) #define DS_PROBLEM ((OM_type) 751) #define DS_PROBLEMS ((OM_type) 752) #define DS_P_SELECTOR ((OM_type) 753) #define DS_RDN ((OM_type) 754) #define DS_RDNS ((OM_type) 755) #define DS_RDNS_RESOLVED ((OM_type) 756) #define DS_REQUESTOR ((OM_type) 757) #define DS_SCOPE_OF_REFERRAL ((OM_type) 758) #define DS_SEARCH_INFO ((OM_type) 759) #define DS_SIZE_LIMIT ((OM_type) 760) #define DS_SUBORDINATES ((OM_type) 761) #define DS_S_SELECTOR ((OM_type) 762) #define DS_TARGET_OBJECT ((OM_type) 763) #define DS_TIME_LIMIT ((OM_type) 764) #define DS_T_SELECTOR ((OM_type) 765) #define DS_UNAVAILABLE_CRIT_EXT ((OM_type) 766) #define DS_UNCORRELATED_LIST_INFO ((OM_type) 767) #define DS_UNCORRELATED_SEARCH_INFO ((OM_type) 768) #define DS_UNEXPLORED ((OM_type) 769) /* DS_Filter_Item_Type: */ enum DS_Filter_Item_Type { DS_EQUALITY = 0, DS_SUBSTRINGS = 1, DS_GREATER_OR_EQUAL = 2, DS_LESS_OR_EQUAL = 3, DS_PRESENT = 4, DS_APPROXIMATE_MATCH = }; /* DS_Filter_Type: */ enum DS_Filter_Type { DS_ITEM = 0, DS_AND = 1, DS_OR = 2, DS_NOT = }; /* DS_Information_Type: */ enum DS_Information_Type { DS_TYPES_ONLY = 0, DS_TYPES_AND_VALUES = }; /* DS_Limit_Problem: */ enum DS_Limit_Problem { DS_NO_LIMIT_EXCEEDED = -1, DS_TIME_LIMIT_EXCEEDED = 0, DS_SIZE_LIMIT_EXCEEDED = 1, DS_ADMIN_LIMIT_EXCEEDED = }; /* DS_Modification_Type: */ enum DS_Modification_Type { DS_ADD_ATTRIBUTE = 0, DS_REMOVE_ATTRIBUTE = 1, DS_ADD_VALUES = 2, DS_REMOVE_VALUES = }; /* DS_Name_Resolution_Phase: */ enum DS_Name_Resolution_Phase { DS_NOT_STARTED = 1, DS_PROCEEDING = 2, DS_COMPLETED = }; /* DS_Priority: */ enum DS_Priority { DS_LOW = 0, DS_MEDIUM = 1, DS_HIGH = }; /* DS_Problem: */ enum DS_Problem { DS_E_ADMIN_LIMIT_EXCEEDED = 1, DS_E_AFFECTS_MULTIPLE_DSAS = 2, DS_E_ALIAS_DEREFERENCING_PROBLEM = 3, DS_E_ALIAS_PROBLEM = 4, DS_E_ATTRIBUTE_OR_VALUE_EXISTS = 5, DS_E_BAD_ARGUMENT = 6, DS_E_BAD_CLASS = 7, DS_E_BAD_CONTEXT = 8, DS_E_BAD_NAME = 9, DS_E_BAD_SESSION = 10, DS_E_BAD_WORKSPACE = 11, DS_E_BUSY = 12, DS_E_CANNOT_ABANDON = 13, DS_E_CHAINING_REQUIRED = 14, DS_E_COMMUNICATIONS_PROBLEM = 15, DS_E_CONSTRAINT_VIOLATION = 16, DS_E_DIT_ERROR = 17, DS_E_ENTRY_EXISTS = 18, DS_E_INAPPROP_AUTHENTICATION = 19, DS_E_INAPPROP_MATCHING = 20, DS_E_INSUFFICIENT_ACCESS_RIGHTS = 21, DS_E_INVALID_ATTRIBUTE_SYNTAX = 22, DS_E_INVALID_ATTRIBUTE_VALUE = 23, DS_E_INVALID_CREDENTIALS = 24, DS_E_INVALID_REF = 25, DS_E_INVALID_SIGNATURE = 26, DS_E_LOOP_DETECTED = 27, DS_E_MISCELLANEOUS = 28, DS_E_MISSING_TYPE = 29, DS_E_MIXED_SYNCHRONOUS = 30, DS_E_NAMING_VIOLATION = 31, DS_E_NO_INFO = 32, DS_E_NO_SUCH_ATTRIBUTE_OR_VALUE = 33, DS_E_NO_SUCH_OBJECT = 34, DS_E_NO_SUCH_OPERATION = 35, DS_E_NOT_ALLOWED_ON_NON_LEAF = 36, DS_E_NOT_ALLOWED_ON_RDN = 37, DS_E_NOT_SUPPORTED = 38, DS_E_OBJECT_CLASS_MOD_PROHIB = 39, DS_E_OBJECT_CLASS_VIOLATION = 40, DS_E_OUT_OF_SCOPE = 41, DS_E_PROTECTION_REQUIRED = 42, DS_E_TIME_LIMIT_EXCEEDED = 43, DS_E_TOO_LATE = 44, DS_E_TOO_MANY_OPERATIONS = 45, DS_E_TOO_MANY_SESSIONS = 46, DS_E_UNABLE_TO_PROCEED = 47, DS_E_UNAVAILABLE = 48, DS_E_UNAVAILABLE_CRIT_EXT = 49, DS_E_UNDEFINED_ATTRIBUTE_TYPE = 50, DS_E_UNWILLING_TO_PERFORM = }; /* DS_Scope_Of_Referral: */ enum DS_Scope_Of_Referral { DS_DMD = 0, DS_COUNTRY = }; /* Typedefs */ typedef OM_private_object DS_status; typedef struct { OM_object_identifier feature; OM_boolean activated; } DS_feature; /* OM_object constants */ #define DS_DEFAULT_CONTEXT ((OM_object) 0) #define DS_DEFAULT_SESSION ((OM_object) 0) #define DS_OPERATION_NOT_STARTED ((OM_object) 0) #define DS_NO_FILTER ((OM_object) 0) #define DS_NULL_RESULT ((OM_object) 0) #define DS_SELECT_ALL_TYPES ((OM_object) 1) #define DS_SELECT_ALL_TYPES_AND_VALUES ((OM_object) 2) #define DS_SELECT_NO_ATTRIBUTES ((OM_object) 0) #define DS_SUCCESS ((DS_status) 0) #define DS_NO_WORKSPACE ((DS_status) 1) /* ds_search() subset */ #define DS_BASE_OBJECT ((OM_sint) 0) #define DS_ONE_LEVEL ((OM_sint) 1) #define DS_WHOLE_SUBTREE ((OM_sint) 2) /* ds_receive_result() completion_flag_return */ #define DS_COMPLETED_OPERATION ((OM_uint) 1) #define DS_OUTSTANDING_OPERATIONS ((OM_uint) 2) #define DS_NO_OUTSTANDING_OPERATION ((OM_uint) 3) /* asynchronous operations limit (implementation-defined) */ #define DS_MAX_OUTSTANDING_OPERATIONS 0 /* no asynchronous */ /* operation */ /*asynchronous event posting */ #define DS_NO_VALID_FILE_DESCRIPTOR -1 /* Function Prototypes */ DS_status ds_abandon( OM_private_object session, OM_sint invoke_id ); DS_status ds_add_entry( OM_private_object session, OM_private_object context, OM_object name, OM_object entry, OM_sint *invoke_id_return ); DS_status ds_bind( OM_object session, OM_workspace workspace, OM_private_object *bound_session_return ); DS_status ds_compare( OM_private_object session, OM_private_object context, OM_object name, OM_object ava, OM_private_object *result_return, OM_sint *invoke_id_return ); OM_workspace ds_initialize( void ); DS_status ds_list( OM_private_object session, OM_private_object context, OM_object name, OM_private_object *result_return, OM_sint *invoke_id_return ); DS_status ds_modify_entry( OM_private_object session, OM_private_object context, OM_object name, OM_object changes, OM_sint *invoke_id_return ); DS_status ds_modify_rdn( OM_private_object session, OM_private_object context, OM_object name, OM_object new_RDN, OM_boolean delete_old_RDN, OM_sint *invoke_id_return ); DS_status ds_read( OM_private_object session, OM_private_object context, OM_object name, OM_object selection, OM_private_object *result_return, OM_sint *invoke_id_return ); DS_status ds_receive_result( OM_private_object session, OM_uint *completion_flag_return, DS_status *operation_status_return, OM_private_object *result_return, OM_sint *invoke_id_return ); DS_status ds_remove_entry( OM_private_object session, OM_private_object context, OM_object name, OM_sint *invoke_id_return ); DS_status ds_search( OM_private_object session, OM_private_object context, OM_object name, OM_sint subset, OM_object filter, OM_boolean search_aliases, OM_object selection, OM_private_object *result_return, OM_sint *invoke_id_return ); DS_status ds_shutdown( OM_workspace workspace ); DS_status ds_unbind( OM_private_object session ); DS_status ds_version( DS_feature feature_list[] OM_workspace workspace ); #endif /* XDS_HEADER */"RELATED INFORMATION
Books: OSF DCE Application Development Guide.
© 1990-1996, Transarc Corporation