`sig
type session
val create_session :
mech:Netsys_sasl.sasl_mechanism ->
user:string ->
authz:string ->
creds:Netsys_sasl.credentials ->
params:(string * string * bool) list ->
unit -> Netsys_sasl.Client.session
val state : Netsys_sasl.Client.session -> Netsys_sasl_types.client_state
val configure_channel_binding :
Netsys_sasl.Client.session ->
Netsys_sasl_types.cb -> Netsys_sasl.Client.session
val restart : Netsys_sasl.Client.session -> Netsys_sasl.Client.session
val process_challenge :
Netsys_sasl.Client.session -> string -> Netsys_sasl.Client.session
val emit_response :
Netsys_sasl.Client.session -> Netsys_sasl.Client.session * string
val channel_binding : Netsys_sasl.Client.session -> Netsys_sasl_types.cb
val user_name : Netsys_sasl.Client.session -> string
val authz_name : Netsys_sasl.Client.session -> string
val stash_session : Netsys_sasl.Client.session -> string
val resume_session :
Netsys_sasl.sasl_mechanism -> string -> Netsys_sasl.Client.session
val session_id : Netsys_sasl.Client.session -> string option
val prop : Netsys_sasl.Client.session -> string -> string
val gssapi_props : Netsys_sasl.Client.session -> Netsys_gssapi.client_props
end`