class type gss_api =[[credential, name
, context]]Netsys_gssapi.poly_gss_api
The methods have generally a type of the form
m : 't . arg1 -> ... -> argN -> out:( ret1 -> ... -> retM -> 't ) -> 't
where arg
s are input arguments (with the exception of context
which is in/out), and where outputs are passed back by calling the out
functions with the outputs. The return value of out
is the return
value of the method call.
For example, if only output_token
of the accept_sec_context
method
is needed, one could call this method as in
let output_token =
gss_api # accept_sec_context
...
~out:(fun ~src_name ~mech_type ~output_token ~ret_flags
~time_rec ~delegated_cred_handle ~minor_status
~major_status ->
output_token
)
Output values may not be defined when major_status
indicates
an error. (But see the RFC for details; especially init_sec_contect
and accept_sec_context
may emit tokens even when major_status
indicates an error.)
The names of the parameters are taken from RFC 2744, only
suffixes like _handle
have been removed. When the prefixes
input_
and output_
are meaningless, they are also removed.
All prefixes like "GSS" are removed anyway.