#include <krb5/krb5.h>
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);