# Module Netgss_bindings

    module Netgss_bindings: sig .. end

Bindings of a C library

    type gss_buffer_t

    type gss_OID

    type gss_OID_set

    type gss_cred_id_t

    type gss_ctx_id_t

    type gss_name_t

    type gss_channel_bindings_t

    type gss_cred_usage_t = [ `Accept | `Both | `Initiate ]

    type flags_flag = [ `Anon_flag
           | `Conf_flag
           | `Deleg_flag
           | `Integ_flag
           | `Mutual_flag
           | `Prot_ready_flag
           | `Replay_flag
           | `Sequence_flag
           | `Trans_flag ]

    type flags = flags_flag list

    type gss_qop_t = [ `Qop_default ]

    type status_type_t = [ `Gss_code | `Mech_code ]

    val gss_accept_sec_context : gss_ctx_id_t ->
           gss_cred_id_t ->
           gss_buffer_t ->
           gss_channel_bindings_t ->
           int32 * int32 * gss_ctx_id_t * gss_name_t *
           gss_OID * gss_buffer_t *
           flags * int32 * gss_cred_id_t

    val gss_acquire_cred : gss_name_t ->
           int32 ->
           gss_OID_set ->
           gss_cred_usage_t ->
           int32 * int32 * gss_cred_id_t * gss_OID_set *
           int32

    val gss_init_sec_context : gss_cred_id_t ->
           gss_ctx_id_t ->
           gss_name_t ->
           gss_OID ->
           flags ->
           int32 ->
           gss_channel_bindings_t ->
           gss_buffer_t ->
           int32 * int32 * gss_ctx_id_t * gss_OID *
           gss_buffer_t * flags * int32

    val gss_process_context_token : gss_ctx_id_t -> gss_buffer_t -> int32 * int32

    val gss_context_time : gss_ctx_id_t -> int32 * int32 * int32

    val gss_get_mic : gss_ctx_id_t ->
           int32 ->
           gss_buffer_t -> int32 * int32 * gss_buffer_t

    val gss_verify_mic : gss_ctx_id_t ->
           gss_buffer_t ->
           gss_buffer_t -> int32 * int32 * int32

    val gss_wrap : gss_ctx_id_t ->
           bool ->
           int32 ->
           gss_buffer_t ->
           int32 * int32 * bool * gss_buffer_t

    val gss_unwrap : gss_ctx_id_t ->
           gss_buffer_t ->
           int32 * int32 * gss_buffer_t * bool * int32

    val gss_display_status : int32 ->
           status_type_t ->
           gss_OID ->
           int32 -> int32 * int32 * int32 * gss_buffer_t

    val gss_indicate_mechs : unit -> int32 * int32 * gss_OID_set

    val gss_compare_name : gss_name_t ->
           gss_name_t -> int32 * int32 * bool

    val gss_display_name : gss_name_t ->
           int32 * int32 * gss_buffer_t * gss_OID

    val gss_import_name : gss_buffer_t ->
           gss_OID -> int32 * int32 * gss_name_t

    val gss_inquire_cred : gss_cred_id_t ->
           int32 * int32 * gss_name_t * int32 *
           gss_cred_usage_t * gss_OID_set

    val gss_inquire_context : gss_ctx_id_t ->
           int32 * int32 * gss_name_t * gss_name_t *
           int32 * gss_OID * flags * bool * bool

    val gss_wrap_size_limit : gss_ctx_id_t ->
           bool -> int32 -> int32 -> int32 * int32 * int32

    val gss_add_cred : gss_cred_id_t ->
           gss_name_t ->
           gss_OID ->
           gss_cred_usage_t ->
           int32 ->
           int32 ->
           int32 * int32 * gss_cred_id_t * gss_OID_set *
           int32 * int32

    val gss_inquire_cred_by_mech : gss_cred_id_t ->
           gss_OID ->
           int32 * int32 * gss_name_t * int32 * int32 *
           gss_cred_usage_t

    val gss_export_sec_context : gss_ctx_id_t -> int32 * int32 * gss_buffer_t

    val gss_import_sec_context : gss_buffer_t -> int32 * int32 * gss_ctx_id_t

    val gss_inquire_names_for_mech : gss_OID -> int32 * int32 * gss_OID_set

    val gss_inquire_mechs_for_name : gss_name_t -> int32 * int32 * gss_OID_set

    val gss_export_name : gss_name_t -> int32 * int32 * gss_buffer_t

    val gss_duplicate_name : gss_name_t -> int32 * int32 * gss_name_t

    val gss_canonicalize_name : gss_name_t ->
           gss_OID -> int32 * int32 * gss_name_t

    val gss_delete_sec_context : gss_ctx_id_t -> int32 * int32

    exception Null_pointer

    type memory = (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t

    val buffer_of_string : string -> int -> int -> gss_buffer_t

    val buffer_of_bytes : Stdlib.Bytes.t -> int -> int -> gss_buffer_t

    val buffer_of_memory : memory -> gss_buffer_t

    val string_of_buffer : gss_buffer_t -> string

    val bytes_of_buffer : gss_buffer_t -> Stdlib.Bytes.t

    val memory_of_buffer : gss_buffer_t -> memory

    val release_buffer : gss_buffer_t -> unit

    val oid_of_der : string -> gss_OID

    val der_of_oid : gss_OID -> string

    val array_of_oid_set : gss_OID_set -> gss_OID array

    val oid_set_of_array : gss_OID array -> gss_OID_set

    val map_cb : int ->
           string -> int -> string -> string -> gss_channel_bindings_t

    val no_channel_bindings : unit -> gss_channel_bindings_t

    val no_context : unit -> gss_ctx_id_t

    val is_no_context : gss_ctx_id_t -> bool

    val no_credential : unit -> gss_cred_id_t

    val is_no_credential : gss_cred_id_t -> bool

    val no_name : unit -> gss_name_t

    val is_no_name : gss_name_t -> bool

    val no_oid : unit -> gss_OID

    val no_oid_set : unit -> gss_OID_set

    val gss_indefinite : unit -> int32