module Client:sig..end
type session 
val create_session : mech:Netsys_sasl.sasl_mechanism ->
       user:string ->
       authz:string ->
       creds:Netsys_sasl.credentials ->
       params:(string * string * bool) list -> unit -> sessionuser and authorizes as
          authz (empty string if not applicable). The credentials are
          creds.
          user and authz must be encoded in UTF-8.
          The parameters are given as list (name,value,critical). 
          Critical parameters must be interpreted by the mechanism, and
          unknown critical parameters must be rejected by a Failure
          exception. Non-critical parameters are ignored if they are unknown
          to the mechanism.
val state : session -> Netsys_sasl_types.client_stateval configure_channel_binding : session ->
       Netsys_sasl_types.cb -> sessionval restart : session -> session`OK.val process_challenge : session -> string -> session`Wait.
        As an exception, this function can also be called for the initial
        challenge from the server, even if the state is `Emit.val emit_response : session -> session * string`Emit.val channel_binding : session -> Netsys_sasl_types.cbval user_name : session -> stringval authz_name : session -> stringval stash_session : session -> stringval resume_session : Netsys_sasl.sasl_mechanism -> string -> sessionval session_id : session -> string optionval prop : session -> string -> stringval gssapi_props : session -> Netsys_gssapi.client_propsNot_found