# Module type Netsys_gssapi.GSSAPI

    module type GSSAPI = sig .. end

The General Security Services API

See also `Netsys_gssapi` for additional type definitions

    type credential

A credential is opaque for the caller of the GSS-API. The provider of the GSS-API can emit new credential objects, and hand them out to the caller.

    type context

A context is also opaque.

    type name

A name is also opaque

### Exceptions

There are no defined exceptions for reporting errors.

Errors should be reported using the `major_status` and `minor_status` codes as much as possible.

`Invalid_argument` may be raised for clear violations of calling requirements, e.g. when an opaque object is passed to this interface that was not returned by it before.

The following three exceptions can be used to wrap the per-GSSAPI types `credential`, `context`, and `name`:

    exception Credential of credential

    exception Context of context

    exception Name of name

### The API

    class type gss_api = [[credential, name
           , context]] Netsys_gssapi.poly_gss_api

The methods have generally a type of the form

    val interface : gss_api