Module Dirsp_exchange_kbb2017__.Kobeissi_bhargavan_blanchet_shims
include Dirsp_exchange_kbb2017__.Kobeissi_bhargavan_blanchet_intf
type 't record_msg={valid : bool;mutable ephemeralKey : 't;mutable initEphemeralKey : 't;ciphertext : 't;mutable iv : 't;tag : 't;preKeyId : int;}
val record_msg_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_msgval record_msg_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_msg -> Protobuf.Encoder.t -> unit
val record_keypair_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_keypairval record_keypair_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_keypair -> Protobuf.Encoder.t -> unit
type 't record_them={mutable signedPreKey : 't;mutable signedPreKeySignature : 't;mutable identityKey : 't;mutable identityDHKey : 't;mutable myEphemeralKeyP0 : 't record_keypair;mutable myEphemeralKeyP1 : 't record_keypair;mutable ephemeralKey : 't;mutable myPreKey : 't record_keypair;mutable preKey : 't;preKeyId : int;recvKeys : 't array;sendKeys : 't array;mutable shared : 't;established : bool;}
val record_them_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_themval record_them_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_them -> Protobuf.Encoder.t -> unit
type 't record_sendoutput={mutable them : 't record_them;mutable output : 't record_msg;}
val record_sendoutput_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_sendoutputval record_sendoutput_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_sendoutput -> Protobuf.Encoder.t -> unit
type 't record_recvoutput={mutable them : 't record_them;mutable output : 't record_msg;plaintext : 't;}
val record_recvoutput_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_recvoutputval record_recvoutput_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_recvoutput -> Protobuf.Encoder.t -> unit
val record_ratchetsendkeys_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_ratchetsendkeysval record_ratchetsendkeys_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_ratchetsendkeys -> Protobuf.Encoder.t -> unit
val record_ratchetrecvkeys_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_ratchetrecvkeysval record_ratchetrecvkeys_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_ratchetrecvkeys -> Protobuf.Encoder.t -> unit
module type PROTOCOL = sig ... endThe KBB2017 protocol
module type PROTOCOLFUNCTOR = functor (ProScript : Dirsp_proscript.S) -> PROTOCOL with type t = ProScript.tmodule type PROTOCOLMODULE = sig ... endmodule Make : functor (ProScript : Dirsp_proscript.S) -> sig ... end