Functions
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 int KRB5_LIB_CALL | krb5_storage_fsync (krb5_storage *sp)
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_int64 (krb5_storage *sp, int64_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_store_uint64 (krb5_storage *sp, uint64_t value)
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL | krb5_ret_int64 (krb5_storage *sp, int64_t *value)
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL | krb5_ret_uint64 (krb5_storage *sp, uint64_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_storage *sp, krb5_data data)
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL | krb5_ret_data (krb5_storage *sp, krb5_data *data)
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL | krb5_store_string (krb5_storage *sp, const char *s)
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL | krb5_ret_string (krb5_storage *sp, char **string)
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 (int 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)
KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL | krb5_storage_from_socket (krb5_socket_t sock_in)

## Detailed Description

## Function Documentation

## ◆ krb5_ret_address()

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.

## ◆ krb5_ret_addrs()

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_addrs | ( | krb5_storage * | sp,
|  | krb5_addresses * | adr
| ) |  |

Read a addresses block from the storage.

Parameters

  sp | the storage buffer to write to
  adr | the addresses block read from storage

Returns
  0 on success, a Kerberos 5 error code on failure.

## ◆ krb5_ret_authdata()

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_ret_creds()

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_ret_creds_tag()

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_ret_data()

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_ret_int16()

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.

## ◆ krb5_ret_int32()

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int32 | ( | krb5_storage * | sp,
|  | int32_t * | value
| ) |  |

Read a int32 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_ret_int64()

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int64 | ( | krb5_storage * | sp,
|  | int64_t * | value
| ) |  |

Read a int64 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_ret_int8()

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_ret_keyblock()

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_ret_principal()

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_ret_string()

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_ret_stringz()

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
  0 on success, a Kerberos 5 error code on failure.

## ◆ krb5_ret_times()

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_times | ( | krb5_storage * | sp,
|  | krb5_times * | times
| ) |  |

Read a times block from the storage.

Parameters

  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_ret_uint16()

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_ret_uint32()

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_ret_uint64()

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint64 | ( | krb5_storage * | sp,
|  | uint64_t * | value
| ) |  |

Read a uint64 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_ret_uint8()

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_storage_clear_flags()

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_storage_emem()

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_storage_from_readonly_mem()
  krb5_storage_from_fd()
  krb5_storage_from_data()
  krb5_storage_from_socket()

## ◆ krb5_storage_free()

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_storage_from_data()

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_storage_from_fd()

KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_fd | ( | int | 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_storage_from_socket()

## ◆ krb5_storage_from_mem()

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_storage_from_socket()

## ◆ krb5_storage_from_readonly_mem()

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

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_data()
  krb5_storage_from_fd()

## ◆ krb5_storage_from_socket()

KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_socket | ( | krb5_socket_t | sock_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_storage_from_fd()

## ◆ krb5_storage_fsync()

KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_fsync | ( | krb5_storage * | sp | ) |

Sync the storage buffer to its backing store. If there is no backing store this function will return success.

Parameters

  sp | the storage buffer to sync

Returns
  A Kerberos 5 error code

## ◆ krb5_storage_get_byteorder()

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_storage_get_eof_code()

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_storage_is_flags()

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_storage_read()

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_storage_seek()

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

## ◆ krb5_storage_set_byteorder()

KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_byteorder | ( | krb5_storage * | sp,
|  | krb5_flags | byteorder
| ) |  |

Set the new byte order of the storage buffer.

Parameters

  sp | the storage buffer to set the byte order for.
  byteorder | the new byte order.

The byte order are: KRB5_STORAGE_BYTEORDER_BE, KRB5_STORAGE_BYTEORDER_LE and KRB5_STORAGE_BYTEORDER_HOST.

## ◆ krb5_storage_set_eof_code()

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_storage_set_flags()

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_storage_set_max_alloc()

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_storage_to_data()

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_storage_truncate()

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_storage_write()

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

Returns
  The length of data written (can be shorter then len), or negative on error.

## ◆ krb5_store_address()

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_address | ( | krb5_storage * | sp,
|  | krb5_address | p
| ) |  |

Write a address block to storage.

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_store_addrs()

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_store_authdata()

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_store_creds()

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_store_creds_tag()

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_store_data()

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
  data | the buffer to store.

Returns
  0 on success, a Kerberos 5 error code on failure.

## ◆ krb5_store_int16()

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int16 | ( | krb5_storage * | sp,
|  | int16_t | value
| ) |  |

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_store_int32()

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_store_int64()

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int64 | ( | krb5_storage * | sp,
|  | int64_t | value
| ) |  |

Store a int64 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_store_int8()

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_store_keyblock()

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_store_principal()

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_store_string()

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).

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_store_stringz()

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_store_times()

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_store_uint16()

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_store_uint32()

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_store_uint64()

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint64 | ( | krb5_storage * | sp,
|  | uint64_t | value
| ) |  |

Store a uint64 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_store_uint8()

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.