亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? asn1.h

?? 絲路server源碼 Silk Road server source
?? H
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
#define	DECLARE_ASN1_NDEF_FUNCTION(name) \
	int i2d_##name##_NDEF(name *a, unsigned char **out);

#define DECLARE_ASN1_FUNCTIONS_const(name) \
	name *name##_new(void); \
	void name##_free(name *a);

#define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \
	type *name##_new(void); \
	void name##_free(type *a);

#define D2I_OF(type) type *(*)(type **,const unsigned char **,long)
#define I2D_OF(type) int (*)(type *,unsigned char **)
#define I2D_OF_const(type) int (*)(const type *,unsigned char **)

#define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long)
#define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **)
#define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type)

TYPEDEF_D2I2D_OF(void);

/* The following macros and typedefs allow an ASN1_ITEM
 * to be embedded in a structure and referenced. Since
 * the ASN1_ITEM pointers need to be globally accessible
 * (possibly from shared libraries) they may exist in
 * different forms. On platforms that support it the
 * ASN1_ITEM structure itself will be globally exported.
 * Other platforms will export a function that returns
 * an ASN1_ITEM pointer.
 *
 * To handle both cases transparently the macros below
 * should be used instead of hard coding an ASN1_ITEM
 * pointer in a structure.
 *
 * The structure will look like this:
 *
 * typedef struct SOMETHING_st {
 *      ...
 *      ASN1_ITEM_EXP *iptr;
 *      ...
 * } SOMETHING; 
 *
 * It would be initialised as e.g.:
 *
 * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...};
 *
 * and the actual pointer extracted with:
 *
 * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr);
 *
 * Finally an ASN1_ITEM pointer can be extracted from an
 * appropriate reference with: ASN1_ITEM_rptr(X509). This
 * would be used when a function takes an ASN1_ITEM * argument.
 *
 */

#ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION

/* ASN1_ITEM pointer exported type */
typedef const ASN1_ITEM ASN1_ITEM_EXP;

/* Macro to obtain ASN1_ITEM pointer from exported type */
#define ASN1_ITEM_ptr(iptr) (iptr)

/* Macro to include ASN1_ITEM pointer from base type */
#define ASN1_ITEM_ref(iptr) (&(iptr##_it))

#define ASN1_ITEM_rptr(ref) (&(ref##_it))

#define DECLARE_ASN1_ITEM(name) \
	OPENSSL_EXTERN const ASN1_ITEM name##_it;

#else

/* Platforms that can't easily handle shared global variables are declared
 * as functions returning ASN1_ITEM pointers.
 */

/* ASN1_ITEM pointer exported type */
typedef const ASN1_ITEM * ASN1_ITEM_EXP(void);

/* Macro to obtain ASN1_ITEM pointer from exported type */
#define ASN1_ITEM_ptr(iptr) (iptr())

/* Macro to include ASN1_ITEM pointer from base type */
#define ASN1_ITEM_ref(iptr) (iptr##_it)

#define ASN1_ITEM_rptr(ref) (ref##_it())

#define DECLARE_ASN1_ITEM(name) \
	const ASN1_ITEM * name##_it(void);

#endif

/* Parameters used by ASN1_STRING_print_ex() */

/* These determine which characters to escape:
 * RFC2253 special characters, control characters and
 * MSB set characters
 */

#define ASN1_STRFLGS_ESC_2253		1
#define ASN1_STRFLGS_ESC_CTRL		2
#define ASN1_STRFLGS_ESC_MSB		4


/* This flag determines how we do escaping: normally
 * RC2253 backslash only, set this to use backslash and
 * quote.
 */

#define ASN1_STRFLGS_ESC_QUOTE		8


/* These three flags are internal use only. */

/* Character is a valid PrintableString character */
#define CHARTYPE_PRINTABLESTRING	0x10
/* Character needs escaping if it is the first character */
#define CHARTYPE_FIRST_ESC_2253		0x20
/* Character needs escaping if it is the last character */
#define CHARTYPE_LAST_ESC_2253		0x40

/* NB the internal flags are safely reused below by flags
 * handled at the top level.
 */

/* If this is set we convert all character strings
 * to UTF8 first 
 */

#define ASN1_STRFLGS_UTF8_CONVERT	0x10

/* If this is set we don't attempt to interpret content:
 * just assume all strings are 1 byte per character. This
 * will produce some pretty odd looking output!
 */

#define ASN1_STRFLGS_IGNORE_TYPE	0x20

/* If this is set we include the string type in the output */
#define ASN1_STRFLGS_SHOW_TYPE		0x40

/* This determines which strings to display and which to
 * 'dump' (hex dump of content octets or DER encoding). We can
 * only dump non character strings or everything. If we
 * don't dump 'unknown' they are interpreted as character
 * strings with 1 octet per character and are subject to
 * the usual escaping options.
 */

#define ASN1_STRFLGS_DUMP_ALL		0x80
#define ASN1_STRFLGS_DUMP_UNKNOWN	0x100

/* These determine what 'dumping' does, we can dump the
 * content octets or the DER encoding: both use the
 * RFC2253 #XXXXX notation.
 */

#define ASN1_STRFLGS_DUMP_DER		0x200

/* All the string flags consistent with RFC2253,
 * escaping control characters isn't essential in
 * RFC2253 but it is advisable anyway.
 */

#define ASN1_STRFLGS_RFC2253	(ASN1_STRFLGS_ESC_2253 | \
				ASN1_STRFLGS_ESC_CTRL | \
				ASN1_STRFLGS_ESC_MSB | \
				ASN1_STRFLGS_UTF8_CONVERT | \
				ASN1_STRFLGS_DUMP_UNKNOWN | \
				ASN1_STRFLGS_DUMP_DER)

DECLARE_STACK_OF(ASN1_INTEGER)
DECLARE_ASN1_SET_OF(ASN1_INTEGER)

DECLARE_STACK_OF(ASN1_GENERALSTRING)

typedef struct asn1_type_st
	{
	int type;
	union	{
		char *ptr;
		ASN1_BOOLEAN		boolean;
		ASN1_STRING *		asn1_string;
		ASN1_OBJECT *		object;
		ASN1_INTEGER *		integer;
		ASN1_ENUMERATED *	enumerated;
		ASN1_BIT_STRING *	bit_string;
		ASN1_OCTET_STRING *	octet_string;
		ASN1_PRINTABLESTRING *	printablestring;
		ASN1_T61STRING *	t61string;
		ASN1_IA5STRING *	ia5string;
		ASN1_GENERALSTRING *	generalstring;
		ASN1_BMPSTRING *	bmpstring;
		ASN1_UNIVERSALSTRING *	universalstring;
		ASN1_UTCTIME *		utctime;
		ASN1_GENERALIZEDTIME *	generalizedtime;
		ASN1_VISIBLESTRING *	visiblestring;
		ASN1_UTF8STRING *	utf8string;
		/* set and sequence are left complete and still
		 * contain the set or sequence bytes */
		ASN1_STRING *		set;
		ASN1_STRING *		sequence;
		} value;
	} ASN1_TYPE;

DECLARE_STACK_OF(ASN1_TYPE)
DECLARE_ASN1_SET_OF(ASN1_TYPE)

typedef struct asn1_method_st
	{
	i2d_of_void *i2d;
	d2i_of_void *d2i;
	void *(*create)(void);
	void (*destroy)(void *);
	} ASN1_METHOD;

/* This is used when parsing some Netscape objects */
typedef struct asn1_header_st
	{
	ASN1_OCTET_STRING *header;
	void *data;
	ASN1_METHOD *meth;
	} ASN1_HEADER;

/* This is used to contain a list of bit names */
typedef struct BIT_STRING_BITNAME_st {
	int bitnum;
	const char *lname;
	const char *sname;
} BIT_STRING_BITNAME;


#define M_ASN1_STRING_length(x)	((x)->length)
#define M_ASN1_STRING_length_set(x, n)	((x)->length = (n))
#define M_ASN1_STRING_type(x)	((x)->type)
#define M_ASN1_STRING_data(x)	((x)->data)

/* Macros for string operations */
#define M_ASN1_BIT_STRING_new()	(ASN1_BIT_STRING *)\
		ASN1_STRING_type_new(V_ASN1_BIT_STRING)
#define M_ASN1_BIT_STRING_free(a)	ASN1_STRING_free((ASN1_STRING *)a)
#define M_ASN1_BIT_STRING_dup(a) (ASN1_BIT_STRING *)\
		ASN1_STRING_dup((ASN1_STRING *)a)
#define M_ASN1_BIT_STRING_cmp(a,b) ASN1_STRING_cmp(\
		(ASN1_STRING *)a,(ASN1_STRING *)b)
#define M_ASN1_BIT_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c)

#define M_ASN1_INTEGER_new()	(ASN1_INTEGER *)\
		ASN1_STRING_type_new(V_ASN1_INTEGER)
#define M_ASN1_INTEGER_free(a)		ASN1_STRING_free((ASN1_STRING *)a)
#define M_ASN1_INTEGER_dup(a) (ASN1_INTEGER *)ASN1_STRING_dup((ASN1_STRING *)a)
#define M_ASN1_INTEGER_cmp(a,b)	ASN1_STRING_cmp(\
		(ASN1_STRING *)a,(ASN1_STRING *)b)

#define M_ASN1_ENUMERATED_new()	(ASN1_ENUMERATED *)\
		ASN1_STRING_type_new(V_ASN1_ENUMERATED)
#define M_ASN1_ENUMERATED_free(a)	ASN1_STRING_free((ASN1_STRING *)a)
#define M_ASN1_ENUMERATED_dup(a) (ASN1_ENUMERATED *)ASN1_STRING_dup((ASN1_STRING *)a)
#define M_ASN1_ENUMERATED_cmp(a,b)	ASN1_STRING_cmp(\
		(ASN1_STRING *)a,(ASN1_STRING *)b)

#define M_ASN1_OCTET_STRING_new()	(ASN1_OCTET_STRING *)\
		ASN1_STRING_type_new(V_ASN1_OCTET_STRING)
#define M_ASN1_OCTET_STRING_free(a)	ASN1_STRING_free((ASN1_STRING *)a)
#define M_ASN1_OCTET_STRING_dup(a) (ASN1_OCTET_STRING *)\
		ASN1_STRING_dup((ASN1_STRING *)a)
#define M_ASN1_OCTET_STRING_cmp(a,b) ASN1_STRING_cmp(\
		(ASN1_STRING *)a,(ASN1_STRING *)b)
#define M_ASN1_OCTET_STRING_set(a,b,c)	ASN1_STRING_set((ASN1_STRING *)a,b,c)
#define M_ASN1_OCTET_STRING_print(a,b)	ASN1_STRING_print(a,(ASN1_STRING *)b)
#define M_i2d_ASN1_OCTET_STRING(a,pp) \
		i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_OCTET_STRING,\
		V_ASN1_UNIVERSAL)

#define B_ASN1_TIME \
			B_ASN1_UTCTIME | \
			B_ASN1_GENERALIZEDTIME

#define B_ASN1_PRINTABLE \
			B_ASN1_PRINTABLESTRING| \
			B_ASN1_T61STRING| \
			B_ASN1_IA5STRING| \
			B_ASN1_BIT_STRING| \
			B_ASN1_UNIVERSALSTRING|\
			B_ASN1_BMPSTRING|\
			B_ASN1_UTF8STRING|\
			B_ASN1_SEQUENCE|\
			B_ASN1_UNKNOWN

#define B_ASN1_DIRECTORYSTRING \
			B_ASN1_PRINTABLESTRING| \
			B_ASN1_TELETEXSTRING|\
			B_ASN1_BMPSTRING|\
			B_ASN1_UNIVERSALSTRING|\
			B_ASN1_UTF8STRING

#define B_ASN1_DISPLAYTEXT \
			B_ASN1_IA5STRING| \
			B_ASN1_VISIBLESTRING| \
			B_ASN1_BMPSTRING|\
			B_ASN1_UTF8STRING

#define M_ASN1_PRINTABLE_new()	ASN1_STRING_type_new(V_ASN1_T61STRING)
#define M_ASN1_PRINTABLE_free(a)	ASN1_STRING_free((ASN1_STRING *)a)
#define M_i2d_ASN1_PRINTABLE(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\
		pp,a->type,V_ASN1_UNIVERSAL)
#define M_d2i_ASN1_PRINTABLE(a,pp,l) \

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品91一区二区| 国产午夜精品一区二区| 久久99热狠狠色一区二区| 亚洲少妇中出一区| 久久久一区二区| 91精品国产综合久久精品图片| 成人久久视频在线观看| 日韩高清不卡在线| 日韩一区在线免费观看| 久久婷婷成人综合色| 欧美日韩国产精品成人| 91丨porny丨户外露出| 欧美sm极限捆绑bd| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 精东粉嫩av免费一区二区三区| 亚洲国产日韩一区二区| 亚洲欧美一区二区三区孕妇| 欧美国产日韩一二三区| 久久久久久久久伊人| 日韩欧美视频在线| 欧美日韩一区二区欧美激情| 一本一本久久a久久精品综合麻豆| 国产精品一区专区| 久久爱www久久做| 蜜臀av一级做a爰片久久| 欧美午夜视频网站| 一本色道**综合亚洲精品蜜桃冫 | 亚洲综合成人在线| 中文字幕一区在线观看视频| 久久久九九九九| 久久免费看少妇高潮| 欧美成人r级一区二区三区| 日韩视频在线永久播放| 欧美高清视频一二三区 | 国产精品毛片久久久久久| 26uuu国产在线精品一区二区| 6080yy午夜一二三区久久| 欧美日韩综合一区| 欧美色窝79yyyycom| 欧美在线不卡视频| 在线观看一区二区精品视频| 日本道在线观看一区二区| 色婷婷综合视频在线观看| 一本到高清视频免费精品| 色哟哟亚洲精品| 欧美性大战久久久久久久| 欧美三区在线观看| 亚洲综合精品自拍| 午夜精品福利久久久| 日韩av一级电影| 久久精品国产77777蜜臀| 国产尤物一区二区在线| 国产河南妇女毛片精品久久久| 粉嫩蜜臀av国产精品网站| 成人激情午夜影院| 色悠久久久久综合欧美99| 欧美日韩国产中文| 欧美电影免费观看完整版| 国产日产精品1区| 亚洲天堂成人在线观看| 欧美亚洲一区二区三区四区| 欧美日韩精品专区| 精品日韩在线观看| 国产精品免费视频网站| 亚洲资源在线观看| 另类小说欧美激情| 北岛玲一区二区三区四区| 色悠久久久久综合欧美99| 欧美一区二区三区精品| 国产欧美精品一区二区三区四区 | 高清成人免费视频| 色94色欧美sute亚洲线路二| 欧美高清性hdvideosex| 国产日韩欧美精品一区| 一级精品视频在线观看宜春院| 免费在线观看视频一区| 成人动漫视频在线| 欧美精品精品一区| 国产欧美一二三区| 亚洲va韩国va欧美va| 国产福利一区二区三区| 欧美视频在线播放| 国产日韩高清在线| 91成人在线精品| 精品国内片67194| 1000部国产精品成人观看| 亚洲国产婷婷综合在线精品| 韩国视频一区二区| 欧美三级资源在线| 久久久久99精品国产片| 亚洲成a人v欧美综合天堂下载 | 天天影视色香欲综合网老头| 国产一区二区三区综合| 欧美日韩国产综合视频在线观看| 久久精品亚洲一区二区三区浴池| 色综合欧美在线视频区| 精品久久久网站| 亚洲香肠在线观看| 成人午夜激情片| 欧美大白屁股肥臀xxxxxx| 一区二区三区色| 成人性生交大片免费看视频在线 | 美女视频黄久久| 91毛片在线观看| 久久久久久久久久久久久夜| 丝袜美腿高跟呻吟高潮一区| 国产欧美日韩三级| 日本中文字幕一区| 欧美私模裸体表演在线观看| 国产精品三级在线观看| 激情文学综合插| 欧美一级理论片| 日韩电影在线观看电影| 一本久久综合亚洲鲁鲁五月天| 国产日韩精品一区| 国产精品白丝jk黑袜喷水| 日韩一级在线观看| 青椒成人免费视频| 91精品国产乱| 首页亚洲欧美制服丝腿| 欧美日韩一区不卡| 色综合天天狠狠| 国产精品天天摸av网| 国内成人免费视频| 久久综合资源网| 精品一区二区成人精品| 欧美一区二区播放| 日本视频一区二区三区| 777亚洲妇女| 青青国产91久久久久久| 日韩三级在线观看| 蜜桃久久久久久| 精品国产亚洲一区二区三区在线观看| 午夜电影久久久| 欧美二区三区91| 日本一区中文字幕| 精品国产免费一区二区三区四区 | ...av二区三区久久精品| 国产传媒日韩欧美成人| 日本一区二区三区四区在线视频| 国产精品一级片在线观看| 国产婷婷色一区二区三区四区| 国产美女一区二区三区| 中文字幕乱码一区二区免费| 成人黄色国产精品网站大全在线免费观看 | 一区二区欧美国产| 在线观看三级视频欧美| 亚洲一区二区四区蜜桃| 欧美日韩一级视频| 捆绑变态av一区二区三区| 精品999在线播放| 国产一区二区三区免费观看| 亚洲国产岛国毛片在线| 99国产欧美久久久精品| 亚洲永久免费视频| 欧美老年两性高潮| 久草在线在线精品观看| 亚洲国产精品精华液2区45| 91伊人久久大香线蕉| 亚洲国产日韩精品| 日本亚洲三级在线| 精品国产精品一区二区夜夜嗨| 激情伊人五月天久久综合| 中文字幕巨乱亚洲| 欧美亚洲综合一区| 精品一区二区三区视频| 国产精品网站在线观看| 欧美在线视频你懂得| 麻豆精品国产91久久久久久| 久久精品这里都是精品| 在线欧美日韩精品| 久久精品国产一区二区| 亚洲欧美一区二区在线观看| 欧美精品久久一区| 成人av在线一区二区| 亚洲v中文字幕| 日本一区二区三区视频视频| 亚洲免费视频中文字幕| 精品国产不卡一区二区三区| 波多野结衣亚洲一区| 日韩综合小视频| 中文字幕av免费专区久久| 欧美喷潮久久久xxxxx| 高清久久久久久| 日本强好片久久久久久aaa| 国产精品超碰97尤物18| 欧美一区二区在线不卡| av午夜精品一区二区三区| 免费一区二区视频| 一区二区三区中文字幕电影| 久久伊人蜜桃av一区二区| 精品视频资源站| 成人国产精品免费| 秋霞国产午夜精品免费视频| 成人av在线一区二区三区| 秋霞午夜鲁丝一区二区老狼| 最新成人av在线| 久久婷婷久久一区二区三区| 欧美肥大bbwbbw高潮| 91免费观看视频|