Module Parse_full_messages

Parser for full administrative messages.

val parse_msg_data : Full_message_tags.full_msg_tag -> Parser_utils.Parser.msg -> Full_messages.full_msg_data Parser_utils.Parser.t
val parse_header : (Imandra_prelude.string * Imandra_prelude.string) list -> Full_messages.fix_header Parser_utils.Parser.t * (Imandra_prelude.string * Imandra_prelude.string) list
val parse_trailer : (Imandra_prelude.string * Imandra_prelude.string) list -> Full_messages.fix_trailer Parser_utils.Parser.t * (Imandra_prelude.string * Imandra_prelude.string) list
val check_first_three_tags : (Imandra_prelude.string * Imandra_prelude.string) list -> Imandra_prelude.string option
val check_tags_are_integers : (Imandra_prelude.string * Imandra_prelude.string) list -> bool
val valid_body_length : (Imandra_prelude.string * Imandra_prelude.string) list -> bool

Checks that the message contains BodyLength<9> field as a second entry in the message. And that the value equals to the number of bytes between BodyLength<9> and CheckSum<10> entries in the message.

val valid_checksum : (Imandra_prelude.string * Imandra_prelude.string) list -> bool

Verifies the checksum (sum of all bytes mod 256) of all bytes in the message up to the CheckSum<10> entry. Returns true if the computed checksum is equal to the value of CheckSum<10>.

val message_basic_check : (Imandra_prelude.string * Imandra_prelude.string) list -> Imandra_prelude.unit Parser_utils.Parser.t

Runs basic message intergrity checks. Returns ParseSuccess () on success.

val make_session_reject : Full_admin_enums.fix_session_reject_reason -> string -> (string * Imandra_prelude.string) list -> Full_messages.full_top_level_msg
val parse_top_level_msg : Parser_utils.Parser.msg -> Full_messages.full_top_level_msg