?? bio.h
字號:
const char * BIO_method_name(const BIO *b);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)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -