sig   type ssl_error =       Error_none     | Error_ssl     | Error_want_read     | Error_want_write     | Error_want_x509_lookup     | Error_syscall     | Error_zero_return     | Error_want_connect     | Error_want_accept   type bigarray =       (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t   exception Method_error   exception Context_error   exception Cipher_error   exception Diffie_hellman_error   exception Ec_curve_error   exception Certificate_error   exception Private_key_error   exception Unmatching_keys   exception Invalid_socket   exception Handler_error   exception Connection_error of Ssl.ssl_error   exception Accept_error of Ssl.ssl_error   exception Read_error of Ssl.ssl_error   exception Write_error of Ssl.ssl_error   type verify_error =       Error_v_unable_to_get_issuer_cert     | Error_v_unable_to_get_ctl     | Error_v_unable_to_decrypt_cert_signature     | Error_v_unable_to_decrypt_CRL_signature     | Error_v_unable_to_decode_issuer_public_key     | Error_v_cert_signature_failure     | Error_v_CRL_signature_failure     | Error_v_cert_not_yet_valid     | Error_v_cert_has_expired     | Error_v_CRL_not_yet_valid     | Error_v_CRL_has_expired     | Error_v_error_in_cert_not_before_field     | Error_v_error_in_cert_not_after_field     | Error_v_error_in_CRL_last_update_field     | Error_v_error_in_CRL_next_update_field     | Error_v_out_of_mem     | Error_v_depth_zero_self_signed_cert     | Error_v_self_signed_cert_in_chain     | Error_v_unable_to_get_issuer_cert_locally     | Error_v_unable_to_verify_leaf_signature     | Error_v_cert_chain_too_long     | Error_v_cert_revoked     | Error_v_invalid_CA     | Error_v_path_length_exceeded     | Error_v_invalid_purpose     | Error_v_cert_untrusted     | Error_v_cert_rejected     | Error_v_subject_issuer_mismatch     | Error_v_akid_skid_mismatch     | Error_v_akid_issuer_serial_mismatch     | Error_v_keyusage_no_certsign     | Error_v_application_verification   exception Verify_error of Ssl.verify_error   val init : ?thread_safe:bool -> unit -> unit   val get_error_string : unit -> string   type protocol = SSLv23 | SSLv3 | TLSv1 | TLSv1_1 | TLSv1_2   type socket   val thread_safe : bool Pervasives.ref   type context   type context_type = Client_context | Server_context | Both_context   val create_context : Ssl.protocol -> Ssl.context_type -> Ssl.context   val use_certificate : Ssl.context -> string -> string -> unit   val set_password_callback : Ssl.context -> (bool -> string) -> unit   val set_client_CA_list_from_file : Ssl.context -> string -> unit   type verify_mode =       Verify_peer     | Verify_fail_if_no_peer_cert     | Verify_client_once   type verify_callback   val client_verify_callback : Ssl.verify_callback   val set_client_verify_callback_verbose : bool -> unit   val set_verify :     Ssl.context -> Ssl.verify_mode list -> Ssl.verify_callback option -> unit   val set_verify_depth : Ssl.context -> int -> unit   type cipher   val disable_protocols : Ssl.context -> Ssl.protocol list -> unit   val set_cipher_list : Ssl.context -> string -> unit   val honor_cipher_order : Ssl.context -> unit   val init_dh_from_file : Ssl.context -> string -> unit   val init_ec_from_named_curve : Ssl.context -> string -> unit   val get_cipher : Ssl.socket -> Ssl.cipher   val get_cipher_description : Ssl.cipher -> string   val get_cipher_name : Ssl.cipher -> string   val get_cipher_version : Ssl.cipher -> string   type certificate   val read_certificate : string -> Ssl.certificate   val write_certificate : string -> Ssl.certificate -> unit   val get_certificate : Ssl.socket -> Ssl.certificate   val get_issuer : Ssl.certificate -> string   val get_subject : Ssl.certificate -> string   val load_verify_locations : Ssl.context -> string -> string -> unit   val get_verify_result : Ssl.socket -> int   val embed_socket : Unix.file_descr -> Ssl.context -> Ssl.socket   val open_connection : Ssl.protocol -> Unix.sockaddr -> Ssl.socket   val open_connection_with_context :     Ssl.context -> Unix.sockaddr -> Ssl.socket   val shutdown_connection : Ssl.socket -> unit   val set_client_SNI_hostname : Ssl.socket -> string -> unit   val connect : Ssl.socket -> unit   val accept : Ssl.socket -> unit   val flush : Ssl.socket -> unit   val shutdown : Ssl.socket -> unit   val verify : Ssl.socket -> unit   val file_descr_of_socket : Ssl.socket -> Unix.file_descr   val read : Ssl.socket -> Bytes.t -> int -> int -> int   val read_into_bigarray : Ssl.socket -> Ssl.bigarray -> int -> int -> int   val read_into_bigarray_blocking :     Ssl.socket -> Ssl.bigarray -> int -> int -> int   val write : Ssl.socket -> Bytes.t -> int -> int -> int   val write_bigarray : Ssl.socket -> Ssl.bigarray -> int -> int -> int   val write_bigarray_blocking :     Ssl.socket -> Ssl.bigarray -> int -> int -> int   val input_string : Ssl.socket -> string   val output_string : Ssl.socket -> string -> unit   val input_char : Ssl.socket -> char   val output_char : Ssl.socket -> char -> unit   val input_int : Ssl.socket -> int   val output_int : Ssl.socket -> int -> unit end