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.
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 doesnt 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 doesnt contain anything needs to be freed. outdata should be freed using krb5_free_data. Returns 0 or an error.
krb5(3), krb5_storage(3), kerberos(8)