This section describes various types of GSS-API data types and values.Some data types, such as gss_cred_id_t or gss_name_t, are opaque to the user. These data types do not need to bediscussed. This section explains the following topics:
Basic GSS-API Data Types ‐Shows the definitions of the OM_uint32, gss_buffer_desc, gss_OID_desc, gss_OID_set_desc_struct,and gss_channel_bindings_struct data types.
GSS-API Name Types –Shows the various name formats recognized by the GSS-API for specifying names.
GSS-API Address Types for Channel Bindings – Shows the various values that can be used as theinitiator_addrtype andacceptor_addrtype fields ofthe gss_channel_bindings_t structure.
This section describes data types that are used by GSS-API.
The OM_uint32 is a platform-independent 32-bit unsignedinteger.
The definition of the gss_buffer_desc withthe gss_buffer_t pointer takes the following form:
typedef struct gss_buffer_desc_struct { size_t length; void *value;} gss_buffer_desc, *gss_buffer_t;
The definition of the gss_OID_desc with the gss_OID pointer takes the following form:
typedef struct gss_OID_desc_struct { OM_uint32 length; void*elements;} gss_OID_desc, *gss_OID;
The definition of the gss_OID_set_desc withthe gss_OID_set pointer takes the following form:
typedef struct gss_OID_set_desc_struct { size_t count; gss_OID elements;} gss_OID_set_desc, *gss_OID_set;
The definition of the gss_channel_bindings_struct structureand the gss_channel_bindings_t pointer has the followingform:
typedef struct gss_channel_bindings_struct { OM_uint32 initiator_addrtype; gss_buffer_desc initiator_address; OM_uint32 acceptor_addrtype; gss_buffer_desc acceptor_address; gss_buffer_desc application_data;} *gss_channel_bindings_t;
A name type indicates the format of the associated name. SeeNames in GSS-API andGSS-API OIDs for more on names and name types.The GSS-API supports the gss_OID name types in thefollowing table.
The symbolic name GSS_C_NO_NAME is recommended as a parametervalue to indicate that no value is supplied in the transfer of names.
This value corresponds to a null input value instead of anactual object identifier. Where specified, the value indicates interpretationof an associated name that is based on a mechanism-specific default printablesyntax.
A means to identify anonymous names. This value can be comparedwith to determine in a mechanism-independent fashion whether a name refersto an anonymous principal.
A name that has been exported with thegss_export_name() function.
Used to represent services that are associated with the host. This name form is constructed using two elements, service and hostname, as follows:service@hostname.
Used to indicate a numeric user identifier corresponding toa user on a local system. The interpretation of this value is OS-specific. Thegss_import_name() function resolves this UID intoa user name, which is then treated as the User Name Form.
Used to indicate a string of digits that represents the numericuser identifier of a user on a local system. The interpretation of this valueis OS-specific. This name type is similar to the Machine UID Form, exceptthat the buffer contains a string that represents the user ID.
A named user on a local system. The interpretation of thisvalue is OS-specific. The value takes the form:username.
The following table shows the possible values for theinitiator_addrtype andacceptor_addrtype fields ofthe gss_channel_bindings_struct structure. Thesefields indicate the format that a name can take, for example, ARPAnet IMPaddress or AppleTalk address. Channel bindings are discussed inUsing Channel Bindings in GSS-API.
|