KRB5_DATA(3)            NetBSD Library Functions Manual           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/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 func-
     tions 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 struc-
     ture 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)

NetBSD 5.0_STABLE                Jan 23, 2007                NetBSD 5.0_STABLE
