alloc_field
alloc_field(val->client,krb5_principal_data);
alloc_field(val->kdcName,krb5_principal_data);
if (tagnum == 1) { alloc_field(val->clientPublicValue, krb5_subject_pk_info); }
alloc_field(val->clientPublicValue, krb5_subject_pk_info);
alloc_field(val->session,krb5_keyblock);
alloc_field(val->server,krb5_principal_data);
alloc_field(val->server,krb5_principal_data);
if(tagnum == 1){ alloc_field(val->client,krb5_principal_data); }
alloc_field(val->server,krb5_principal_data);
alloc_field(val->s_address,krb5_address);
alloc_field(val->r_address,krb5_address);
alloc_field(val->client,krb5_principal_data);
alloc_field(val->ticket,krb5_ticket);
alloc_field(elt,type);\
alloc_field(val->session,krb5_keyblock);
alloc_field(val->client,krb5_principal_data);
alloc_field(val->server,krb5_principal_data);
alloc_field(val->passwd,krb5_data);
alloc_field(val->phrase,krb5_data);
alloc_field(*rep, krb5_kdc_dh_key_info);
alloc_field(*rep, krb5_principal_data);
alloc_field(*rep, krb5_reply_key_pack);
alloc_field(*rep, krb5_reply_key_pack_draft9);
alloc_field(*rep,krb5_authenticator);
alloc_field((*rep)->client,krb5_principal_data);
alloc_field((*rep)->checksum,krb5_checksum);
if(tagnum == 6){ alloc_field((*rep)->subkey,krb5_keyblock); }
alloc_field(*rep,krb5_ticket);
alloc_field((*rep)->server,krb5_principal_data);
alloc_field(*rep,krb5_keyblock);
alloc_field(*rep,krb5_enc_tkt_part);
alloc_field((*rep)->session,krb5_keyblock);
alloc_field((*rep)->client,krb5_principal_data);
alloc_field(*rep,krb5_enc_kdc_rep_part);
alloc_field(*rep,krb5_kdc_rep);
alloc_field(*rep,krb5_kdc_rep);
alloc_field(*rep,krb5_ap_req);
alloc_field((*rep)->ticket,krb5_ticket);
alloc_field(*rep,krb5_ap_rep);
alloc_field(*rep,krb5_ap_rep_enc_part);
if(tagnum == 2){ alloc_field((*rep)->subkey,krb5_keyblock); }
alloc_field(*rep,krb5_kdc_req);
alloc_field(*rep,krb5_kdc_req);
alloc_field(*rep,krb5_kdc_req);
alloc_field(*rep,krb5_safe);
alloc_field((*rep)->checksum,krb5_checksum);
alloc_field(*rep,krb5_priv);
alloc_field(*rep,krb5_priv_enc_part);
alloc_field((*rep)->s_address,krb5_address);
if(tagnum == 5){ alloc_field((*rep)->r_address,krb5_address); }
alloc_field(*rep,krb5_cred);
alloc_field(*rep,krb5_cred_enc_part);
if(tagnum == 4){ alloc_field((*rep)->s_address,krb5_address); }
if(tagnum == 5){ alloc_field((*rep)->r_address,krb5_address); }
alloc_field(*rep,krb5_error);
if(tagnum == 7){ alloc_field((*rep)->client,krb5_principal_data); }
alloc_field((*rep)->server,krb5_principal_data);
alloc_field(*rep,passwd_phrase_element);
alloc_field(*rep,krb5_pwd_data);
alloc_field(*rep,krb5_alt_method);
alloc_field(*rep,krb5_enc_data);
alloc_field(*rep,krb5_pa_enc_ts);
alloc_field(*rep,krb5_sam_challenge);
alloc_field(*rep,krb5_sam_challenge_2);
alloc_field(*rep, krb5_sam_challenge_2_body);
alloc_field(*rep,krb5_sam_key);
alloc_field(*rep,krb5_enc_sam_response_enc);
alloc_field(*rep,krb5_enc_sam_response_enc_2);
alloc_field(*rep,krb5_sam_response);
alloc_field(*rep,krb5_sam_response_2);
alloc_field(*rep,krb5_predicted_sam_response);
alloc_field(*rep, krb5_pa_pk_as_req);
alloc_field(*rep, krb5_pa_pk_as_req_draft9);
alloc_field(*rep, krb5_pa_pk_as_rep);
alloc_field(*rep, krb5_pa_pk_as_rep_draft9);
alloc_field(*rep, krb5_auth_pack);
alloc_field(*rep, krb5_auth_pack_draft9);