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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? asn1.h.svn-base

?? 絲路server源碼 Silk Road server source
?? SVN-BASE
?? 第 1 頁 / 共 4 頁
字號:
#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) \

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品88久久久久88久久久| 欧美成人一级视频| 国产一区二区免费看| 亚洲夂夂婷婷色拍ww47| 中文字幕免费不卡在线| 久久久久久久久久久久久女国产乱| 91精品国产乱| 日韩欧美电影在线| 亚洲精品一区二区三区福利 | 欧美在线视频不卡| 在线看一区二区| 欧美日韩在线亚洲一区蜜芽| 欧美日韩国产天堂| 日韩美女主播在线视频一区二区三区| 欧美精品日韩综合在线| 欧美一区二区三区免费视频 | 国产suv精品一区二区三区| 韩国精品在线观看| 成人激情文学综合网| 99riav久久精品riav| 欧美视频三区在线播放| 9191久久久久久久久久久| 日韩精品在线网站| 国产精品国产三级国产| 亚洲伊人伊色伊影伊综合网| 日本成人在线看| 国产成人免费在线观看| 91亚洲精品久久久蜜桃| 欧美精品123区| 国产亚洲欧美激情| 亚洲午夜精品在线| 国内精品视频一区二区三区八戒| 99这里只有精品| 欧美群妇大交群的观看方式| 久久久久久久性| 午夜欧美一区二区三区在线播放| 久久国产夜色精品鲁鲁99| 99久久伊人久久99| 日韩一二在线观看| 亚洲视频在线一区| 国产一区二区三区四| 欧美日韩中文字幕一区| 久久久久久久久99精品| 性感美女极品91精品| 成人永久免费视频| 欧美成人video| 亚洲一区二区三区四区五区中文 | 久久久精品天堂| 亚洲午夜精品17c| 成人晚上爱看视频| 日韩亚洲国产中文字幕欧美| 国产精品乱人伦| 久久成人免费网| 精品视频1区2区| 亚洲欧美偷拍卡通变态| 高清视频一区二区| 日韩精品中文字幕一区| 亚洲v日本v欧美v久久精品| av在线不卡电影| 国产亚洲精品超碰| 麻豆成人av在线| 91麻豆精品国产91久久久久久 | 亚洲欧洲av在线| 国产一区二区三区日韩| 3d成人h动漫网站入口| 亚洲精品中文在线影院| 成人h动漫精品一区二区| 日韩精品一区在线| 精品一区二区av| 日韩一本二本av| 美国三级日本三级久久99 | 欧美xxxxxxxxx| 肉肉av福利一精品导航| 在线观看日韩电影| 亚洲在线视频免费观看| 日本高清成人免费播放| 亚洲少妇30p| 欧美在线影院一区二区| 亚洲成人黄色小说| 欧美乱妇15p| 图片区日韩欧美亚洲| 欧美伦理视频网站| 视频一区中文字幕| 日韩免费视频线观看| 激情综合网av| 国产日韩欧美精品综合| 成人黄色软件下载| 自拍av一区二区三区| 欧美亚洲国产bt| 性久久久久久久久久久久| 欧美日韩不卡视频| 老司机午夜精品99久久| 精品久久久久久久久久久久久久久久久| 麻豆一区二区在线| 国产欧美一区在线| 色呦呦网站一区| 日韩黄色免费电影| 久久日韩精品一区二区五区| 国产成人亚洲综合a∨婷婷| 国产精品欧美久久久久无广告| 99国产精品国产精品久久| 一区二区三区精密机械公司| 欧美人妖巨大在线| 国产原创一区二区三区| 亚洲美女视频在线| 制服.丝袜.亚洲.另类.中文| 国产精品一区一区三区| 亚洲欧美一区二区三区国产精品 | 一区二区三区加勒比av| 欧美精品 国产精品| 国产乱码精品一品二品| 亚洲乱码国产乱码精品精可以看| 欧美精品免费视频| av网站免费线看精品| 天天综合网天天综合色| 欧美国产一区视频在线观看| 欧美日韩视频一区二区| 成人永久免费视频| 免费人成在线不卡| 亚洲人成影院在线观看| 欧美精品一区二区三区一线天视频| 成人性生交大片免费看中文网站| 午夜精品久久久| 国产精品污污网站在线观看| 欧美精品日韩综合在线| 99re视频精品| 国产风韵犹存在线视精品| 水野朝阳av一区二区三区| 一区二区中文字幕在线| 精品国产一区二区三区不卡| 精品视频在线视频| 99riav一区二区三区| 国产a级毛片一区| 美女尤物国产一区| 亚洲一区在线观看网站| 国产精品你懂的| xfplay精品久久| 欧美高清视频www夜色资源网| 成人av网址在线观看| 国产精品一区在线| 极品尤物av久久免费看| 日韩电影一区二区三区| 亚洲精品欧美激情| 中文字幕日本不卡| 国产精品美女一区二区在线观看| 久久婷婷色综合| 精品久久人人做人人爰| 日韩精品综合一本久道在线视频| 91国产视频在线观看| 91福利资源站| 欧美性色综合网| 欧美日韩一本到| 欧美二区三区91| 5858s免费视频成人| 在线电影一区二区三区| 欧美中文字幕不卡| 91精品国产综合久久精品| 91精品婷婷国产综合久久性色| 91久久精品一区二区| 欧美日韩一级视频| 欧美日韩和欧美的一区二区| 欧美高清hd18日本| 日韩无一区二区| 欧美精品一区二| 久久久久99精品一区| 亚洲国产精品t66y| 中文字幕在线观看一区| 亚洲欧美日韩一区| 亚洲gay无套男同| 蜜桃在线一区二区三区| 久久国产日韩欧美精品| 国产精品一色哟哟哟| 91免费观看视频在线| 在线免费不卡视频| 日韩欧美www| 国产欧美一区二区在线| 亚洲丝袜精品丝袜在线| 琪琪久久久久日韩精品| 成人性生交大片免费看中文| 91九色02白丝porn| 日韩精品一区在线| 亚洲免费三区一区二区| 蜜臀av在线播放一区二区三区 | 亚洲1区2区3区4区| 久久99精品久久久久久| 一本色道久久综合狠狠躁的推荐| 91精品欧美久久久久久动漫| 国产精品国产三级国产三级人妇| 亚洲成av人片一区二区三区| 国产一区二区三区在线观看精品| 色综合天天综合给合国产| 欧美不卡视频一区| 一二三区精品福利视频| 国产成人精品免费网站| 欧美老肥妇做.爰bbww| 国产精品免费av| 久久国产日韩欧美精品| 欧美午夜精品久久久久久超碰| 精品99一区二区| 亚洲午夜av在线|