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

📄 pupkt.h

📁 ftam等标准协议服务器和客户端的源代码。
💻 H
字号:
/* HULA *//* pupkt.h - include file for Unit Data presentation providers (PS-PROVIDER) *//* subject to ISODE license agreement */#ifndef	_PUSAP2_#include "pusap2.h"		/* definitions for PS-USERs */#endif#include "ssap.h"		/* definitinos for SS-USERs */#include "susap.h"		/* definitinos for SS-USERs *//*  */#define toomuchP(b,n,m,p) \{ \    if (b == NULL) \	n = 0; \    else \	if (n > m) \	    return pusaplose (pi, PC_PARAMETER, NULLCP, \			    "too many %s user data elements", p); \}#define	missingP(p) \{ \    if (p == NULL) \	return pusaplose (pi, PC_PARAMETER, NULLCP, \			    "mandatory parameter \"%s\" missing", "p"); \}#ifndef	lint#ifndef	__STDC__#define	copyPSAPdata(base,len,d) \{ \    register int i = len; \    if ((d -> d/* */_cc = min (i, sizeof d -> d/* */_data)) > 0) \	bcopy (base, d -> d/* */_data, d -> d/* */_cc); \}#else#define	copyPSAPdata(base,len,d) \{ \    register int i = len; \    if ((d -> d##_cc = min (i, sizeof d -> d##_data)) > 0) \	bcopy (base, d -> d##_data, d -> d##_cc); \}#endif#else#define	copyPSAPdata(base,len,d)	bcopy (base, (char *) d, len)#endifint	pusaplose ();/*  */#define	DFLT_ASN	"iso asn.1 abstract syntax"#define	DFLT_ATN	"iso asn.1 abstract transfer"#define	atn_is_ok(pb,atn)	((atn) ? 1 : 0) /* it's all ISO8825, right? */#define	atn_is_asn1(atn)	((atn) ? 1 : 0)	/*   .. */struct psapblk {    struct psapblk *pb_forw;	/* doubly-linked list */    struct psapblk *pb_back;	/*   .. */    int	    pb_fd;		/* session descriptor */    short   pb_flags;		/* our state */#define	PB_NULL		0x00#define	PB_CONN		0x01	/* connected */#define	PB_FINN		0x02	/* other side wants to finish */#define	PB_ASYN		0x04	/* asynchronous */#define	PB_DFLT		0x10	/* respond with default context result */#define PB_PUDT         0x20    /* p unit data service */    struct PSAPaddr  *pb_calling; /* local user address */    struct PSAPaddr  *pb_called;  /* remote user address */    char   *pb_retry;		/* initial ppkt */    int	    pb_ncontext;	/* presentation context set */    struct PSAPcontext pb_contexts[NPCTX];    OID	    pb_asn;		/* default: abstract syntax name */    OID	    pb_atn;		/*   ..     abstract transfer name */    int	    pb_result;		/* 	    response */        int	    pb_ssdusize;	/* largest atomic SSDU */    struct PSAPaddr pb_responding;	/* responder */    IFP	    pb_DataIndication;		/* INDICATION handlers */    IFP	    pb_TokenIndication;		/*   .. */    IFP	    pb_SyncIndication;		/*   .. */    IFP	    pb_ActivityIndication;	/*   .. */    IFP	    pb_ReportIndication;	/*   .. */    IFP	    pb_ReleaseIndication;	/*   .. */    IFP	    pb_AbortIndication;		/*   .. */};#define	NULLPB		((struct psapblk *) 0)int	freepublk ();struct psapblk *newpublk (), *findpublk ();#define	PC_PROV_BASE		PC_NOTSPECIFIED#define	PC_ABORT_BASE \	(PC_UNRECOGNIZED - int_PS_Abort__reason_unrecognized__ppdu)#define	PC_REASON_BASE \	(PC_ABSTRACT - int_PS_provider__reason_abstract__syntax__not__supported)int     ppdu2data ();struct qbuf *info2_qb ();int	qb2_info ();struct type_PS_User__data *info2_ppdu ();int	print_PS_UD__type (), print_PS_User__data (),	print_PS_Fully__encoded__data ();int	vunknown ();/*  */#define	REASON_BASE	PC_NOTSPECIFIED#define	PPDU_UD        14

⌨️ 快捷键说明

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