however, application programs are not expected to call resolve, remove, or add directly.
Fills in *id with a handle identifying the keytab with name ``residual''. The interpretation of ``residual'' is dependent on the type of keytab.
name is filled in with the first namesize bytes of the name of the keytab identified by id. If the name is shorter than namesize, then name will be null-terminated.
Closes the keytab identified by id and invalidates id, and releases any other resources acquired during use of the key table.
Requires that id identifies a valid credentials cache.
Searches the keytab identified by id for an entry whose principal matches principal and whose key version number matches vno. If vno is zero, the first entry whose principal matches is returned.
This routine should return an error code if no suitable entry is found. If an entry is found, the entry is returned in *entry; its contents should be deallocated by calling close when no longer needed.
Releases all storage allocated for entry, which must point to a structure previously filled in by get or get_next.
Prepares to read sequentially every key in the keytab identified by id. cursor is filled in with a cursor to be used in calls to get_next.
Fetches the ``next'' entry in the keytab, returning it in *entry, and updates *cursor for the next request. If the keytab changes during the sequential get, an error must be guaranteed. *entry should be freed after use by calling close.
Requires that id identifies a valid credentials cache. and *cursor be a cursor returned by start_seq_get or a subsequent call to get_next.
Finishes sequential processing mode and invalidates cursor, which must never be re-used after this call.
Requires that id identifies a valid credentials cache. and *cursor be a cursor returned by start_seq_get or a subsequent call to get_next.