man krb5_storage (Fonctions bibliothèques) - krb5_storage ,
NAME
LIBRARY
Kerberos 5 Library (libkrb5, -lkrb5)
SYNOPSIS
struct krb5_storage;
krb5_storage_from_fd int fd krb5_storage_emem void krb5_storage_from_mem void *buf size_t len krb5_storage_from_data krb5_data *data krb5_storage_set_flags krb5_storage *sp krb5_flags flags krb5_storage_clear_flags krb5_storage *sp krb5_flags flags krb5_storage_is_flags krb5_storage *sp krb5_flags flags krb5_storage_set_byteorder krb5_storage *sp krb5_flags byteorder krb5_storage_get_byteorder krb5_storage *sp krb5_flags byteorder krb5_storage_set_eof_code krb5_storage *sp int code krb5_storage_seek krb5_storage *sp off_t offset int whence krb5_storage_read krb5_storage *sp void *buf size_t len krb5_storage_write krb5_storage *sp const void *buf size_t len krb5_storage_free krb5_storage *sp krb5_storage_to_data krb5_storage *sp krb5_data *data krb5_store_int32 krb5_storage *sp int32_t value krb5_ret_int32 krb5_storage *sp int32_t *value krb5_store_int16 krb5_storage *sp int16_t value krb5_ret_int16 krb5_storage *sp int16_t *value krb5_store_int8 krb5_storage *sp int8_t value krb5_ret_int8 krb5_storage *sp int8_t *value krb5_store_data krb5_storage *sp krb5_data data krb5_ret_data krb5_storage *sp krb5_data *data krb5_store_string krb5_storage *sp const char *s krb5_ret_string krb5_storage *sp char **string krb5_store_stringz krb5_storage *sp const char *s krb5_ret_stringz krb5_storage *sp char **string krb5_store_principal krb5_storage *sp krb5_principal p krb5_ret_principal krb5_storage *sp krb5_principal *princ krb5_store_keyblock krb5_storage *sp krb5_keyblock p krb5_ret_keyblock krb5_storage *sp krb5_keyblock *p krb5_store_times krb5_storage *sp krb5_times times krb5_ret_times krb5_storage *sp krb5_times *times krb5_store_address krb5_storage *sp krb5_address p krb5_ret_address krb5_storage *sp krb5_address *adr krb5_store_addrs krb5_storage *sp krb5_addresses p krb5_ret_addrs krb5_storage *sp krb5_addresses *adr krb5_store_authdata krb5_storage *sp krb5_authdata auth krb5_ret_authdata krb5_storage *sp krb5_authdata *auth krb5_store_creds krb5_storage *sp krb5_creds *creds krb5_ret_creds krb5_storage *sp krb5_creds *creds
DESCRIPTION
The krb5_storage structure holds a storage element that is used for data manipulation. The structure contains no public accessible elements.
krb5_storage_emem create a memory based krb5 storage unit that dynamicly resized to the ammount of data stored in. The storage never returns errors, on memory allocation errors exit() will be called.
krb5_storage_from_data create a krb5 storage unit that will read is data from a krb5_data . There is no copy made of the data , so the caller must not free data until the storage is freed.
krb5_storage_from_fd create a krb5 storage unit that will read is data from a file descriptor. The descriptor must be seekable if krb5_storage_seek is used. Caller must not free the file descriptor before the storage is freed.
krb5_storage_from_mem create a krb5 storage unit that will read is data from a memory region. There is no copy made of the data , so the caller must not free data until the storage is freed.
krb5_storage_set_flags and krb5_storage_clear_flags modifies the behavior of the storage functions. krb5_storage_is_flags tests if the flags are set on the krb5_storage . Valid flags to set, is and clear is are:
- KRB5_STORAGE_PRINCIPAL_WRONG_NUM_COMPONENTS
- Stores the number of principal componets one too many when storing principal namees, used for compatibility with version 1 of file keytabs and version 1 of file credential caches.
- KRB5_STORAGE_PRINCIPAL_NO_NAME_TYPE
- Doesn't store the name type in when storing a principal name, used for compatibility with version 1 of file keytabs and version 1 of file credential caches.
- KRB5_STORAGE_KEYBLOCK_KEYTYPE_TWICE
- Stores the keyblock type twice storing a keyblock, used for compatibility version 3 of file credential caches.
- KRB5_STORAGE_BYTEORDER_MASK
- bitmask that can be used to and out what type of byte order order is used.
- KRB5_STORAGE_BYTEORDER_BE
- Store integers in in big endian byte order, this is the default mode.
- KRB5_STORAGE_BYTEORDER_LE
- Store integers in in little endian byte order.
- KRB5_STORAGE_BYTEORDER_HOST
- Stores the integers in host byte order, used for compatibility with version 1 of file keytabs and version 1 and 2 of file credential caches.
- KRB5_STORAGE_CREDS_FLAGS_WRONG_BITORDER
- Store the credential flags in a krb5_creds in the reverse bit order.
krb5_storage_set_byteorder and krb5_storage_get_byteorder modifies the byte order used in the storage for integers. The flags used is same as above. The valid flags are KRB5_STORAGE_BYTEORDER_BE , KRB5_STORAGE_BYTEORDER_LE and KRB5_STORAGE_BYTEORDER_HOST .
krb5_storage_set_eof_code sets the error code that will be returned on end of file condition to code .
krb5_storage_seek seeks offset bytes in the storage sp . The whence argument is one of
- SEEK_SET
- offset is from begining of storage.
- SEEK_CUR
- offset is relative from current offset.
- SEEK_END
- offset is from end of storage.
krb5_storage_read reads len (or less bytes in case of end of file) into buf from the current offset in the storage sp .
krb5_storage_write writes len or (less bytes in case of end of file) from buf from the current offset in the storage sp .
krb5_storage_free frees the storage sp .
krb5_storage_to_data converts the data in storage sp into a krb5_data structure. data must be freed with krb5_data_free by the caller when done with the data .
All krb5_store and krb5_ret functions move the current offset forward when the functions returns.
krb5_store_int32 , krb5_ret_int32 , krb5_store_int16 , krb5_ret_int16 , krb5_store_int8 , and krb5_ret_int8 stores and reads an integer from sp in the byte order specified by the flags set on the sp .
krb5_store_data and krb5_ret_data store and reads a krb5_data. The length of the data is stored with krb5_store_int32 .
krb5_store_string and krb5_ret_string store and reads a string by storing the length of the string with krb5_store_int32 followed by the string itself.
krb5_store_stringz and krb5_ret_stringz store and reads a string by storing string followed by a NUL .
krb5_store_principal and krb5_ret_principal store and reads a principal.
krb5_store_keyblock and krb5_ret_keyblock store and reads a krb5_keyblock .
krb5_store_times krb5_ret_times store and reads krb5_times structure .
krb5_store_address and krb5_ret_address store and reads a krb5_address .
krb5_store_addrs and krb5_ret_addrs store and reads a krb5_addresses .
krb5_store_authdata and krb5_ret_authdata store and reads a krb5_authdata .
krb5_store_creds and krb5_ret_creds store and reads a krb5_creds .