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

📄 bio.h

📁 openssl 的一套sdk 特别好用
💻 H
📖 第 1 页 / 共 3 页
字号:
int BIO_method_type(const BIO *b);typedef void bio_info_cb(struct bio_st *, int, const char *, int, long, long);#ifndef OPENSSL_SYS_WIN16typedef struct bio_method_st	{	int type;	const char *name;	int (*bwrite)(BIO *, const char *, int);	int (*bread)(BIO *, char *, int);	int (*bputs)(BIO *, const char *);	int (*bgets)(BIO *, char *, int);	long (*ctrl)(BIO *, int, long, void *);	int (*create)(BIO *);	int (*destroy)(BIO *);        long (*callback_ctrl)(BIO *, int, bio_info_cb *);	} BIO_METHOD;#elsetypedef struct bio_method_st	{	int type;	const char *name;	int (_far *bwrite)();	int (_far *bread)();	int (_far *bputs)();	int (_far *bgets)();	long (_far *ctrl)();	int (_far *create)();	int (_far *destroy)();	long (_far *callback_ctrl)();	} BIO_METHOD;#endifstruct bio_st	{	BIO_METHOD *method;	/* bio, mode, argp, argi, argl, ret */	long (*callback)(struct bio_st *,int,const char *,int, long,long);	char *cb_arg; /* first argument for the callback */	int init;	int shutdown;	int flags;	/* extra storage */	int retry_reason;	int num;	void *ptr;	struct bio_st *next_bio;	/* used by filter BIOs */	struct bio_st *prev_bio;	/* used by filter BIOs */	int references;	unsigned long num_read;	unsigned long num_write;	CRYPTO_EX_DATA ex_data;	};DECLARE_STACK_OF(BIO)typedef struct bio_f_buffer_ctx_struct	{	/* BIO *bio; */ /* this is now in the BIO struct */	int ibuf_size;	/* how big is the input buffer */	int obuf_size;	/* how big is the output buffer */	char *ibuf;		/* the char array */	int ibuf_len;		/* how many bytes are in it */	int ibuf_off;		/* write/read offset */	char *obuf;		/* the char array */	int obuf_len;		/* how many bytes are in it */	int obuf_off;		/* write/read offset */	} BIO_F_BUFFER_CTX;/* connect BIO stuff */#define BIO_CONN_S_BEFORE		1#define BIO_CONN_S_GET_IP		2#define BIO_CONN_S_GET_PORT		3#define BIO_CONN_S_CREATE_SOCKET	4#define BIO_CONN_S_CONNECT		5#define BIO_CONN_S_OK			6#define BIO_CONN_S_BLOCKED_CONNECT	7#define BIO_CONN_S_NBIO			8/*#define BIO_CONN_get_param_hostname	BIO_ctrl */#define BIO_C_SET_CONNECT			100#define BIO_C_DO_STATE_MACHINE			101#define BIO_C_SET_NBIO				102#define BIO_C_SET_PROXY_PARAM			103#define BIO_C_SET_FD				104#define BIO_C_GET_FD				105#define BIO_C_SET_FILE_PTR			106#define BIO_C_GET_FILE_PTR			107#define BIO_C_SET_FILENAME			108#define BIO_C_SET_SSL				109#define BIO_C_GET_SSL				110#define BIO_C_SET_MD				111#define BIO_C_GET_MD				112#define BIO_C_GET_CIPHER_STATUS			113#define BIO_C_SET_BUF_MEM			114#define BIO_C_GET_BUF_MEM_PTR			115#define BIO_C_GET_BUFF_NUM_LINES		116#define BIO_C_SET_BUFF_SIZE			117#define BIO_C_SET_ACCEPT			118#define BIO_C_SSL_MODE				119#define BIO_C_GET_MD_CTX			120#define BIO_C_GET_PROXY_PARAM			121#define BIO_C_SET_BUFF_READ_DATA		122 /* data to read first */#define BIO_C_GET_CONNECT			123#define BIO_C_GET_ACCEPT			124#define BIO_C_SET_SSL_RENEGOTIATE_BYTES		125#define BIO_C_GET_SSL_NUM_RENEGOTIATES		126#define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT	127#define BIO_C_FILE_SEEK				128#define BIO_C_GET_CIPHER_CTX			129#define BIO_C_SET_BUF_MEM_EOF_RETURN		130/*return end of input value*/#define BIO_C_SET_BIND_MODE			131#define BIO_C_GET_BIND_MODE			132#define BIO_C_FILE_TELL				133#define BIO_C_GET_SOCKS				134#define BIO_C_SET_SOCKS				135#define BIO_C_SET_WRITE_BUF_SIZE		136/* for BIO_s_bio */#define BIO_C_GET_WRITE_BUF_SIZE		137#define BIO_C_MAKE_BIO_PAIR			138#define BIO_C_DESTROY_BIO_PAIR			139#define BIO_C_GET_WRITE_GUARANTEE		140#define BIO_C_GET_READ_REQUEST			141#define BIO_C_SHUTDOWN_WR			142#define BIO_C_NREAD0				143#define BIO_C_NREAD				144#define BIO_C_NWRITE0				145#define BIO_C_NWRITE				146#define BIO_C_RESET_READ_REQUEST		147#define BIO_C_SET_MD_CTX			148#define BIO_set_app_data(s,arg)		BIO_set_ex_data(s,0,arg)#define BIO_get_app_data(s)		BIO_get_ex_data(s,0)/* BIO_s_connect() and BIO_s_socks4a_connect() */#define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0,(char *)name)#define BIO_set_conn_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,1,(char *)port)#define BIO_set_conn_ip(b,ip)	  BIO_ctrl(b,BIO_C_SET_CONNECT,2,(char *)ip)#define BIO_set_conn_int_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,3,(char *)port)#define BIO_get_conn_hostname(b)  BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0)#define BIO_get_conn_port(b)      BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1)#define BIO_get_conn_ip(b) 		 BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2)#define BIO_get_conn_int_port(b) BIO_int_ctrl(b,BIO_C_GET_CONNECT,3)#define BIO_set_nbio(b,n)	BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL)/* BIO_s_accept_socket() */#define BIO_set_accept_port(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0,(char *)name)#define BIO_get_accept_port(b)	BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0)/* #define BIO_set_nbio(b,n)	BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */#define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,1,(n)?"a":NULL)#define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(char *)bio)#define BIO_BIND_NORMAL			0#define BIO_BIND_REUSEADDR_IF_UNUSED	1#define BIO_BIND_REUSEADDR		2#define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL)#define BIO_get_bind_mode(b,mode) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL)#define BIO_do_connect(b)	BIO_do_handshake(b)#define BIO_do_accept(b)	BIO_do_handshake(b)#define BIO_do_handshake(b)	BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL)/* BIO_s_proxy_client() */#define BIO_set_url(b,url)	BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,0,(char *)(url))#define BIO_set_proxies(b,p)	BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,1,(char *)(p))/* BIO_set_nbio(b,n) */#define BIO_set_filter_bio(b,s) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,2,(char *)(s))/* BIO *BIO_get_filter_bio(BIO *bio); */#define BIO_set_proxy_cb(b,cb) BIO_callback_ctrl(b,BIO_C_SET_PROXY_PARAM,3,(void *(*cb)()))#define BIO_set_proxy_header(b,sk) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,4,(char *)sk)#define BIO_set_no_connect_return(b,bool) BIO_int_ctrl(b,BIO_C_SET_PROXY_PARAM,5,bool)#define BIO_get_proxy_header(b,skp) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,0,(char *)skp)#define BIO_get_proxies(b,pxy_p) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,1,(char *)(pxy_p))#define BIO_get_url(b,url)	BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,2,(char *)(url))#define BIO_get_no_connect_return(b)	BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,5,NULL)#define BIO_set_fd(b,fd,c)	BIO_int_ctrl(b,BIO_C_SET_FD,c,fd)#define BIO_get_fd(b,c)		BIO_ctrl(b,BIO_C_GET_FD,0,(char *)c)#define BIO_set_fp(b,fp,c)	BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)fp)#define BIO_get_fp(b,fpp)	BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)fpp)#define BIO_seek(b,ofs)	(int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL)#define BIO_tell(b)	(int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL)/* name is cast to lose const, but might be better to route through a function   so we can do it safely */#ifdef CONST_STRICT/* If you are wondering why this isn't defined, its because CONST_STRICT is * purely a compile-time kludge to allow const to be checked. */int BIO_read_filename(BIO *b,const char *name);#else#define BIO_read_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \		BIO_CLOSE|BIO_FP_READ,(char *)name)#endif#define BIO_write_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \		BIO_CLOSE|BIO_FP_WRITE,name)#define BIO_append_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \		BIO_CLOSE|BIO_FP_APPEND,name)#define BIO_rw_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \		BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name)/* WARNING WARNING, this ups the reference count on the read bio of the * SSL structure.  This is because the ssl read BIO is now pointed to by * the next_bio field in the bio.  So when you free the BIO, make sure * you are doing a BIO_free_all() to catch the underlying BIO. */#define BIO_set_ssl(b,ssl,c)	BIO_ctrl(b,BIO_C_SET_SSL,c,(char *)ssl)#define BIO_get_ssl(b,sslp)	BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)sslp)#define BIO_set_ssl_mode(b,client)	BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL)#define BIO_set_ssl_renegotiate_bytes(b,num) \	BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL);#define BIO_get_num_renegotiates(b) \	BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL);#define BIO_set_ssl_renegotiate_timeout(b,seconds) \	BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL);/* defined in evp.h *//* #define BIO_set_md(b,md)	BIO_ctrl(b,BIO_C_SET_MD,1,(char *)md) */#define BIO_get_mem_data(b,pp)	BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp)#define BIO_set_mem_buf(b,bm,c)	BIO_ctrl(b,BIO_C_SET_BUF_MEM,c,(char *)bm)#define BIO_get_mem_ptr(b,pp)	BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0,(char *)pp)#define BIO_set_mem_eof_return(b,v) \				BIO_ctrl(b,BIO_C_SET_BUF_MEM_EOF_RETURN,v,NULL)/* For the BIO_f_buffer() type */#define BIO_get_buffer_num_lines(b)	BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL)#define BIO_set_buffer_size(b,size)	BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL)#define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0)#define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1)#define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf)/* Don't use the next one unless you know what you are doing :-) */#define BIO_dup_state(b,ret)	BIO_ctrl(b,BIO_CTRL_DUP,0,(char *)(ret))#define BIO_reset(b)		(int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL)#define BIO_eof(b)		(int)BIO_ctrl(b,BIO_CTRL_EOF,0,NULL)#define BIO_set_close(b,c)	(int)BIO_ctrl(b,BIO_CTRL_SET_CLOSE,(c),NULL)#define BIO_get_close(b)	(int)BIO_ctrl(b,BIO_CTRL_GET_CLOSE,0,NULL)#define BIO_pending(b)		(int)BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)#define BIO_wpending(b)		(int)BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL)/* ...pending macros have inappropriate return type */size_t BIO_ctrl_pending(BIO *b);size_t BIO_ctrl_wpending(BIO *b);#define BIO_flush(b)		(int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL)#define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \						   cbp)#define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb)/* For the BIO_f_buffer() type */

⌨️ 快捷键说明

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