krb5_ktfile_data
#define KTPRIVATE(id) ((krb5_ktfile_data *)(id)->data)
#define KTFILENAME(id) (((krb5_ktfile_data *)(id)->data)->name)
#define KTDATAP(id) (((krb5_ktfile_data *)(id)->data)->datap)
#define KTVERSION(id) (((krb5_ktfile_data *)(id)->data)->version)
#define KTOFFSET(id) (((krb5_ktfile_data *)(id)->data)->offset)
krb5_ktfile_data *data;
if ((data = (krb5_ktfile_data *)malloc(sizeof(krb5_ktfile_data))) == NULL) {
k5_mutex_destroy(&((krb5_ktfile_data *)id->data)->lock);
krb5_ktfile_data *ktdata;
ktdata = (krb5_ktfile_data *) keytab->data;
krb5_ktfile_data *ktdata;
ktdata = (krb5_ktfile_data *) keytab->data;
#define KTPRIVATE(id) ((krb5_ktfile_data *)(id)->data)
#define KTFILENAME(id) (((krb5_ktfile_data *)(id)->data)->name)
#define KTFILEP(id) (((krb5_ktfile_data *)(id)->data)->openf)
krb5_ktfile_data *ktdata;
#define KTFILEBUFP(id) (((krb5_ktfile_data *)(id)->data)->iobuf)
#define KTVERSION(id) (((krb5_ktfile_data *)(id)->data)->version)
#define KTLOCK(id) k5_mutex_lock(&((krb5_ktfile_data *)(id)->data)->lock)
ktdata = (krb5_ktfile_data *) keytab->data;
keytab->data = (void *) malloc(sizeof(krb5_ktfile_data));
ktdata = (krb5_ktfile_data *) keytab->data;
memset(ktdata, 0, sizeof(krb5_ktfile_data));
#define KTUNLOCK(id) k5_mutex_unlock(&((krb5_ktfile_data *)(id)->data)->lock)
#define KTCHECKLOCK(id) k5_mutex_assert_locked(&((krb5_ktfile_data *)(id)->data)->lock)
krb5_ktfile_data *data;
if ((data = (krb5_ktfile_data *)malloc(sizeof(krb5_ktfile_data))) == NULL) {