FreeBSD manual

download PDF document: krb5_storage_from_fd.3.pdf

Heimdal Kerberos 5 storage functions(3) HeimdalKerberos5library
NAME Heimdal Kerberos 5 storage functions -
Functions KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_flags (krb5_storage *sp, krb5_flags flags) KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_clear_flags (krb5_storage *sp, krb5_flags flags) KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_storage_is_flags (krb5_storage *sp, krb5_flags flags) KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_byteorder (krb5_storage *sp, krb5_flags byteorder) KRB5_LIB_FUNCTION krb5_flags KRB5_LIB_CALL krb5_storage_get_byteorder (krb5_storage *sp) KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_max_alloc (krb5_storage *sp, size_t size) KRB5_LIB_FUNCTION off_t KRB5_LIB_CALL krb5_storage_seek (krb5_storage *sp, off_t offset, int whence) KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_truncate (krb5_storage *sp, off_t offset) KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_read (krb5_storage *sp, void *buf, size_t len) KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_write (krb5_storage *sp, const void *buf, size_t len) KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_eof_code (krb5_storage *sp, int code) KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_get_eof_code (krb5_storage *sp) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_free (krb5_storage *sp) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_to_data (krb5_storage *sp, krb5_data *data) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int32 (krb5_storage *sp, int32_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint32 (krb5_storage *sp, uint32_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int32 (krb5_storage *sp, int32_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint32 (krb5_storage *sp, uint32_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int16 (krb5_storage *sp, int16_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint16 (krb5_storage *sp, uint16_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int16 (krb5_storage *sp, int16_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint16 (krb5_storage *sp, uint16_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int8 (krb5_storage *sp, int8_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint8 (krb5_storage *sp, uint8_t value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int8 (krb5_storage *sp, int8_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint8 (krb5_storage *sp, uint8_t *value) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_data KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_stringz (krb5_storage *sp, const char *s) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_stringz (krb5_storage *sp, char **string) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_principal (krb5_storage *sp, krb5_const_principal p) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_principal (krb5_storage *sp, krb5_principal *princ) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_keyblock (krb5_storage *sp, krb5_keyblock p) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_keyblock (krb5_storage *sp, krb5_keyblock *p) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_times (krb5_storage *sp, krb5_times times) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_times (krb5_storage *sp, krb5_times *times) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_address (krb5_storage *sp, krb5_address p) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_address (krb5_storage *sp, krb5_address *adr) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_addrs (krb5_storage *sp, krb5_addresses p) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_addrs (krb5_storage *sp, krb5_addresses *adr) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_authdata (krb5_storage *sp, krb5_authdata auth) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_authdata (krb5_storage *sp, krb5_authdata *auth) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds (krb5_storage *sp, krb5_creds *creds) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds (krb5_storage *sp, krb5_creds *creds) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds_tag (krb5_storage *sp, krb5_creds *creds) KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds_tag (krb5_storage *sp, krb5_creds *creds) KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL krb5_storage_emem (void) KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL krb5_storage_from_fd (krb5_socket_t fd_in) KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL krb5_storage_from_mem (void *buf, size_t len) KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL krb5_storage_from_data (krb5_data *data) KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL krb5_storage_from_readonly_mem (const void *buf, size_t len)
Detailed Description Function Documentation KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_address (krb5_storage * sp, krb5_address * adr) Read a address block from the storage.
Parameters: sp the storage buffer to write to adr the address block read from storage
Returns: 0 on success, a Kerberos 5 error code on failure.

Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_authdata (krb5_storage * sp, krb5_authdata * auth) Read a auth data from the storage.
Parameters: sp the storage buffer to write to auth the auth data block read from storage
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds (krb5_storage * sp, krb5_creds * creds) Read a credentials block from the storage.
Parameters: sp the storage buffer to write to creds the credentials block read from storage
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds_tag (krb5_storage * sp, krb5_creds * creds) Read a tagged credentials block from the storage.
Parameters: sp the storage buffer to write to creds the credentials block read from storage
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_data (krb5_storage * sp, krb5_data * data) Parse a data from the storage.
Parameters: sp the storage buffer to read from data the parsed data
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int16 (krb5_storage * sp, int16_t * value) Read a int16 from storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder().
Parameters: sp the storage to write too value the value read from the buffer
Returns: 0 for success, or a Kerberos 5 error code on failure. sp the storage to write too value the value read from the buffer
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int8 (krb5_storage * sp, int8_t * value) Read a int8 from storage
Parameters: sp the storage to write too value the value read from the buffer
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_keyblock (krb5_storage * sp, krb5_keyblock * p) Read a keyblock from the storage.
Parameters: sp the storage buffer to write to p the keyblock read from storage, free using krb5_free_keyblock()
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_principal (krb5_storage * sp, krb5_principal * princ) Parse principal from the storage.
Parameters: sp the storage buffer to read from princ the parsed principal
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_string (krb5_storage * sp, char ** string) Parse a string from the storage.
Parameters: sp the storage buffer to read from string the parsed string
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_stringz (krb5_storage * sp, char ** string) Parse zero terminated string from the storage.
Parameters: sp the storage buffer to read from string the parsed string
Returns: sp the storage buffer to write to times the times block read from storage
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint16 (krb5_storage * sp, uint16_t * value) Read a int16 from storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder().
Parameters: sp the storage to write too value the value read from the buffer
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint32 (krb5_storage * sp, uint32_t * value) Read a uint32 from storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder().
Parameters: sp the storage to write too value the value read from the buffer
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint8 (krb5_storage * sp, uint8_t * value) Read a uint8 from storage
Parameters: sp the storage to write too value the value read from the buffer
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_clear_flags (krb5_storage * sp, krb5_flags flags) Clear the flags on a storage buffer
Parameters: sp the storage buffer to clear the flags on flags the flags to clear
KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_emem (void) Create a elastic (allocating) memory storage backend. Memory is allocated on demand. Free returned krb5_storage with krb5_storage_free().
Returns: A krb5_storage on success, or NULL on out of memory error.
See also: krb5_storage_from_mem()
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_free (krb5_storage * sp) Free a krb5 storage.
Parameters: sp the storage to free.
Returns: An Kerberos 5 error code.
KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_data (krb5_data * data) Create a fixed size memory storage block
Returns: A krb5_storage on success, or NULL on out of memory error.
See also: krb5_storage_mem()
krb5_storage_from_mem()
krb5_storage_from_readonly_mem()
krb5_storage_from_fd()
KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_fd (krb5_socket_t fd_in) Returns: A krb5_storage on success, or NULL on out of memory error.
See also: krb5_storage_emem()
krb5_storage_from_mem()
krb5_storage_from_readonly_mem()
krb5_storage_from_data()
KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_mem (void * buf, size_t len) Create a fixed size memory storage block
Returns: A krb5_storage on success, or NULL on out of memory error.
See also: krb5_storage_mem()
krb5_storage_from_readonly_mem()
krb5_storage_from_data()
krb5_storage_from_fd()
KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_readonly_mem (const void * buf, size_t len) Create a fixed size memory storage block that is read only krb5_storage_from_mem()
krb5_storage_from_data()
krb5_storage_from_fd()
KRB5_LIB_FUNCTION krb5_flags KRB5_LIB_CALL krb5_storage_get_byteorder (krb5_storage * sp) Return the current byteorder for the buffer. See krb5_storage_set_byteorder() for the list or byte order contants.
KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_get_eof_code (krb5_storage * sp) Get the return code that will be used when end of storage is reached.
Parameters: sp the storage
Returns: storage error code
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_storage_is_flags (krb5_storage * sp, krb5_flags flags) Return true or false depending on if the storage flags is set or not. NB testing for the flag 0 always return true.
Parameters: sp the storage buffer to check flags on flags The flags to test for
Returns: true if all the flags are set, false if not.
KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_read (krb5_storage * sp, void * buf, size_t len) Read to the storage buffer.
Parameters: sp the storage buffer to read from buf the buffer to store the data in len the length to read
Returns: The length of data read (can be shorter then len), or negative on error.
KRB5_LIB_FUNCTION off_t KRB5_LIB_CALL krb5_storage_seek (krb5_storage * sp, off_t offset, int whence) Seek to a new offset.
Parameters: sp the storage buffer to seek in. offset the offset to seek whence relateive searching, SEEK_CUR from the current position, SEEK_END from the end, SEEK_SET absolute from the start.
Returns: The new current offset

The byte order are: KRB5_STORAGE_BYTEORDER_BE, KRB5_STORAGE_BYTEORDER_LE and KRB5_STORAGE_BYTEORDER_HOST.
KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_eof_code (krb5_storage * sp, int code) Set the return code that will be used when end of storage is reached.
Parameters: sp the storage code the error code to return on end of storage
KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_flags (krb5_storage * sp, krb5_flags flags) Add the flags on a storage buffer by or-ing in the flags to the buffer.
Parameters: sp the storage buffer to set the flags on flags the flags to set
KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_max_alloc (krb5_storage * sp, size_t size) Set the max alloc value
Parameters: sp the storage buffer set the max allow for size maximum size to allocate, use 0 to remove limit
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_to_data (krb5_storage * sp, krb5_data * data) Copy the contnent of storage
Parameters: sp the storage to copy to a data data the copied data, free with krb5_data_free()
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_truncate (krb5_storage * sp, off_t offset) Truncate the storage buffer in sp to offset.
Parameters: sp the storage buffer to truncate. offset the offset to truncate too.
Returns: An Kerberos 5 error code.
KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_write (krb5_storage * sp, const void * buf, size_t len) Write to the storage buffer.
Parameters: sp the storage buffer to write to buf the buffer to write to the storage buffer len the length to write

Parameters: sp the storage buffer to write to p the address block to write.
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_addrs (krb5_storage * sp, krb5_addresses p) Write a addresses block to storage.
Parameters: sp the storage buffer to write to p the addresses block to write.
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_authdata (krb5_storage * sp, krb5_authdata auth) Write a auth data block to storage.
Parameters: sp the storage buffer to write to auth the auth data block to write.
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds (krb5_storage * sp, krb5_creds * creds) Write a credentials block to storage.
Parameters: sp the storage buffer to write to creds the creds block to write.
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds_tag (krb5_storage * sp, krb5_creds * creds) Write a tagged credentials block to storage.
Parameters: sp the storage buffer to write to creds the creds block to write.
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_data (krb5_storage * sp, krb5_data data) Store a data to the storage. The data is stored with an int32 as lenght plus the data (not padded).
Parameters: sp the storage buffer to write to
Store a int16 to storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder().
Parameters: sp the storage to write too value the value to store
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int32 (krb5_storage * sp, int32_t value) Store a int32 to storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder().
Parameters: sp the storage to write too value the value to store
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int8 (krb5_storage * sp, int8_t value) Store a int8 to storage.
Parameters: sp the storage to write too value the value to store
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_keyblock (krb5_storage * sp, krb5_keyblock p) Store a keyblock to the storage.
Parameters: sp the storage buffer to write to p the keyblock to write
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_principal (krb5_storage * sp, krb5_const_principal p) Write a principal block to storage.
Parameters: sp the storage buffer to write to p the principal block to write.
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_string (krb5_storage * sp, const char * s) Store a string to the buffer. The data is formated as an len:uint32 plus the string itself (not padded).
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_stringz (krb5_storage * sp, const char * s) Store a zero terminated string to the buffer. The data is stored one character at a time until a NUL is stored.
Parameters: sp the storage buffer to write to s the string to store.
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_times (krb5_storage * sp, krb5_times times) Write a times block to storage.
Parameters: sp the storage buffer to write to times the times block to write.
Returns: 0 on success, a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint16 (krb5_storage * sp, uint16_t value) Store a uint16 to storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder().
Parameters: sp the storage to write too value the value to store
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint32 (krb5_storage * sp, uint32_t value) Store a uint32 to storage, byte order is controlled by the settings on the storage, see krb5_storage_set_byteorder().
Parameters: sp the storage to write too value the value to store
Returns: 0 for success, or a Kerberos 5 error code on failure.
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint8 (krb5_storage * sp, uint8_t value) Store a uint8 to storage.
Parameters: sp the storage to write too value the value to store
Returns: 0 for success, or a Kerberos 5 error code on failure.