struct krb5_storage;
krb5_storage *
krb5_storage_from_fd(int fd)
krb5_storage *
krb5_storage_emem(void)
krb5_storage *
krb5_storage_from_mem(void *buf, size_t len)
krb5_storage *
krb5_storage_from_data(krb5_data *data)
void
krb5_storage_set_flags(krb5_storage *sp, krb5_flags flags)
void
krb5_storage_clear_flags(krb5_storage *sp, krb5_flags flags)
krb5_boolean
krb5_storage_is_flags(krb5_storage *sp, krb5_flags flags)
void
krb5_storage_set_byteorder(krb5_storage *sp, krb5_flags byteorder)
krb5_flags
krb5_storage_get_byteorder(krb5_storage *sp, krb5_flags byteorder)
void
krb5_storage_set_eof_code(krb5_storage *sp, int code)
off_t
krb5_storage_seek(krb5_storage *sp, off_t offset, int whence)
krb5_ssize_t
krb5_storage_read(krb5_storage *sp, void *buf, size_t len)
krb5_ssize_t
krb5_storage_write(krb5_storage *sp, const void *buf, size_t len)
krb5_error_code
krb5_storage_free(krb5_storage *sp)
krb5_error_code
krb5_storage_to_data(krb5_storage *sp, krb5_data *data)
krb5_error_code
krb5_store_int32(krb5_storage *sp, int32_t value)
krb5_error_code
krb5_ret_int32(krb5_storage *sp, int32_t *value)
krb5_error_code
krb5_ret_uint32(krb5_storage *sp, uint32_t *value)
krb5_error_code
krb5_store_uint32(krb5_storage *sp, uint32_t value)
krb5_error_code
krb5_store_int16(krb5_storage *sp, int16_t value)
krb5_error_code
krb5_ret_int16(krb5_storage *sp, int16_t *value)
krb5_error_code
krb5_store_uint16(krb5_storage *sp, uint16_t value)
krb5_error_code
krb5_ret_uint16(krb5_storage *sp, u_int16_t *value)
krb5_error_code
krb5_store_int8(krb5_storage *sp, int8_t value)
krb5_error_code
krb5_ret_int8(krb5_storage *sp, int8_t *value)
krb5_error_code
krb5_store_uint8(krb5_storage *sp, u_int8_t value)
krb5_error_code
krb5_ret_uint8(krb5_storage *sp, u_int8_t *value)
krb5_error_code
krb5_store_data(krb5_storage *sp, krb5_data data)
krb5_error_code
krb5_ret_data(krb5_storage *sp, krb5_data *data)
krb5_error_code
krb5_store_string(krb5_storage *sp, const char *s)
krb5_error_code
krb5_ret_string(krb5_storage *sp, char **string)
krb5_error_code
krb5_store_stringnl(krb5_storage *sp, const char *s)
krb5_error_code
krb5_ret_stringnl(krb5_storage *sp, char **string)
krb5_error_code
krb5_store_stringz(krb5_storage *sp, const char *s)
krb5_error_code
krb5_ret_stringz(krb5_storage *sp, char **string)
krb5_error_code
krb5_store_principal(krb5_storage *sp, krb5_const_principal p)
krb5_error_code
krb5_ret_principal(krb5_storage *sp, krb5_principal *princ)
krb5_error_code
krb5_store_keyblock(krb5_storage *sp, krb5_keyblock p)
krb5_error_code
krb5_ret_keyblock(krb5_storage *sp, krb5_keyblock *p)
krb5_error_code
krb5_store_times(krb5_storage *sp, krb5_times times)
krb5_error_code
krb5_ret_times(krb5_storage *sp, krb5_times *times)
krb5_error_code
krb5_store_address(krb5_storage *sp, krb5_address p)
krb5_error_code
krb5_ret_address(krb5_storage *sp, krb5_address *adr)
krb5_error_code
krb5_store_addrs(krb5_storage *sp, krb5_addresses p)
krb5_error_code
krb5_ret_addrs(krb5_storage *sp, krb5_addresses *adr)
krb5_error_code
krb5_store_authdata(krb5_storage *sp, krb5_authdata auth)
krb5_error_code
krb5_ret_authdata(krb5_storage *sp, krb5_authdata *auth)
krb5_error_code
krb5_store_creds(krb5_storage *sp, krb5_creds *creds)
krb5_error_code
krb5_ret_creds(krb5_storage *sp, krb5_creds *creds)
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(3)
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_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
The
whence
argument is one of
krb5_storage_read()
reads
len
(or less bytes in case of end of file) into
buf
from the current offset in the storage
krb5_storage_write()
writes
len
or (less bytes in case of end of file) from
buf
from the current offset in the storage
krb5_storage_free()
frees the storage
krb5_storage_to_data()
converts the data in storage
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_uint32(),
krb5_ret_uint32(),
krb5_store_int16(),
krb5_ret_int16(),
krb5_store_uint16(),
krb5_ret_uint16(),
krb5_store_int8(),
krb5_ret_int8()
krb5_store_uint8(),
and
krb5_ret_uint8()
stores and reads an integer from
in the byte order specified by the flags set on the
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_stringnl()
and
krb5_ret_stringnl()
store and reads a string by storing string followed by a
'0.
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.