Struct bearssl::br_ssl_engine_context [] [src]

#[repr(C)]
pub struct br_ssl_engine_context { pub err: c_int, pub ibuf: *mut c_uchar, pub obuf: *mut c_uchar, pub ibuf_len: usize, pub obuf_len: usize, pub max_frag_len: u16, pub log_max_frag_len: c_uchar, pub peer_log_max_frag_len: c_uchar, pub ixa: usize, pub ixb: usize, pub ixc: usize, pub oxa: usize, pub oxb: usize, pub oxc: usize, pub iomode: c_uchar, pub incrypt: c_uchar, pub shutdown_recv: c_uchar, pub record_type_in: c_uchar, pub record_type_out: c_uchar, pub version_in: u16, pub version_out: u16, pub in_: br_ssl_engine_context__bindgen_ty_1, pub out: br_ssl_engine_context__bindgen_ty_2, pub application_data: c_uchar, pub rng: br_hmac_drbg_context, pub rng_init_done: c_int, pub rng_os_rand_done: c_int, pub version_min: u16, pub version_max: u16, pub suites_buf: [u16; 40], pub suites_num: c_uchar, pub server_name: [c_char; 256], pub client_random: [c_uchar; 32], pub server_random: [c_uchar; 32], pub session: br_ssl_session_parameters, pub ecdhe_curve: c_uchar, pub ecdhe_point: [c_uchar; 133], pub ecdhe_point_len: c_uchar, pub reneg: c_uchar, pub saved_finished: [c_uchar; 24], pub flags: u32, pub cpu: br_ssl_engine_context__bindgen_ty_3, pub dp_stack: [u32; 32], pub rp_stack: [u32; 32], pub pad: [c_uchar; 512], pub hbuf_in: *mut c_uchar, pub hbuf_out: *mut c_uchar, pub saved_hbuf_out: *mut c_uchar, pub hlen_in: usize, pub hlen_out: usize, pub hsrun: Option<unsafe extern "C" fn(_: *mut c_void)>, pub action: c_uchar, pub alert: c_uchar, pub close_received: c_uchar, pub mhash: br_multihash_context, pub x509ctx: *mut *const br_x509_class, pub chain: *const br_x509_certificate, pub chain_len: usize, pub cert_cur: *const c_uchar, pub cert_len: usize, pub protocol_names: *mut *const c_char, pub protocol_names_num: u16, pub selected_protocol: u16, pub prf10: br_tls_prf_impl, pub prf_sha256: br_tls_prf_impl, pub prf_sha384: br_tls_prf_impl, pub iaes_cbcenc: *const br_block_cbcenc_class, pub iaes_cbcdec: *const br_block_cbcdec_class, pub iaes_ctr: *const br_block_ctr_class, pub ides_cbcenc: *const br_block_cbcenc_class, pub ides_cbcdec: *const br_block_cbcdec_class, pub ighash: br_ghash, pub ichacha: br_chacha20_run, pub ipoly: br_poly1305_run, pub icbc_in: *const br_sslrec_in_cbc_class, pub icbc_out: *const br_sslrec_out_cbc_class, pub igcm_in: *const br_sslrec_in_gcm_class, pub igcm_out: *const br_sslrec_out_gcm_class, pub ichapol_in: *const br_sslrec_in_chapol_class, pub ichapol_out: *const br_sslrec_out_chapol_class, pub iec: *const br_ec_impl, pub irsavrfy: br_rsa_pkcs1_vrfy, pub iecdsa: br_ecdsa_vrfy, }

\brief Context structure for SSL engine.

This strucuture is common to the client and server; both the client context (br_ssl_client_context) and the server context (br_ssl_server_context) include a br_ssl_engine_context as their first field.

The engine context manages records, including alerts, closures, and transitions to new encryption/MAC algorithms. Processing of handshake records is delegated to externally provided code. This structure should not be used directly.

Structure contents are opaque and shall not be accessed directly.

Fields

Trait Implementations

impl Copy for br_ssl_engine_context
[src]

impl Clone for br_ssl_engine_context
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more