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

📄 psap.h

📁 SecuDe是一个由安全应用程序接口组成,对验证机制、证件处理、PEM、X.400报文处理和密钥管理提供支持。SecuDe提供DES、 RSA杂凑函数、密钥生成以及数字签名的生成和核实等多种密码机制。
💻 H
📖 第 1 页 / 共 2 页
字号:
PE	str2prim ();struct qbuf *prim2qb ();PE	qb2prim_aux ();		/* really should be qb2pe () */#define	qb2prim(q,c,i)		qb2prim_aux ((q), (c), (i), 0)#define	oct2prim(s,len)		str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_PRIM_OCTS)#define	ia5s2prim(s,len)	str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_DEFN_IA5S)#define	nums2prim(s,len)	str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_DEFN_NUMS)#define	prts2prim(s,len)	str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_DEFN_PRTS)#define	t61s2prim(s,len)	str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_DEFN_T61S)#define	vtxs2prim(s,len)	str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_DEFN_VTXS)#define	gfxs2prim(s,len)	str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_DEFN_GFXS)#define	viss2prim(s,len)	str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_DEFN_VISS)#define	gens2prim(s,len)	str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_DEFN_GENS)#define	chrs2prim(s,len)	str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_DEFN_CHRS)#define	ode2prim(s,len)		str2prim ((s), (len), \					    PE_CLASS_UNIV, PE_PRIM_ODE)PE	prim2bit ();PE	bit2prim ();int	bit_on (), bit_off ();int	bit_test ();OID	prim2oid ();PE	obj2prim ();#define	oid2prim(o)		obj2prim ((o), PE_CLASS_UNIV, PE_PRIM_OID)UTC	prim2time ();#define	prim2utct(pe)		prim2time ((pe), 0)#define	prim2gent(pe)		prim2time ((pe), 1)PE	time2prim ();#define	utct2prim(u)		time2prim ((u), 0, PE_CLASS_UNIV, PE_DEFN_UTCT)#define	gent2prim(u)		time2prim ((u), 1, PE_CLASS_UNIV, PE_DEFN_GENT)char   *time2str ();#define	utct2str(u)		time2str ((u), 0)#define	gent2str(u)		time2str ((u), 1)UTC	str2utct (), str2gent ();PE	prim2set ();#define	set2prim(pe)		(pe)int	set_add (), set_addon (), set_del ();PE	set_find ();#define	first_member(pe)	((pe) -> pe_cons)#define	next_member(pe,p)	((p) -> pe_next)#define	prim2seq(pe)		(prim2set (pe))#define	seq2prim(pe)		(pe)int	seq_add (), seq_addon (), seq_del ();PE	seq_find ();char   *pe_error ();/*  */#ifdef SVR4_UCB#ifdef PS	/* ucb define PS in sys/sparc/reg.h for "portability" !?! */#undef PS#endif#endiftypedef struct {    int	    ps_errno;		/* Error codes */#define	PS_ERR_NONE	 0	/*   No error */#define	PS_ERR_OVERID	 1	/*   Overflow in ID */#define	PS_ERR_OVERLEN	 2	/*   Overflow in length */#define	PS_ERR_NMEM	 3	/*   Out of memory */#define	PS_ERR_EOF	 4	/*   End of file */#define	PS_ERR_EOFID	 5	/*   End of file reading extended ID */#define	PS_ERR_EOFLEN	 6	/*   End of file reading extended length */#define	PS_ERR_LEN	 7	/*   Length mismatch */#define	PS_ERR_TRNC	 8	/*   Truncated */#define	PS_ERR_INDF	 9	/*   Indefinite length in primitive form */#define	PS_ERR_IO	10	/*   I/O error */#define	PS_ERR_EXTRA	11	/*   Extraneous octets */#define	PS_ERR_XXX	12	/*   XXX */    union {	caddr_t un_ps_addr;	struct {	    char   *st_ps_base;	    int	    st_ps_cnt;	    char   *st_ps_ptr;	    int	    st_ps_bufsiz;	}			un_ps_st;	struct {	    struct udvec *uv_ps_head;	    struct udvec *uv_ps_cur;	    struct udvec *uv_ps_end;	    int	    uv_ps_elems;	    int	    uv_ps_slop;	    int	    uv_ps_cc;	}			un_ps_uv;    }                       ps_un;#define	ps_addr	ps_un.un_ps_addr#define	ps_base	ps_un.un_ps_st.st_ps_base#define	ps_cnt	ps_un.un_ps_st.st_ps_cnt#define	ps_ptr	ps_un.un_ps_st.st_ps_ptr#define	ps_bufsiz	ps_un.un_ps_st.st_ps_bufsiz#define	ps_head	ps_un.un_ps_uv.uv_ps_head#define	ps_cur	ps_un.un_ps_uv.uv_ps_cur#define	ps_end	ps_un.un_ps_uv.uv_ps_end#define	ps_elems	ps_un.un_ps_uv.uv_ps_elems#define	ps_slop	ps_un.un_ps_uv.uv_ps_slop#define	ps_cc	ps_un.un_ps_uv.uv_ps_cc    caddr_t ps_extra;		/* for George's recursive PStreams */    int	    ps_inline;		/* for "ultra-efficient" PStreams */    int	    ps_scratch;		/* XXX */    int	    ps_byteno;		/* byte position */    IFP	    ps_primeP;    IFP	    ps_readP;    IFP	    ps_writeP;    IFP	    ps_flushP;    IFP	    ps_closeP;}			PStream, *PS;#define	NULLPS	((PS) 0)#define	ps_seterr(ps, e, v)	((ps) -> ps_errno = (e), (v))PS	ps_alloc ();void	ps_free ();int	ps_io ();#define	ps_read(ps, data, cc)	ps_io ((ps), (ps) -> ps_readP, (data), (cc), 0)#define	ps_write(ps, data, cc)	ps_write_aux ((ps), (data), (cc), 0)#define	ps_write_aux(ps, data, cc, in_line) \    	ps_io ((ps), (ps) -> ps_writeP, (data), (cc), (in_line))int	ps_flush ();int	std_open ();#define	std_setup(ps, fp)	((ps) -> ps_addr = (caddr_t) (fp), OK)int	str_open ();int	str_setup ();int	dg_open ();int	dg_setup ();int	fdx_open ();int	fdx_setup ();int	qbuf_open ();#define	qbuf_setup(ps, qb)	((ps) -> ps_addr = (caddr_t) (qb), OK)#define	ts_open	dg_open#define	ts_setup(p,f,s)		dg_setup ((p), (f), (s), ts_read, ts_write)int	ts_read (), ts_write ();int	uvec_open ();int	uvec_setup ();#define	ps2pe(ps)		ps2pe_aux ((ps), 1, 1)PE	ps2pe_aux ();#define	pe2ps(ps, pe)		pe2ps_aux ((ps), (pe), 1)int	pe2ps_aux ();PE	pl2pe ();int	pe2pl ();extern int    ps_len_strategy;#define	PS_LEN_SPAG	0#define	PS_LEN_INDF	1#define	PS_LEN_LONG	2int	ps_get_abs ();char   *ps_error ();/*  */struct isobject {    char   *io_descriptor;    OIDentifier io_identity;};int	setisobject (),	endisobject ();struct isobject *getisobject ();struct isobject *getisobjectbyname ();struct isobject *getisobjectbyoid ();/*  */extern	int	Len;extern	char   *Qcp;extern	char   *Ecp;int	pe2qb_f ();extern	int	Byteno;extern	int	Qbrefs;extern struct qbuf *Hqb;extern struct qbuf *Fqb;extern struct qbuf *Qb;#define qbuf2pe(qb, len, result) (Byteno = 0, Hqb = qb, \                                        Fqb = (Qb = (qb) -> qb_forw), \                                        qbuf2pe_f (result))PE	qbuf2pe_f ();char   *qb2str ();struct qbuf *str2qb ();int	qb_free ();int	pe2ssdu ();PE	ssdu2pe ();void	pe2text (), text2pe ();int	pe2uvec ();char   *int2strb ();int	strb2int ();PE	strb2bitstr ();char   *bitstr2strb ();/*  */extern char PY_pepy[];void	PY_advise ();int	PY_pp ();int	testdebug ();int	vpush (), vpop ();int	vname (), vtag ();int	vprint ();int	vstring (), vunknown ();char   *bit2str ();int	vpushfp (), vpopfp ();int	vpushstr (), vpopstr ();int	vpushpp (), vpopp ();#ifdef PEPSY_VERSION/* handle calls to the vunknown print routine */#define vunknown_P 	0, ((modtyp *) 0)/* * vpdu now comes out of the closet as a real pepsy function "pvpdu" we * keep the #define for vpdu for backwards compatiability of other peoples' * code */#ifdef __STDC__#define	vpdu(lp,fnx,pe,text,rw) \{ \    pvpdu ((lp), fnx##_P, (pe), (text), (rw)); \}#else   /* __STDC__ */#define	vpdu(lp,fnx,pe,text,rw) \{ \    pvpdu ((lp), fnx/**/_P, (pe), (text), (rw)); \}#endif /* __STDC__ */#else	/* Backwards compatibility with posy/pepy */#define vpdu(lp,fnx,pe,text,rw) \{ \    int    fnx (); \ \    _vpdu ((lp), fnx, (pe), (text), (rw)); \}int     _vpdu ();#endif/* pepy string definitions */extern char *pepy_strings[];#define	 PEPY_ERR_BAD 			(pepy_strings[0])#define	 PEPY_ERR_BAD_BITS 		(pepy_strings[1])#define	 PEPY_ERR_BAD_BOOLEAN 		(pepy_strings[2])#define	 PEPY_ERR_BAD_CLASS 		(pepy_strings[3])#define	 PEPY_ERR_BAD_CLASS_FORM_ID 	(pepy_strings[4])#define	 PEPY_ERR_BAD_FORM 		(pepy_strings[5])#define	 PEPY_ERR_BAD_INTEGER 		(pepy_strings[6])#define	 PEPY_ERR_BAD_OID 		(pepy_strings[7])#define	 PEPY_ERR_BAD_OCTET 		(pepy_strings[8])#define	 PEPY_ERR_BAD_REAL 		(pepy_strings[9])#define	 PEPY_ERR_BAD_SEQ 		(pepy_strings[10])#define	 PEPY_ERR_BAD_SET 		(pepy_strings[11])#define	 PEPY_ERR_TOO_MANY_BITS 	(pepy_strings[12])#define	 PEPY_ERR_TOO_MANY_ELEMENTS 	(pepy_strings[13])#define	 PEPY_ERR_UNKNOWN_CHOICE 	(pepy_strings[14])#define	 PEPY_ERR_UNK_COMP 		(pepy_strings[15])#define	 PEPY_ERR_INIT_FAILED 		(pepy_strings[16])#define	 PEPY_ERR_INVALID_CHOICE 	(pepy_strings[17])#define	 PEPY_ERR_MISSING 		(pepy_strings[18])#define	 PEPY_ERR_NOMEM  		(pepy_strings[19])#define	 PEPY_ERR_TOO_MANY_TAGGED 	(pepy_strings[20])#define	 PEPY_ERR_EXTRA_MEMBERS 	(pepy_strings[21])#endif

⌨️ 快捷键说明

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