⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mds.h

📁 ICCP Toolkit 是在 Tru64下开发Tase.2通信协议的开发包
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef MDS_H#define MDS_H/************************************************************************//* SISCO SOFTWARE MODULE HEADER *****************************************//************************************************************************//*   (c) Copyright Systems Integration Specialists Company, Inc.,	*//*		 1996, 1997, All Rights Reserved			*//*									*//* MODULE NAME : mds.h							*//* PRODUCT(S)  : SUIC 3.0						*//*									*//* MODULE DESCRIPTION : 						*//* This module contains definitions and declaration for MMS Directory 	*//* Services (MDS) API.							*//*									*//* MODIFICATION LOG :							*//*  Date     Who   Rev			Comments			*//* --------  ---  ------   -------------------------------------------	*//* 11/27/96  DSF           Created					*//************************************************************************/#ifdef __cplusplusextern "C" {#endif/************************************************************************//* Error code definitions						*//************************************************************************/#define MDS_ERROR_INIT			0x6B01#define MDS_ERROR_INVALID_OPCODE	0x6B02#define MDS_ERROR_INVALID_HANDLE	0x6B03#define MDS_ERROR_BAD_DN		0x6B04#define MDS_ERROR_SERVE			0x6B05#define MDS_ERROR_RESULT		0x6B06#define MDS_ERROR_BIND			0x6B07#define MDS_ERROR_UNBIND		0x6B08#define MDS_ERROR_READ			0x6B09#define MDS_ERROR_ATTR_TYPE_NAME	0x6B0A#define MDS_ERROR_DECODE		0x6B0B#define MDS_ERROR_BAD_PADDR		0x6B0Cextern ST_INT mds_error;		/* error returned by X.500 provider	*//************************************************************************//* Codes returned by mds_serve ()					*//************************************************************************/#define MDS_SERVE_EVENT_RECEIVED	1#define MDS_SERVE_NO_DATA		2#define MDS_SERVE_TRY_AGAIN		3#define MDS_SERVE_DECODE_ERROR		11#define MDS_SERVE_INTERNAL_ERROR	12/************************************************************************//* Generally useful definitions						*//************************************************************************/#define MAX_DN_LEN	255	/* Max. length of Directory Distinguished Name */#define MAX_LNAME_LEN	40	/* Max. length of locally defined names (attr. types and object classes)	*//************************************************************************//* Global Data								*//************************************************************************/extern ST_CHAR mds_def_ddn_prefix[];	/* Default DDN Prefix: used for shorthand */#define MAX_PSWD_LEN	127typedef struct  {  ST_CHAR name[MAX_DN_LEN + 1];  ST_BOOLEAN passwd_pres;  ST_CHAR passwd[MAX_PSWD_LEN + 1];  } MDS_USERID;extern MDS_USERID *mds_def_userid;		/* User ID to use when binding to default DSA */#define MDS_TP4		0#define MDS_TCP		1typedef struct mds_dsa  {  DBL_LNK lnk;			/* Link pointer				*/  MDS_USERID *userid;		/* User ID				*/  ST_INT transport;		/* transport provider: TP4 vs. TCP	*/  ST_BOOLEAN aet_pres;		/* AET present				*/  ST_CHAR aet[MAX_DN_LEN + 1];	/* AET stored as a DDN (APT + AEQ)	*/  /* Upper Layer Addressing	*/  ST_INT psel_len;  ST_UCHAR psel[MAX_P_SEL];  ST_INT ssel_len;  ST_UCHAR ssel[MAX_S_SEL];  ST_INT tsel_len;  ST_UCHAR tsel[MAX_T_SEL];  /* NSAP (OSI)			*/  ST_INT net_addr_len;		/* Network address length		*/  ST_UCHAR net_addr[MAX_N_SEL];	/* Network address			*/  /* IP Address or Host Name (TCP/IP) 	*/  ST_INT port;			/* TCP/IP port number (currently ignored) */  ST_CHAR host_name[HOST_NAME_LEN + 1];	/* TCP/IP addr (dotted decimal or host name) */  ST_LONG prov_info;			/* reserved for MDS provider */  ST_LONG user_info;			/* reserved for MDS user */  ST_LONG user_info2;			/* reserved for MDS user */  } MDS_DSA;		 /************************************************************************//* Request Control Blocks						*//************************************************************************/#define MDS_REQ_BIND		1#define MDS_REQ_UNBIND		2#define MDS_REQ_READ		3/* Status definitions		*/#define MDS_STATUS_PENDING	1#define MDS_STATUS_COMPLETED	2/* Return information selection options	*/#define MDS_SELECT_ALL_TYPES_VALUES		0#define MDS_SELECT_SOME_TYPES_VALUES		1#define MDS_SELECT_ALL_TYPES			2#define MDS_SELECT_SOME_TYPES			3/*----------------------------------------------------------------------*//*	Request Header							*//*----------------------------------------------------------------------*//*----------------------------------------------------------------------*//*	Attribute structure						*//*----------------------------------------------------------------------*/#define MDS_TYPE_TAG_NAME	1#define MDS_TYPE_TAG_OBJID	2typedef struct  {  ST_INT tag;  union    {    ST_CHAR name[MAX_LNAME_LEN + 1];    MMS_OBJ_ID objid;    } u;  } MDS_TYPE;/*----------------------------------------------------------------------*//*	Information structure						*//*----------------------------------------------------------------------*//* Directory Attribute Syntaxes                             		*/#define MDS_SYNTAX_ANY       0x00            /* undefined syntax          */#define MDS_SYNTAX_DNAME     0x01            /* distinguished name syntax    */#define MDS_SYNTAX_OBJID     0x02            /* object identifier syntax     */#define MDS_SYNTAX_CEXST     0x03            /* case exact string syntax     */#define MDS_SYNTAX_CIGST     0x04            /* case ignore string syntax    */#define MDS_SYNTAX_PRINT     0x05            /* printable string syntax      */#define MDS_SYNTAX_NUMER     0x06            /* numeric string syntax        */#define MDS_SYNTAX_CIGLS     0x07            /* case ignore list syntax      */#define MDS_SYNTAX_BOOLE     0x08            /* boolean syntax               */#define MDS_SYNTAX_INTEG     0x09            /* integer syntax               */#define MDS_SYNTAX_OCTET     0x0a            /* octet string syntax          */#define MDS_SYNTAX_UTCTM     0x0b            /* utc time syntax              */#define MDS_SYNTAX_TELEP     0x0c            /* telephone number syntax      */#define MDS_SYNTAX_BITST     0x0d            /* bit string syntax            */#define MDS_SYNTAX_T61ST     0x0e            /* t61 string syntax            */#define MDS_SYNTAX_SRGU      0x0f            /* search guide                 */#define MDS_SYNTAX_PSAD      0x10            /* postal address               */#define MDS_SYNTAX_TLEX      0x11            /* telex number                 */#define MDS_SYNTAX_TXTI      0x12            /* teletex terminal id          */#define MDS_SYNTAX_FAXT      0x13            /* facsimile telephone number   */#define MDS_SYNTAX_PRFD      0x14            /* prefered delivery method     */#define MDS_SYNTAX_PSAP      0x15            /* presentation address         */#define MDS_SYNTAX_DLSP      0x16            /* mhs dl submit permissions    */#define MDS_SYNTAX_ORAD      0x17            /* mhs or address               */#define MDS_SYNTAX_ORNA      0x18            /* mhs or name                  */#define MDS_SYNTAX_UACR      0x19            /* marben defined user access   */                                 	     /* rights. cf. XUacrT           */#define MDS_SYNTAX_GENST     0x1a            /* general string syntax        */#define MDS_SYNTAX_GTMST     0x1b            /* generalized time string syx  */#define MDS_SYNTAX_GRAST     0x1c            /* graphic string syntax        */#define MDS_SYNTAX_OBDST     0x1d            /* object descriptor string syx */#define MDS_SYNTAX_IA5ST     0x1e            /* ia5 string syntax            */#define MDS_SYNTAX_VTXST     0x1f            /* videotex string syntax       */#define MDS_SYNTAX_VISST     0x20            /* visible string syntax        */#define MDS_SYNTAX_IAIST     0x21            /* case ignore ia5    patch0029 */#define MDS_SYNTAX_PROST     0x22            /* protected octet string synt. */#define MAX_NET_ADDR	 	(max (MAX_N_SEL, HOST_NAME_LEN))typedef struct  {  ST_BOOLEAN psel_pres;  ST_INT psel_len;  ST_UCHAR psel[MAX_P_SEL];  ST_BOOLEAN ssel_pres;  ST_INT ssel_len;  ST_UCHAR ssel[MAX_S_SEL];  ST_BOOLEAN tsel_pres;  ST_INT tsel_len;  ST_UCHAR tsel[MAX_T_SEL];  /* Network Address */  ST_INT num_net;			/* Number of network addresses (1-4)	*/  ST_INT net_type[4];			/* Network type (TP4 vs. TCP)		*/  ST_INT net_addr_len[4];		/* Network address length		*/  ST_UCHAR net_addr[4][MAX_NET_ADDR];	/* Network address			*/  ST_INT port[4];			/* Port number (for RFC 1006)		*/  } MDS_PRES_ADDR;#define MDS_INFO_TAG_DECODED	1		/* data decoded accoring to syntax */#define MDS_INFO_TAG_ASN1	2		/* data remains ASN.1 encoded */typedef struct  {  ST_BOOLEAN attr_name_pres;		/* locally defined	 */  ST_CHAR attr_name[MAX_LNAME_LEN + 1];	/* attribute type name	 */  MMS_OBJ_ID attr_objid;		/* attribute type Object ID */  ST_INT attr_syntax;			/* attribute syntax id - */  					/* set by provider on return - */					/* -1 if unknown	*/  ST_INT info_tag;			/* info data tag	*/  /* The following two fields are valid iff Attribute Type == Object Class */  ST_BOOLEAN class_name_pres;		/* object class name pres */  ST_CHAR class_name[MAX_LNAME_LEN + 1];	/* object class name	*/  ST_INT len;				/* info length		*/  ST_CHAR *info;				/* pointer to info	*/  } MDS_INFO;/*----------------------------------------------------------------------*//*	Bind Request 							*//*----------------------------------------------------------------------*/typedef struct  {  struct    {    ST_BOOLEAN use_def_dsa;    /* This field is used if use_default_dsa == SD_FALSE */    MDS_DSA *dsa;			/* DSA's address	*/    } in;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -