Module Packet

module Packet: sig .. end

Magic numbers of the TLS protocol.


val get_uint24_len : Cstruct.t -> int
val set_uint24_len : Cstruct.t -> int -> unit
type content_type = 
| CHANGE_CIPHER_SPEC
| ALERT
| HANDSHAKE
| APPLICATION_DATA
| HEARTBEAT
val int_to_content_type : int -> content_type option
val content_type_to_int : content_type -> int
val content_type_to_string : content_type -> string
val string_to_content_type : string -> content_type option
val sexp_of_content_type : content_type -> Sexplib.Sexp.t
val content_type_of_sexp : Sexplib.Sexp.t -> content_type
type alert_level = 
| WARNING
| FATAL
val int_to_alert_level : int -> alert_level option
val alert_level_to_int : alert_level -> int
val alert_level_to_string : alert_level -> string
val string_to_alert_level : string -> alert_level option
val sexp_of_alert_level : alert_level -> Sexplib.Sexp.t
val alert_level_of_sexp : Sexplib.Sexp.t -> alert_level
type alert_type = 
| CLOSE_NOTIFY
| UNEXPECTED_MESSAGE
| BAD_RECORD_MAC
| DECRYPTION_FAILED
| RECORD_OVERFLOW
| DECOMPRESSION_FAILURE
| HANDSHAKE_FAILURE
| NO_CERTIFICATE_RESERVED
| BAD_CERTIFICATE
| UNSUPPORTED_CERTIFICATE
| CERTIFICATE_REVOKED
| CERTIFICATE_EXPIRED
| CERTIFICATE_UNKNOWN
| ILLEGAL_PARAMETER
| UNKNOWN_CA
| ACCESS_DENIED
| DECODE_ERROR
| DECRYPT_ERROR
| EXPORT_RESTRICTION_RESERVED
| PROTOCOL_VERSION
| INSUFFICIENT_SECURITY
| INTERNAL_ERROR
| INAPPROPRIATE_FALLBACK
| USER_CANCELED
| NO_RENEGOTIATION
| UNSUPPORTED_EXTENSION
| CERTIFICATE_UNOBTAINABLE
| UNRECOGNIZED_NAME
| BAD_CERTIFICATE_STATUS_RESPONSE
| BAD_CERTIFICATE_HASH_VALUE
| UNKNOWN_PSK_IDENTITY
| NO_APPLICATION_PROTOCOL
val int_to_alert_type : int -> alert_type option
val alert_type_to_int : alert_type -> int
val alert_type_to_string : alert_type -> string
val string_to_alert_type : string -> alert_type option
val sexp_of_alert_type : alert_type -> Sexplib.Sexp.t
val alert_type_of_sexp : Sexplib.Sexp.t -> alert_type
type handshake_type = 
| HELLO_REQUEST
| CLIENT_HELLO
| SERVER_HELLO
| HELLO_VERIFY_REQUEST
| NEWSESSIONTICKET
| CERTIFICATE
| SERVER_KEY_EXCHANGE
| CERTIFICATE_REQUEST
| SERVER_HELLO_DONE
| CERTIFICATE_VERIFY
| CLIENT_KEY_EXCHANGE
| FINISHED
| CERTIFICATE_URL
| CERTIFICATE_STATUS
| SUPPLEMENTAL_DATA
val int_to_handshake_type : int -> handshake_type option
val handshake_type_to_int : handshake_type -> int
val handshake_type_to_string : handshake_type -> string
val string_to_handshake_type : string -> handshake_type option
val sexp_of_handshake_type : handshake_type -> Sexplib.Sexp.t
val handshake_type_of_sexp : Sexplib.Sexp.t -> handshake_type
type client_certificate_type = 
| RSA_SIGN
| DSS_SIGN
| RSA_FIXED_DH
| DSS_FIXED_DH
| RSA_EPHEMERAL_DH_RESERVED
| DSS_EPHEMERAL_DH_RESERVED
| FORTEZZA_DMS_RESERVED
| ECDSA_SIGN
| RSA_FIXED_ECDH
| ECDSA_FIXED_ECDH
val int_to_client_certificate_type : int -> client_certificate_type option
val client_certificate_type_to_int : client_certificate_type -> int
val client_certificate_type_to_string : client_certificate_type -> string
val string_to_client_certificate_type : string -> client_certificate_type option
val sexp_of_client_certificate_type : client_certificate_type -> Sexplib.Sexp.t
val client_certificate_type_of_sexp : Sexplib.Sexp.t -> client_certificate_type
type compression_method = 
| NULL
| DEFLATE
| LZS
val int_to_compression_method : int -> compression_method option
val compression_method_to_int : compression_method -> int
val compression_method_to_string : compression_method -> string
val string_to_compression_method : string -> compression_method option
val sexp_of_compression_method : compression_method -> Sexplib.Sexp.t
val compression_method_of_sexp : Sexplib.Sexp.t -> compression_method
type extension_type = 
| SERVER_NAME
| MAX_FRAGMENT_LENGTH
| CLIENT_CERTIFICATE_URL
| TRUSTED_CA_KEYS
| TRUNCATED_HMAC
| STATUS_REQUEST
| USER_MAPPING
| CLIENT_AUTHZ
| SERVER_AUTHZ
| CERT_TYPE
| ELLIPTIC_CURVES
| EC_POINT_FORMATS
| SRP
| SIGNATURE_ALGORITHMS
| USE_SRP
| HEARTBEAT
| APPLICATION_LAYER_PROTOCOL_NEGOTIATION
| STATUS_REQUEST_V2
| SIGNED_CERTIFICATE_TIMESTAMP
| CLIENT_CERTIFICATE_TYPE
| SERVER_CERTIFICATE_TYPE
| PADDING
| ENCRYPT_THEN_MAC
| EXTENDED_MASTER_SECRET
| SESSIONTICKET_TLS
| RENEGOTIATION_INFO
val int_to_extension_type : int -> extension_type option
val extension_type_to_int : extension_type -> int
val extension_type_to_string : extension_type -> string
val string_to_extension_type : string -> extension_type option
val sexp_of_extension_type : extension_type -> Sexplib.Sexp.t
val extension_type_of_sexp : Sexplib.Sexp.t -> extension_type
type max_fragment_length = 
| TWO_9
| TWO_10
| TWO_11
| TWO_12
val int_to_max_fragment_length : int -> max_fragment_length option
val max_fragment_length_to_int : max_fragment_length -> int
val max_fragment_length_to_string : max_fragment_length -> string
val string_to_max_fragment_length : string -> max_fragment_length option
val sexp_of_max_fragment_length : max_fragment_length -> Sexplib.Sexp.t
val max_fragment_length_of_sexp : Sexplib.Sexp.t -> max_fragment_length
type signature_algorithm_type = 
| ANONYMOUS
| RSA
| DSA
| ECDSA
val int_to_signature_algorithm_type : int -> signature_algorithm_type option
val signature_algorithm_type_to_int : signature_algorithm_type -> int
val signature_algorithm_type_to_string : signature_algorithm_type -> string
val string_to_signature_algorithm_type : string -> signature_algorithm_type option
val sexp_of_signature_algorithm_type : signature_algorithm_type -> Sexplib.Sexp.t
val signature_algorithm_type_of_sexp : Sexplib.Sexp.t -> signature_algorithm_type
type hash_algorithm = 
| NULL
| MD5
| SHA
| SHA224
| SHA256
| SHA384
| SHA512
val int_to_hash_algorithm : int -> hash_algorithm option
val hash_algorithm_to_int : hash_algorithm -> int
val hash_algorithm_to_string : hash_algorithm -> string
val string_to_hash_algorithm : string -> hash_algorithm option
val sexp_of_hash_algorithm : hash_algorithm -> Sexplib.Sexp.t
val hash_algorithm_of_sexp : Sexplib.Sexp.t -> hash_algorithm
val hash_algorithm_of_tag : [< `MD5 | `SHA1 | `SHA224 | `SHA256 | `SHA384 | `SHA512 ] ->
hash_algorithm
val tag_of_hash_algorithm : hash_algorithm ->
[> `MD5 | `SHA1 | `SHA224 | `SHA256 | `SHA384 | `SHA512 ] option

tag_of_hash_algorithm hash_algorithm is tag for the given hash_algorithm

type ec_curve_type = 
| EXPLICIT_PRIME
| EXPLICIT_CHAR2
| NAMED_CURVE
val int_to_ec_curve_type : int -> ec_curve_type option
val ec_curve_type_to_int : ec_curve_type -> int
val ec_curve_type_to_string : ec_curve_type -> string
val string_to_ec_curve_type : string -> ec_curve_type option
val sexp_of_ec_curve_type : ec_curve_type -> Sexplib.Sexp.t
val ec_curve_type_of_sexp : Sexplib.Sexp.t -> ec_curve_type
type named_curve_type = 
| SECT163K1
| SECT163R1
| SECT163R2
| SECT193R1
| SECT193R2
| SECT233K1
| SECT233R1
| SECT239K1
| SECT283K1
| SECT283R1
| SECT409K1
| SECT409R1
| SECT571K1
| SECT571R1
| SECP160K1
| SECP160R1
| SECP160R2
| SECP192K1
| SECP192R1
| SECP224K1
| SECP224R1
| SECP256K1
| SECP256R1
| SECP384R1
| SECP521R1
| BRAINPOOLP256R1
| BRAINPOOLP384R1
| BRAINPOOLP512R1
| ARBITRARY_EXPLICIT_PRIME_CURVES
| ARBITRARY_EXPLICIT_CHAR2_CURVES
val int_to_named_curve_type : int -> named_curve_type option
val named_curve_type_to_int : named_curve_type -> int
val named_curve_type_to_string : named_curve_type -> string
val string_to_named_curve_type : string -> named_curve_type option
val sexp_of_named_curve_type : named_curve_type -> Sexplib.Sexp.t
val named_curve_type_of_sexp : Sexplib.Sexp.t -> named_curve_type
type ec_point_format = 
| UNCOMPRESSED
| ANSIX962_COMPRESSED_PRIME
| ANSIX962_COMPRESSED_CHAR2
val int_to_ec_point_format : int -> ec_point_format option
val ec_point_format_to_int : ec_point_format -> int
val ec_point_format_to_string : ec_point_format -> string
val string_to_ec_point_format : string -> ec_point_format option
val sexp_of_ec_point_format : ec_point_format -> Sexplib.Sexp.t
val ec_point_format_of_sexp : Sexplib.Sexp.t -> ec_point_format
type ec_basis_type = 
| TRINOMIAL
| PENTANOMIAL
val int_to_ec_basis_type : int -> ec_basis_type option
val ec_basis_type_to_int : ec_basis_type -> int
val ec_basis_type_to_string : ec_basis_type -> string
val string_to_ec_basis_type : string -> ec_basis_type option
val sexp_of_ec_basis_type : ec_basis_type -> Sexplib.Sexp.t
val ec_basis_type_of_sexp : Sexplib.Sexp.t -> ec_basis_type
type any_ciphersuite = 
| TLS_NULL_WITH_NULL_NULL
| TLS_RSA_WITH_NULL_MD5
| TLS_RSA_WITH_NULL_SHA
| TLS_RSA_EXPORT_WITH_RC4_40_MD5
| TLS_RSA_WITH_RC4_128_MD5
| TLS_RSA_WITH_RC4_128_SHA
| TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
| TLS_RSA_WITH_IDEA_CBC_SHA
| TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
| TLS_RSA_WITH_DES_CBC_SHA
| TLS_RSA_WITH_3DES_EDE_CBC_SHA
| TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
| TLS_DH_DSS_WITH_DES_CBC_SHA
| TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA
| TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
| TLS_DH_RSA_WITH_DES_CBC_SHA
| TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA
| TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
| TLS_DHE_DSS_WITH_DES_CBC_SHA
| TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
| TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
| TLS_DHE_RSA_WITH_DES_CBC_SHA
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
| TLS_DH_anon_EXPORT_WITH_RC4_40_MD5
| TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA
| TLS_DH_anon_WITH_RC4_128_MD5
| TLS_DH_anon_WITH_DES_CBC_SHA
| TLS_DH_anon_WITH_3DES_EDE_CBC_SHA
| RESERVED_SSL3_1
| RESERVED_SSL3_2
| TLS_KRB5_WITH_DES_CBC_SHA
| TLS_KRB5_WITH_3DES_EDE_CBC_SHA
| TLS_KRB5_WITH_RC4_128_SHA
| TLS_KRB5_WITH_IDEA_CBC_SHA
| TLS_KRB5_WITH_DES_CBC_MD5
| TLS_KRB5_WITH_3DES_EDE_CBC_MD5
| TLS_KRB5_WITH_RC4_128_MD5
| TLS_KRB5_WITH_IDEA_CBC_MD5
| TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA
| TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA
| TLS_KRB5_EXPORT_WITH_RC4_40_SHA
| TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5
| TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5
| TLS_KRB5_EXPORT_WITH_RC4_40_MD5
| TLS_PSK_WITH_NULL_SHA
| TLS_DHE_PSK_WITH_NULL_SHA
| TLS_RSA_PSK_WITH_NULL_SHA
| TLS_RSA_WITH_AES_128_CBC_SHA
| TLS_DH_DSS_WITH_AES_128_CBC_SHA
| TLS_DH_RSA_WITH_AES_128_CBC_SHA
| TLS_DHE_DSS_WITH_AES_128_CBC_SHA
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA
| TLS_DH_anon_WITH_AES_128_CBC_SHA
| TLS_RSA_WITH_AES_256_CBC_SHA
| TLS_DH_DSS_WITH_AES_256_CBC_SHA
| TLS_DH_RSA_WITH_AES_256_CBC_SHA
| TLS_DHE_DSS_WITH_AES_256_CBC_SHA
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA
| TLS_DH_anon_WITH_AES_256_CBC_SHA
| TLS_RSA_WITH_NULL_SHA256
| TLS_RSA_WITH_AES_128_CBC_SHA256
| TLS_RSA_WITH_AES_256_CBC_SHA256
| TLS_DH_DSS_WITH_AES_128_CBC_SHA256
| TLS_DH_RSA_WITH_AES_128_CBC_SHA256
| TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
| TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA
| TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA
| TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA
| TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
| TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
| TLS_DH_DSS_WITH_AES_256_CBC_SHA256
| TLS_DH_RSA_WITH_AES_256_CBC_SHA256
| TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
| TLS_DH_anon_WITH_AES_128_CBC_SHA256
| TLS_DH_anon_WITH_AES_256_CBC_SHA256
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
| TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA
| TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA
| TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA
| TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
| TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA
| TLS_PSK_WITH_RC4_128_SHA
| TLS_PSK_WITH_3DES_EDE_CBC_SHA
| TLS_PSK_WITH_AES_128_CBC_SHA
| TLS_PSK_WITH_AES_256_CBC_SHA
| TLS_DHE_PSK_WITH_RC4_128_SHA
| TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
| TLS_DHE_PSK_WITH_AES_128_CBC_SHA
| TLS_DHE_PSK_WITH_AES_256_CBC_SHA
| TLS_RSA_PSK_WITH_RC4_128_SHA
| TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
| TLS_RSA_PSK_WITH_AES_128_CBC_SHA
| TLS_RSA_PSK_WITH_AES_256_CBC_SHA
| TLS_RSA_WITH_SEED_CBC_SHA
| TLS_DH_DSS_WITH_SEED_CBC_SHA
| TLS_DH_RSA_WITH_SEED_CBC_SHA
| TLS_DHE_DSS_WITH_SEED_CBC_SHA
| TLS_DHE_RSA_WITH_SEED_CBC_SHA
| TLS_DH_anon_WITH_SEED_CBC_SHA
| TLS_RSA_WITH_AES_128_GCM_SHA256
| TLS_RSA_WITH_AES_256_GCM_SHA384
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
| TLS_DH_RSA_WITH_AES_128_GCM_SHA256
| TLS_DH_RSA_WITH_AES_256_GCM_SHA384
| TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
| TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
| TLS_DH_DSS_WITH_AES_128_GCM_SHA256
| TLS_DH_DSS_WITH_AES_256_GCM_SHA384
| TLS_DH_anon_WITH_AES_128_GCM_SHA256
| TLS_DH_anon_WITH_AES_256_GCM_SHA384
| TLS_PSK_WITH_AES_128_GCM_SHA256
| TLS_PSK_WITH_AES_256_GCM_SHA384
| TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
| TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
| TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
| TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
| TLS_PSK_WITH_AES_128_CBC_SHA256
| TLS_PSK_WITH_AES_256_CBC_SHA384
| TLS_PSK_WITH_NULL_SHA256
| TLS_PSK_WITH_NULL_SHA384
| TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
| TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
| TLS_DHE_PSK_WITH_NULL_SHA256
| TLS_DHE_PSK_WITH_NULL_SHA384
| TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
| TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
| TLS_RSA_PSK_WITH_NULL_SHA256
| TLS_RSA_PSK_WITH_NULL_SHA384
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
| TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256
| TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256
| TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256
| TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
| TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
| TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256
| TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256
| TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256
| TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
| TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256
| TLS_EMPTY_RENEGOTIATION_INFO_SCSV
| TLS_FALLBACK_SCSV
| TLS_ECDH_ECDSA_WITH_NULL_SHA
| TLS_ECDH_ECDSA_WITH_RC4_128_SHA
| TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
| TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
| TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
| TLS_ECDHE_ECDSA_WITH_NULL_SHA
| TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
| TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
| TLS_ECDH_RSA_WITH_NULL_SHA
| TLS_ECDH_RSA_WITH_RC4_128_SHA
| TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
| TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
| TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
| TLS_ECDHE_RSA_WITH_NULL_SHA
| TLS_ECDHE_RSA_WITH_RC4_128_SHA
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
| TLS_ECDH_anon_WITH_NULL_SHA
| TLS_ECDH_anon_WITH_RC4_128_SHA
| TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA
| TLS_ECDH_anon_WITH_AES_128_CBC_SHA
| TLS_ECDH_anon_WITH_AES_256_CBC_SHA
| TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA
| TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA
| TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA
| TLS_SRP_SHA_WITH_AES_128_CBC_SHA
| TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA
| TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA
| TLS_SRP_SHA_WITH_AES_256_CBC_SHA
| TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA
| TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA
| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
| TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
| TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
| TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
| TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
| TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
| TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
| TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
| TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
| TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
| TLS_ECDHE_PSK_WITH_RC4_128_SHA
| TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
| TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
| TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
| TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
| TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
| TLS_ECDHE_PSK_WITH_NULL_SHA
| TLS_ECDHE_PSK_WITH_NULL_SHA256
| TLS_ECDHE_PSK_WITH_NULL_SHA384
| TLS_RSA_WITH_ARIA_128_CBC_SHA256
| TLS_RSA_WITH_ARIA_256_CBC_SHA384
| TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256
| TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384
| TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256
| TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384
| TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256
| TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384
| TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256
| TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384
| TLS_DH_anon_WITH_ARIA_128_CBC_SHA256
| TLS_DH_anon_WITH_ARIA_256_CBC_SHA384
| TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256
| TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384
| TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256
| TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384
| TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256
| TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384
| TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256
| TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384
| TLS_RSA_WITH_ARIA_128_GCM_SHA256
| TLS_RSA_WITH_ARIA_256_GCM_SHA384
| TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256
| TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384
| TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256
| TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384
| TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256
| TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384
| TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256
| TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384
| TLS_DH_anon_WITH_ARIA_128_GCM_SHA256
| TLS_DH_anon_WITH_ARIA_256_GCM_SHA384
| TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
| TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
| TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256
| TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384
| TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
| TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
| TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256
| TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384
| TLS_PSK_WITH_ARIA_128_CBC_SHA256
| TLS_PSK_WITH_ARIA_256_CBC_SHA384
| TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256
| TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384
| TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256
| TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384
| TLS_PSK_WITH_ARIA_128_GCM_SHA256
| TLS_PSK_WITH_ARIA_256_GCM_SHA384
| TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256
| TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384
| TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256
| TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384
| TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256
| TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384
| TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
| TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
| TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
| TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
| TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
| TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
| TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
| TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
| TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
| TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
| TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
| TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
| TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256
| TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384
| TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256
| TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384
| TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256
| TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384
| TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256
| TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384
| TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
| TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
| TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
| TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
| TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
| TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
| TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
| TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
| TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
| TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
| TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
| TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
| TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
| TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
| TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
| TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
| TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
| TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
| TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
| TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
| TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
| TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
| TLS_RSA_WITH_AES_128_CCM
| TLS_RSA_WITH_AES_256_CCM
| TLS_DHE_RSA_WITH_AES_128_CCM
| TLS_DHE_RSA_WITH_AES_256_CCM
| TLS_RSA_WITH_AES_128_CCM_8
| TLS_RSA_WITH_AES_256_CCM_8
| TLS_DHE_RSA_WITH_AES_128_CCM_8
| TLS_DHE_RSA_WITH_AES_256_CCM_8
| TLS_PSK_WITH_AES_128_CCM
| TLS_PSK_WITH_AES_256_CCM
| TLS_DHE_PSK_WITH_AES_128_CCM
| TLS_DHE_PSK_WITH_AES_256_CCM
| TLS_PSK_WITH_AES_128_CCM_8
| TLS_PSK_WITH_AES_256_CCM_8
| TLS_PSK_DHE_WITH_AES_128_CCM_8
| TLS_PSK_DHE_WITH_AES_256_CCM_8
val int_to_any_ciphersuite : int -> any_ciphersuite option
val any_ciphersuite_to_int : any_ciphersuite -> int
val any_ciphersuite_to_string : any_ciphersuite -> string
val string_to_any_ciphersuite : string -> any_ciphersuite option
val sexp_of_any_ciphersuite : any_ciphersuite -> Sexplib.Sexp.t
val any_ciphersuite_of_sexp : Sexplib.Sexp.t -> any_ciphersuite