📄 cstypes.h
字号:
{ CS_CHAR name[CS_MAX_NAME]; CS_INT namelen; CS_INT datatype; CS_INT format; CS_INT maxlength; CS_INT scale; CS_INT precision; CS_INT status; CS_INT count; CS_INT usertype; CS_LOCALE *locale;} CS_DATAFMT;#elsetypedef struct _cs_datafmt{ CS_CHAR name[CS_MAX_CHAR]; CS_INT namelen; CS_INT datatype; CS_INT format; CS_INT maxlength; CS_INT scale; CS_INT precision; CS_INT status; CS_INT count; CS_INT usertype; CS_LOCALE *locale;} CS_DATAFMT;#endif/*** The object name structure used by Client-Library cs_object() API. **** thinkexists indicates whether the application expects ** this object to exist. **** object_type The type of the object. This field is the ** first part of a 5-part key.**** last_name The `last name' associated with the object of ** interest, if any. This field is the second ** part of a 5-part key.**** lnlen The length, in bytes, of last_name.**** first_name The `first name' associated with the object of ** interest, if any. This field is the third part ** of a 5-part key.**** fnlen The length, in bytes, of first_name.**** scope Data that describes the scope of the object. ** This field is the fourth part of a 5-part key.**** scopelen The length, in bytes, of scope. **** thread Platform-specific data that is used to distinguish ** threads in a multi-threaded execution environment.** This field is the fifth part of a 5-part key.**** threadlen The length, in bytes, of thread. */#if defined(CS_NO_LARGE_IDENTIFIERS)/* ** In pre-15.0 versions the (old) value for CS_MAX_NAME was used for the** name array declarations. Starting from version 15.0, CS_MAX_CHAR is** used to define these character array sizes.*/typedef struct _cs_objname{ CS_BOOL thinkexists; CS_INT object_type; CS_CHAR last_name[CS_MAX_NAME]; CS_INT lnlen; CS_CHAR first_name[CS_MAX_NAME]; CS_INT fnlen; CS_VOID *scope; CS_INT scopelen; CS_VOID *thread; CS_INT threadlen;} CS_OBJNAME;#elsetypedef struct _cs_objname{ CS_BOOL thinkexists; CS_INT object_type; CS_CHAR last_name[CS_MAX_CHAR]; CS_INT lnlen; CS_CHAR first_name[CS_MAX_CHAR]; CS_INT fnlen; CS_VOID *scope; CS_INT scopelen; CS_VOID *thread; CS_INT threadlen;} CS_OBJNAME;#endif/*** The object data structure used by Client-Library cs_object() API. **** actuallyexists Indicates whether this object actually exists. ** cs_objects sets actuallyexists to CS_TRUE ** if it finds a matching object. ** cs_objects sets actuallyexists to CS_FALSE ** if it does not find a matching object.**** connection A pointer to the CS_CONNECTION structure ** representing the connection in which the object exists.**** command A pointer to the CS_COMMAND structure representing the ** command space with which the object is associated, ** if any.**** buffer A pointer to data space. An application can ** use buffer to associate data with a saved object.**** buflen The length, in bytes, of *buffer. ** */typedef struct _cs_objdata{ CS_BOOL actuallyexists; CS_CONNECTION *connection; CS_COMMAND *command; CS_VOID *buffer; CS_INT buflen;} CS_OBJDATA;/*** Typedef to make using session ids more convenient.*/typedef CS_BYTE CS_SESSIONID[6];/*** Definition of a pointer to a function for all conversion routines.*/CS_START_EXTERN_Ctypedef CS_RETCODE (CS_PUBLIC * CS_CONV_FUNC)PROTOTYPE(( CS_CONTEXT *context, CS_DATAFMT *srcfmt, CS_VOID *src, CS_DATAFMT *destfmt, CS_VOID *dest, CS_INT *destlen ));/*** Pointers to the thread primitive functions used in Open Client.*/typedef CS_RETCODE (CS_PUBLIC * CS_THRDM_FUNC)PROTOTYPE(( CS_THRDRES *resource ));typedef CS_RETCODE (CS_PUBLIC * CS_THRDE_FUNC)PROTOTYPE(( CS_THRDRES *resource ));typedef CS_RETCODE (CS_PUBLIC * CS_THRDC_FUNC)PROTOTYPE(( CS_THRDRES **resource ));typedef CS_RETCODE (CS_PUBLIC * CS_THRDW_FUNC)PROTOTYPE(( CS_THRDRES *resource, CS_INT millisecs ));typedef CS_RETCODE (CS_PUBLIC * CS_THRDID_FUNC)PROTOTYPE(( CS_VOID *buffer, CS_INT buflen, CS_INT *outlen ));CS_END_EXTERN_C/*** Define the thread primitive structure. This structure is used by** application programs to pass thread primitives into Client-Library.** These primitives are used internally in Client-Library to run in a** threaded environment.**** create_mutex_fn Create a recursive mutex.**** delete_mutex_fn Delete a mutex.**** take_mutex_fn Lock a mutex.**** release_mutex_fn Release a mutex.**** create_event_fn Create an event variable.**** delete_event_fn Delete an event variable.**** signal_event_fn Signal event variable.**** reset_event_fn Reset event variable.**** waitfor_event_fn Wait for event to be signaled.**** thread_id_fn Return id of currently executing thread.*/typedef struct _cs_thread{ CS_THRDC_FUNC create_mutex_fn; CS_THRDM_FUNC delete_mutex_fn; CS_THRDM_FUNC take_mutex_fn; CS_THRDM_FUNC release_mutex_fn; CS_THRDC_FUNC create_event_fn; CS_THRDE_FUNC delete_event_fn; CS_THRDE_FUNC signal_event_fn; CS_THRDE_FUNC reset_event_fn; CS_THRDW_FUNC waitfor_event_fn; CS_THRDID_FUNC thread_id_fn;} CS_THREAD;/*** Directory Service definitions*//*** Token name for predefined OID strings.*/#define CS_OID_SYBASE "1.3.6.1.4.1.897"#define CS_OID_DIRECTORY "1.3.6.1.4.1.897.4"#define CS_OID_OBJCLASS "1.3.6.1.4.1.897.4.1"#define CS_OID_ATTRTYPE "1.3.6.1.4.1.897.4.2"#define CS_OID_ATTRSYNTAX "1.3.6.1.4.1.897.4.3"#define CS_OID_OBJSERVER "1.3.6.1.4.1.897.4.1.1"#define CS_OID_ATTRVERSION "1.3.6.1.4.1.897.4.2.1"#define CS_OID_ATTRSERVNAME "1.3.6.1.4.1.897.4.2.2"#define CS_OID_ATTRSERVICE "1.3.6.1.4.1.897.4.2.3"#define CS_OID_ATTRSTATUS "1.3.6.1.4.1.897.4.2.4"#define CS_OID_ATTRADDRESS "1.3.6.1.4.1.897.4.2.5"#define CS_OID_ATTRSECMECH "1.3.6.1.4.1.897.4.2.6"#define CS_OID_ATTRRETRYCOUNT "1.3.6.1.4.1.897.4.2.7"#define CS_OID_ATTRLOOPDELAY "1.3.6.1.4.1.897.4.2.8"#define CS_OID_ATTRJCPROTOCOL "1.3.6.1.4.1.897.4.2.9"#define CS_OID_ATTRJCPROPERTY "1.3.6.1.4.1.897.4.2.10"#define CS_OID_ATTRDATABASENAME "1.3.6.1.4.1.897.4.2.11"#define CS_OID_ATTRHAFAILOVER "1.3.6.1.4.1.897.4.2.15"#define CS_OID_ATTRRMNAME "1.3.6.1.4.1.897.4.2.16"#define CS_OID_ATTRRMTYPE "1.3.6.1.4.1.897.4.2.17"#define CS_OID_ATTRJDBCDSI "1.3.6.1.4.1.897.4.2.18"#define CS_OID_ATTRSERVERTYPE "1.3.6.1.4.1.897.4.2.19"/*** Current status of server object.*/#define CS_STATUS_ACTIVE (CS_INT)1#define CS_STATUS_STOPPED (CS_INT)2#define CS_STATUS_FAILED (CS_INT)3#define CS_STATUS_UNKNOWN (CS_INT)4/*** Server object access type*/#define CS_ACCESS_CLIENT (CS_INT)1#define CS_ACCESS_ADMIN (CS_INT)2#define CS_ACCESS_MGMTAGENT (CS_INT)3#define CS_ACCESS_CLIENT_QUERY (CS_INT)1#define CS_ACCESS_CLIENT_MASTER (CS_INT)2#define CS_ACCESS_ADMIN_QUERY (CS_INT)3#define CS_ACCESS_ADMIN_MASTER (CS_INT)4#define CS_ACCESS_MGMTAGENT_QUERY (CS_INT)5#define CS_ACCESS_MGMTAGENT_MASTER (CS_INT)6/*** String Attribute Value**** This structure is used to describe a string attribute** value.**** str_length Length of string.** str_buffer String data.*/typedef struct _cs_string{ CS_INT str_length; CS_CHAR str_buffer[CS_MAX_DS_STRING];} CS_STRING;/*** Transport Address attribute value**** This structure is used to describe a server address attribute** value. **** addr_accesstype Access type provided on transport** address.** addr_trantype Transport address type** addr_tranaddress The address string.*/typedef struct _cs_tranaddr{ CS_INT addr_accesstype; CS_STRING addr_trantype; CS_STRING addr_tranaddress;} CS_TRANADDR;/*** Object Identifier** ** This structure is used to represent an Object ** Identifier.**** oid_length Length of Object Identifier.** oid_buffer Buffer containing object identifier.*/typedef struct _cs_oid{ CS_INT oid_length; CS_CHAR oid_buffer[CS_MAX_DS_STRING];} CS_OID;/*** Attribute Value** ** This union is used to represent an attribute value.***/typedef union _cs_attrvalue{ CS_STRING value_string; CS_BOOL value_boolean; CS_INT value_enumeration; CS_INT value_integer; CS_OID value_oid; CS_TRANADDR value_tranaddr;} CS_ATTRVALUE;/*** Attribute ** ** This structure describes an attribute. ***/typedef struct _cs_attribute{ CS_OID attr_type; CS_INT attr_syntax; CS_INT attr_numvals;} CS_ATTRIBUTE;/*** Syntax identifier tokens for the CS_ATTRIBUTE union.*/#define CS_ATTR_SYNTAX_NOOP (CS_INT) 0#define CS_ATTR_SYNTAX_STRING (CS_INT) 1#define CS_ATTR_SYNTAX_INTEGER (CS_INT) 2#define CS_ATTR_SYNTAX_BOOLEAN (CS_INT) 3#define CS_ATTR_SYNTAX_ENUMERATION (CS_INT) 4#define CS_ATTR_SYNTAX_TRANADDR (CS_INT) 5#define CS_ATTR_SYNTAX_OID (CS_INT) 6/* ** Structure for defining directory lookup criteria when using** ct_ds_lookup api.*/typedef struct _cs_ds_lookup_info{ CS_OID *objclass; CS_CHAR *path; CS_INT pathlen; CS_DS_OBJECT *attrfilter; CS_DS_OBJECT *attrselect;} CS_DS_LOOKUP_INFO;/*** Predefined signal handlers for client and server signal handler** libraries.*/#define CS_SIGNAL_IGNORE -1#define CS_SIGNAL_DEFAULT -2#define CS_ASYNC_RESTORE -3#define CS_SIGNAL_BLOCK -4#define CS_SIGNAL_UNBLOCK -5#endif /* __CSTYPES_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -