use super::super::*; use libc::*; extern "C" { pub fn BIO_set_flags(b: *mut BIO, flags: c_int); pub fn BIO_clear_flags(b: *mut BIO, flags: c_int); } pub type bio_info_cb = Option; cfg_if! { if #[cfg(any(ossl110, libressl280))] { pub enum BIO_METHOD {} } else { #[repr(C)] pub struct BIO_METHOD { pub type_: c_int, pub name: *const c_char, pub bwrite: Option c_int>, pub bread: Option c_int>, pub bputs: Option c_int>, pub bgets: Option c_int>, pub ctrl: Option c_long>, pub create: Option c_int>, pub destroy: Option c_int>, pub callback_ctrl: Option c_long>, } } } const_ptr_api! { extern "C" { pub fn BIO_s_file() -> #[const_ptr_if(any(ossl110, libressl280))] BIO_METHOD; pub fn BIO_new(type_: #[const_ptr_if(any(ossl110, libressl280))] BIO_METHOD) -> *mut BIO; } } extern "C" { #[cfg(not(osslconf = "OPENSSL_NO_STDIO"))] pub fn BIO_new_fp(stream: *mut FILE, close_flag: c_int) -> *mut BIO; #[cfg(any(ossl110, libressl273))] pub fn BIO_set_data(a: *mut BIO, data: *mut c_void); #[cfg(any(ossl110, libressl273))] pub fn BIO_get_data(a: *mut BIO) -> *mut c_void; #[cfg(any(ossl110, libressl273))] pub fn BIO_set_init(a: *mut BIO, init: c_int); pub fn BIO_write(b: *mut BIO, buf: *const c_void, len: c_int) -> c_int; pub fn BIO_read(b: *mut BIO, buf: *mut c_void, len: c_int) -> c_int; pub fn BIO_ctrl(b: *mut BIO, cmd: c_int, larg: c_long, parg: *mut c_void) -> c_long; pub fn BIO_free_all(b: *mut BIO); } const_ptr_api! { extern "C" { pub fn BIO_s_mem() -> #[const_ptr_if(any(ossl110, libressl280))] BIO_METHOD; pub fn BIO_new_mem_buf(buf: #[const_ptr_if(any(ossl102, libressl280))] c_void, len: c_int) -> *mut BIO; } } extern "C" { #[cfg(not(osslconf = "OPENSSL_NO_SOCK"))] pub fn BIO_new_socket(sock: c_int, close_flag: c_int) -> *mut BIO; #[cfg(any(ossl110, libressl273))] pub fn BIO_meth_new(type_: c_int, name: *const c_char) -> *mut BIO_METHOD; #[cfg(any(ossl110, libressl273))] pub fn BIO_meth_free(biom: *mut BIO_METHOD); } #[allow(clashing_extern_declarations)] extern "C" { #[cfg(any(ossl110, libressl273))] #[link_name = "BIO_meth_set_write"] pub fn BIO_meth_set_write__fixed_rust( biom: *mut BIO_METHOD, write: Option c_int>, ) -> c_int; #[cfg(any(ossl110, libressl273))] #[link_name = "BIO_meth_set_read"] pub fn BIO_meth_set_read__fixed_rust( biom: *mut BIO_METHOD, read: Option c_int>, ) -> c_int; #[cfg(any(ossl110, libressl273))] #[link_name = "BIO_meth_set_puts"] pub fn BIO_meth_set_puts__fixed_rust( biom: *mut BIO_METHOD, read: Option c_int>, ) -> c_int; #[cfg(any(ossl110, libressl273))] #[link_name = "BIO_meth_set_ctrl"] pub fn BIO_meth_set_ctrl__fixed_rust( biom: *mut BIO_METHOD, read: Option c_long>, ) -> c_int; #[cfg(any(ossl110, libressl273))] #[link_name = "BIO_meth_set_create"] pub fn BIO_meth_set_create__fixed_rust( biom: *mut BIO_METHOD, create: Option c_int>, ) -> c_int; #[cfg(any(ossl110, libressl273))] #[link_name = "BIO_meth_set_destroy"] pub fn BIO_meth_set_destroy__fixed_rust( biom: *mut BIO_METHOD, destroy: Option c_int>, ) -> c_int; }