KRB5_DATA(3)

NAME
krb5_data, krb5_data_zero, krb5_data_free, krb5_free_data_contents, krb5_free_data, krb5_data_alloc, krb5_data_realloc, krb5_data_copy, krb5_copy_data, krb5_data_cmp - operates on the Kerberos datatype krb5_data

LIBRARY
Kerberos 5 Library (libkrb5, -lkrb5)

SYNOPSIS
#include <krb5.h>

struct krb5_data;
void
krb5_data_zero(krb5_data *p);
void
krb5_data_free(krb5_data *p);
void
krb5_free_data_contents(krb5_context context, krb5_data *p);
void
krb5_free_data(krb5_context context, krb5_data *p);
krb5_error_code
krb5_data_alloc(krb5_data *p, int len);
krb5_error_code
krb5_data_realloc(krb5_data *p, int len);
krb5_error_code
krb5_data_copy(krb5_data *p, const void *data, size_t len);
krb5_error_code
krb5_copy_data(krb5_context context, const krb5_data *indata, krb5_data **outdata);
krb5_error_code
krb5_data_cmp(const krb5_data *data1, const krb5_data *data2);

DESCRIPTION
The krb5_data structure holds a data element. The structure contains two public accessible elements length (the length of data) and data (the data itself). The structure must always be initiated and freed by the functions documented in this manual.

krb5_data_zero() resets the content of p.

krb5_data_free() free the data in p and reset the content of the structure with krb5_data_zero().

krb5_free_data_contents() works the same way as krb5_data_free. The diffrence is that krb5_free_data_contents is more portable (exists in MIT api).

krb5_free_data() frees the data in p and p itself.

krb5_data_alloc() allocates len bytes in p. Returns 0 or an error.

krb5_data_realloc() reallocates the length of p to the length in len. Returns 0 or an error.

krb5_data_copy() copies the data that have the length len into p. p is not freed so the calling function should make sure the p doesn't contain anything needs to be freed. Returns 0 or an error.

krb5_copy_data() copies the krb5_data in indata to outdata. outdata is not freed so the calling function should make sure the outdata doesn't contain anything needs to be freed. outdata should be freed using krb5_free_data(). Returns 0 or an error.

krb5_data_cmp() will compare two data object and check if they are the same in a simular way as memcmp does it. The return value can be used for sorting.

SEE ALSO
krb5(3), krb5_storage(3), kerberos(8)