val alertDescription_parser_kind : LowParse.Spec.Base.parser_kind
let alertDescription_parser_kind = LP.strong_parser_kind 1 1 None
module MiTLS.Parsers.AlertDescription

(* This file has been automatically generated by EverParse. *)
open FStar.Bytes
module U8 = FStar.UInt8
module U16 = FStar.UInt16
module U32 = FStar.UInt32
module U64 = FStar.UInt64
module LP = LowParse.Spec.Base
module LS = LowParse.SLow.Base
module LSZ = LowParse.SLow.Base
module LPI = LowParse.Spec.AllIntegers
module LL = LowParse.Low.Base
module L = FStar.List.Tot
module B = LowStar.Buffer
module BY = FStar.Bytes
module HS = FStar.HyperStack
module HST = FStar.HyperStack.ST


type alertDescription =
  | Close_notify
  | Unexpected_message
  | Bad_record_mac
  | Record_overflow
  | Handshake_failure
  | Bad_certificate
  | Unsupported_certificate
  | Certificate_revoked
  | Certificate_expired
  | Certificate_unknown
  | Illegal_parameter
  | Unknown_ca
  | Access_denied
  | Decode_error
  | Decrypt_error
  | Protocol_version
  | Insufficient_security
  | Internal_error
  | Inappropriate_fallback
  | User_canceled
  | Missing_extension
  | Unsupported_extension
  | Unrecognized_name
  | Bad_certificate_status_response
  | Unknown_psk_identity
  | Certificate_required
  | No_application_protocol

let string_of_alertDescription = function
  | Close_notify -> "close_notify"
  | Unexpected_message -> "unexpected_message"
  | Bad_record_mac -> "bad_record_mac"
  | Record_overflow -> "record_overflow"
  | Handshake_failure -> "handshake_failure"
  | Bad_certificate -> "bad_certificate"
  | Unsupported_certificate -> "unsupported_certificate"
  | Certificate_revoked -> "certificate_revoked"
  | Certificate_expired -> "certificate_expired"
  | Certificate_unknown -> "certificate_unknown"
  | Illegal_parameter -> "illegal_parameter"
  | Unknown_ca -> "unknown_ca"
  | Access_denied -> "access_denied"
  | Decode_error -> "decode_error"
  | Decrypt_error -> "decrypt_error"
  | Protocol_version -> "protocol_version"
  | Insufficient_security -> "insufficient_security"
  | Internal_error -> "internal_error"
  | Inappropriate_fallback -> "inappropriate_fallback"
  | User_canceled -> "user_canceled"
  | Missing_extension -> "missing_extension"
  | Unsupported_extension -> "unsupported_extension"
  | Unrecognized_name -> "unrecognized_name"
  | Bad_certificate_status_response -> "bad_certificate_status_response"
  | Unknown_psk_identity -> "unknown_psk_identity"
  | Certificate_required -> "certificate_required"
  | No_application_protocol -> "no_application_protocol"
/
prims.fst.checked LowStar.Buffer.fst.checked LowParse.Spec.Base.fsti.checked LowParse.Spec.AllIntegers.fst.checked LowParse.SLow.Base.fst.checked LowParse.Low.Base.fst.checked FStar.UInt8.fsti.checked FStar.UInt64.fsti.checked FStar.UInt32.fsti.checked FStar.UInt16.fsti.checked FStar.Seq.fst.checked FStar.Pervasives.fsti.checked FStar.List.Tot.fst.checked FStar.HyperStack.ST.fsti.checked FStar.HyperStack.fst.checked FStar.Bytes.fsti.checked
MiTLS.Parsers.AlertDescription.fsti
LowParse.Spec.Base.parser_kind
LowParse.Spec.Base.strong_parser_kind FStar.Pervasives.Native.None LowParse.Spec.Base.parser_kind_metadata_some
let alertDescription_parser_kind =
  
LP.strong_parser_kind 1 1 None