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

📄 mds.h

📁 ICCP Toolkit 是在 Tru64下开发Tase.2通信协议的开发包
💻 H
📖 第 1 页 / 共 2 页
字号:
  } MDS_BIND_REQ;/*----------------------------------------------------------------------*//*	Read Request 							*//*----------------------------------------------------------------------*/typedef struct  {  struct    {    ST_CHAR name[MAX_DN_LEN + 1];		/* Object Entry's DDN	*/    ST_INT select;			/* return info selection */    /* Set of types (if select == SELECT_SOME)	*/    ST_INT num_types;			/* number of selected types */    MDS_TYPE *types;			/* list of selected types */    } in;  struct    {    /* Return entry information		*/    ST_BOOLEAN	alias_deref;		/* alias dereferenced */    ST_BOOLEAN	from_entry;		/* read from entry or a copy of entry */    ST_INT	num_info;		/* number of info records returned */    MDS_INFO	*info;			/* list of info records	*/    } out;  } MDS_READ_REQ;/*----------------------------------------------------------------------*//*	MDS Error 							*//*----------------------------------------------------------------------*/#define MDS_ERROR_TYPE_ABORT			1#define MDS_ERROR_TYPE_ABANDONED		2#define MDS_ERROR_TYPE_ABANDON_FAILED		3#define MDS_ERROR_TYPE_ATTRIBUTE		4#define MDS_ERROR_TYPE_NAME			5#define MDS_ERROR_TYPE_SECURITY			6#define MDS_ERROR_TYPE_SERVICE			7#define MDS_ERROR_TYPE_UPDATE			8#define MDS_ERROR_TYPE_REFERRAL			9/*-------------------------------------------------------------------****                   Abort Source                              	     ****-------------------------------------------------------------------*/#define MDS_ERROR_ABSOURCE_DUA_ABS   		1               /* local  USER(dua) initiated */#define MDS_ERROR_ABSOURCE_DSA_ABS   		2               /* remote USER(dsa) initiated */#define MDS_ERROR_ABSOURCE_LACSABS   		3               /* local  ACSE prov initiated */#define MDS_ERROR_ABSOURCE_RACSABS   		4               /* remote ACSE prov initiated */#define MDS_ERROR_ABSOURCE_LPRSABS   		5               /* local  PRES prov initiated */#define MDS_ERROR_ABSOURCE_RPRSABS   		6               /* remote PRES prov initiated */#define MDS_ERROR_ABSOURCE_LTRSABS   		7               /* local  TRSP prov initiated */#define MDS_ERROR_ABSOURCE_RTRSABS   		8               /* remote TRSP prov initiated */#define MDS_ERROR_ABSOURCE_LSESABS   		9               /* local  SESS prov initiated */#define MDS_ERROR_ABSOURCE_RSESABS   		10              /* remote SESS prov initiated */#define MDS_ERROR_ABSOURCE_NET_ABS   		11              /* network          initiated */#define MDS_ERROR_ABSOURCE_USE_ABS   		12              /* local user error           */#define MDS_ERROR_ABSOURCE_UKNWABS   		13              /* unknown source   initiated *//*-------------------------------------------------------------------****                   Abort Reason                              	     ****-------------------------------------------------------------------*/#define MDS_ERROR_ABREASON_NOREABR   		1               /* no reason given            */#define MDS_ERROR_ABREASON_RESRABR   		2               /* resource unavailable       */#define MDS_ERROR_ABREASON_PROTABR   		3               /* protocol error detected    */#define MDS_ERROR_ABREASON_ASN1ABR   		4               /* encoding/decoding error    *//*-------------------------------------------------------------------****                   Abort Status                              	     ****-------------------------------------------------------------------*/#define MDS_ERROR_AB_STATUS_TRANABO   		1               /* transient                  */#define MDS_ERROR_AB_STATUS_PERMABO   		2               /* permanent                  *//*-------------------------------------------------------------------****                   Abandoned problem                               ****-------------------------------------------------------------------*/#define  MDS_ERROR_ABANDON_FAILED_NOSOPE  	1                /* no such operation            */#define  MDS_ERROR_ABANDONED_FAILED_TOOLAT  	2                /* too late to abandon          */#define  MDS_ERROR_ABANDONED_FAILED_CNTABN  	3                /* cannot abandon               *//*-------------------------------------------------------------------****                   Attribute problem                               ****-------------------------------------------------------------------*/#define  MDS_ERROR_ATTRIBUTE_NOSATT  		1                /* no such attribute or value   */#define  MDS_ERROR_ATTRIBUTE_IVASYN  		2                /* invalid attribute syntaxe    */#define  MDS_ERROR_ATTRIBUTE_UDATYP  		3                /* undefined attribute type     */#define  MDS_ERROR_ATTRIBUTE_INAMAT  		4                /* inappropriate matching       */#define  MDS_ERROR_ATTRIBUTE_CSTVLT  		5                /* constraint violation         */#define  MDS_ERROR_ATTRIBUTE_AOVAEX  		6                /* attribute or value already   *//*-------------------------------------------------------------------****                   Name problem                                    ****-------------------------------------------------------------------*/#define  MDS_ERROR_NAME_NOSOBJ  		1                /* no such object               */#define  MDS_ERROR_NAME_ALSPRB  		2                /* alias problem                */#define  MDS_ERROR_NAME_IVSYNT  		3                /* invalid attribute syntaxe    */#define  MDS_ERROR_NAME_ADFPRB  		4                /* alias dereferencing problem  *//*-------------------------------------------------------------------****                   Security problem                                ****-------------------------------------------------------------------*/#define  MDS_ERROR_SECURITY_INAAUT  		1                /* inappropriate authentication */#define  MDS_ERROR_SECURITY_INVCRE  		2                /* invalid credentials          */#define  MDS_ERROR_SECURITY_INSACR  		3                /* insufficient access rights   */#define  MDS_ERROR_SECURITY_INVSIG  		4                /* invalid signature            */#define  MDS_ERROR_SECURITY_PROREQ  		5                /* protection required          */#define  MDS_ERROR_SECURITY_NOINFO  		6                /* no information               *//*-------------------------------------------------------------------****                   Service problem (include user special errors)   ****-------------------------------------------------------------------*/#define  MDS_ERROR_SERVICE_DSBUSY  		1                /* busy                         */#define  MDS_ERROR_SERVICE_UNAVAI  		2                /* unavailable                  */#define  MDS_ERROR_SERVICE_UNWPER  		3                /* unwilling to perform         */#define  MDS_ERROR_SERVICE_CHNREQ  		4                /* chaining required            */#define  MDS_ERROR_SERVICE_UNAPRE  		5                /* unable to proceed            */#define  MDS_ERROR_SERVICE_INVREF  		6                /* invalid reference            */#define  MDS_ERROR_SERVICE_TIMEXC  		7                /* time limit exceeded          */#define  MDS_ERROR_SERVICE_ADMEXC  		8                /* administration limit exceeded*/#define  MDS_ERROR_SERVICE_LOOPDT  		9                /* loop detected                */#define  MDS_ERROR_SERVICE_UAVCEX  		10               /* unavailable critical extensio*/#define  MDS_ERROR_SERVICE_OUTSCP  		11               /* out of scope                 */#define  MDS_ERROR_SERVICE_DITERR  		12               /* dit error                    *//*--- Service problem : supplementary codes ( for internal use ) ----*/#define  MDS_ERROR_SERVICE_DUPINV  		13               /* duplicated invoke id: marben */                                  				/* x.500 defined                */#define  MDS_ERROR_SERVICE_SELERR  		14               /* wrong service element syntax */#define  MDS_ERROR_SERVICE_DCDERR  		15               /* decoding error               */#define  MDS_ERROR_SERVICE_FILACS  		16               /* file access error            *//*-------------------------------------------------------------------*//*                   Update problem                                  *//*-------------------------------------------------------------------*/#define  MDS_ERROR_UPDATE_NAMVLT  		1                /* naming violation             */#define  MDS_ERROR_UPDATE_OBCVLT  		2                /* object class violation       */#define  MDS_ERROR_UPDATE_NALNLF  		3                /* not allowed on non-leaf      */#define  MDS_ERROR_UPDATE_NALRDN  		4                /* not allowed on rdn           */#define  MDS_ERROR_UPDATE_EALEXT  		5                /* entry already exists         */#define  MDS_ERROR_UPDATE_AFMDSA  		6                /* affects multiple dsa         */#define  MDS_ERROR_UPDATE_OCMPRO  		7                /* object class modification prh*/typedef struct  {  ST_INT type;  ST_INT code;		/* ignored for ABORT, ABANDONED, ATTRIBUTE, REFERRAL */  union    {    struct      {      ST_INT source;      ST_INT reason;      ST_INT status;      } abort;    struct      {      ST_CHAR matched[MAX_DN_LEN + 1];      } name;#if 0    struct      {      } attribute;    struct      {      } referral;#endif    } u;  } MDS_ERROR;/*----------------------------------------------------------------------*//*	MDS Request 							*//*----------------------------------------------------------------------*/typedef struct mds_req  {  DBL_LNK lnk;  ST_LONG prov_info;		/* This field is reserved for MDS provider */  ST_INT opcode;		/* Request code				*/  ST_LONG handle;		/* DSA Bind handle (returned on bind) 	*/  union    {    MDS_BIND_REQ 	bind;    MDS_READ_REQ 	read;    } op;  struct    {    ST_INT 	status;			/* request status	*/    ST_INT 	retcode;		/* completion code	*/    ST_INT 	mds_error;		/* error returned by MDS provider (if applicable) */    MDS_ERROR *error;			/* set if retcode == ERROR_RESULT */    } out;  ST_VOID (*callback) (struct mds_req *req);   ST_LONG user_info;		/* This field is reserved for MDS user */  } MDS_REQ;/************************************************************************//* API function declarations						*//************************************************************************/ST_RET mds_initialize (ST_VOID);ST_RET mds_end (ST_VOID);ST_BOOLEAN mds_serve (ST_VOID);ST_RET mds_set_naming_ctx (ST_CHAR *ctx);ST_RET mds_set_def_userid (MDS_USERID *userid);ST_RET mds_request (MDS_REQ *req);MDS_REQ *mds_alloc_req (ST_VOID);ST_VOID mds_free_req (MDS_REQ *req);#ifdef X500_SUPPORTextern ST_BOOLEAN mds_x500_support;	/* X.500 support required flag, default is SD_FALSE */extern ST_CHAR mds_paddr_attr[];		/* Presentation Address Attribute Name */extern ST_CHAR mds_aptitle_attr[];		/* AP Title Attribute Name */extern ST_CHAR mds_aequal_attr[];		/* AP Title Attribute Name */#endif#ifdef LDAP_SUPPORT#define NEEDPROTOS#if defined (_WIN32)#define WINSOCK#endif#include "lber.h"#include "ldap.h"#include "srchpref.h"extern ST_BOOLEAN ldap_support;		/* LDAP support required flag, default is SD_FALSE */extern ST_INT ldap_poll_rate;		/* How often to poll LDAP for results */extern ST_CHAR ldap_paddr_attr[];		/* Presentation Address Attribute Name */extern ST_CHAR ldap_aptitle_attr[];	/* AP Title Attribute Name */extern ST_CHAR ldap_aequal_attr[];		/* AP Title Attribute Name */ST_RET ldap_set_def_userid (MDS_USERID *userid);#endif/************************************************************************//* Useful DN manipulation functions and macros				*//************************************************************************/#define mds_is_dn(name)		(strchr (name, '=') ? SD_TRUE : SD_FALSE)ST_RET mds_dn_to_x500 (ST_CHAR *dn, ST_CHAR *x500_dn);ST_RET mds_dn_to_ldap (ST_CHAR *dn, ST_CHAR *ldap_dn);ST_CHAR **mds_explode_x500_dn (ST_CHAR *dn);ST_CHAR **mds_explode_ldap_dn (ST_CHAR *dn);ST_RET mds_rdn_ldap2x500 (ST_CHAR *ldap_rdn, ST_CHAR *x500_rdn);ST_RET mds_rdn_x5002ldap (ST_CHAR *x500_rdn, ST_CHAR *ldap_rdn);ST_VOID mds_free_rdn_list (ST_CHAR **rdn_list);ST_RET mds_paddr_to_x500 (ST_CHAR *paddr, MDS_PRES_ADDR *pres_addr);ST_RET mds_aptitle_to_objid (ST_CHAR *aptitle, MMS_OBJ_ID *objid);#ifdef __cplusplus}#endif									  #endif

⌨️ 快捷键说明

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