FIELDOF_OPT
FIELDOF_OPT(TYPE,DESCR,FIELDNAME,TAG,-1)
FIELDOF_OPT(krb5_cred_enc_part, int32, nonce, 1, 1),
FIELDOF_OPT(krb5_cred_enc_part, kerberos_time, timestamp, 2, 2),
FIELDOF_OPT(krb5_cred_enc_part, int32, usec, 3, 3),
FIELDOF_OPT(krb5_cred_enc_part, address_ptr, s_address, 4, 4),
FIELDOF_OPT(krb5_cred_enc_part, address_ptr, r_address, 5, 5),
FIELDOF_OPT(krb5_error, kerberos_time, ctime, 2, 2),
FIELDOF_OPT(krb5_error, int32, cusec, 3, 3),
FIELDOF_OPT(krb5_error, realm_of_principal, client, 7, 7),
FIELDOF_OPT(krb5_error, principal, client, 8, 8),
FIELDOF_OPT(krb5_error, gstring_data, text, 11, 11),
FIELDOF_OPT(krb5_error, ostring_data, e_data, 12, 12),
FIELDOF_OPT(krb5_pa_enc_ts, int32, pausec, 1, 1),
FIELDOF_OPT(krb5_pa_svr_referral_data, principal, principal, 1, 1),
FIELDOF_OPT(krb5_pa_server_referral_data, gstring_data_ptr, referred_realm, 0, 0),
FIELDOF_OPT(krb5_pa_server_referral_data, principal, true_principal_name, 1, 1),
FIELDOF_OPT(krb5_pa_server_referral_data, principal, requested_principal_name, 2, 2),
FIELDOF_OPT(krb5_pa_server_referral_data, kerberos_time, referral_valid_until, 3, 3),
FIELDOF_OPT( krb5_fast_armored_req, ptr_fast_armor, armor, 0, 0),
FIELDOF_OPT( krb5_fast_response, ptr_encryption_key, strengthen_key, 1, 1),
FIELDOF_OPT( krb5_fast_response, ptr_fast_finished, finished, 2, 2),
FIELDOF_OPT(krb5_enc_data, uint, kvno, 1, 1),
FIELDOF_OPT(krb5_enc_kdc_rep_part, kerberos_time, key_exp, 3, 3),
FIELDOF_OPT(krb5_enc_kdc_rep_part, kerberos_time, times.starttime, 6, 6),
FIELDOF_OPT(krb5_enc_kdc_rep_part, kerberos_time, times.renew_till, 8, 8),
FIELDOF_OPT(krb5_enc_kdc_rep_part, ptr_seqof_host_addresses, caddrs,
FIELDOF_OPT(krb5_enc_kdc_rep_part, ptr_seqof_pa_data, enc_padata, 12, 12),
FIELDOF_OPT(struct kdc_req_hack, principal, v.client, 1, 1),
FIELDOF_OPT(struct kdc_req_hack, principal, v.server, 3, 3),
FIELDOF_OPT(struct kdc_req_hack, kerberos_time, v.from, 4, 4),
FIELDOF_OPT(struct kdc_req_hack, kerberos_time, v.rtime, 6, 6),
FIELDOF_OPT(struct kdc_req_hack, ptr_seqof_host_addresses, v.addresses, 9, 9),
FIELDOF_OPT(struct kdc_req_hack, encrypted_data, v.authorization_data, 10, 10),
FIELDOF_OPT(struct kdc_req_hack, ptr_seqof_ticket, v.second_ticket, 11, 11),
FIELDOF_OPT(krb5_safe, kerberos_time, timestamp, 1, 1),
FIELDOF_OPT(krb5_safe, int32, usec, 2, 2),
FIELDOF_OPT(krb5_safe, uint, seq_number, 3, 3),
FIELDOF_OPT(krb5_safe, address_ptr, r_address, 5, 5),
FIELDOF_OPT(krb5_cred_info, realm_of_principal, client, 1, 1),
FIELDOF_OPT(krb5_cred_info, principal, client, 2, 2),
FIELDOF_OPT(krb5_cred_info, krb5_flags, flags, 3, 3),
FIELDOF_OPT(krb5_cred_info, kerberos_time, times.authtime, 4, 4),
FIELDOF_OPT(krb5_cred_info, kerberos_time, times.starttime, 5, 5),
FIELDOF_OPT(krb5_cred_info, kerberos_time, times.endtime, 6, 6),
FIELDOF_OPT(krb5_cred_info, kerberos_time, times.renew_till, 7, 7),
FIELDOF_OPT(krb5_cred_info, realm_of_principal, server, 8, 8),
FIELDOF_OPT(krb5_cred_info, principal, server, 9, 9),
FIELDOF_OPT(krb5_cred_info, ptr_seqof_host_addresses, caddrs, 10, 10),
FIELDOF_OPT(krb5_etype_info_entry, ostring_data, s2kparams, 2, 2),
FIELDOF_OPT(krb5_sam_challenge, ostring_data, sam_type_name, 2, 2),
FIELDOF_OPT(krb5_sam_challenge, ostring_data, sam_track_id,3, 3),
FIELDOF_OPT(krb5_sam_challenge, ostring_data, sam_challenge_label,4, 4),
FIELDOF_OPT(krb5_sam_challenge, ostring_data, sam_challenge,5, 5),
FIELDOF_OPT(krb5_sam_challenge, ostring_data, sam_response_prompt,6, 6),
FIELDOF_OPT(krb5_sam_challenge, ostring_data, sam_pk_for_sad,7, 7),
FIELDOF_OPT(krb5_sam_challenge, int32, sam_nonce, 8, 8),
FIELDOF_OPT(krb5_sam_challenge, checksum, sam_cksum, 9, 9),
FIELDOF_OPT(krb5_sam_challenge_2_body, ostring_data, sam_type_name, 2, 2),
FIELDOF_OPT(krb5_sam_challenge_2_body, ostring_data, sam_track_id,3, 3),
FIELDOF_OPT(krb5_sam_challenge_2_body, ostring_data, sam_challenge_label,4, 4),
FIELDOF_OPT(krb5_sam_challenge_2_body, ostring_data, sam_challenge,5, 5),
FIELDOF_OPT(krb5_sam_challenge_2_body, ostring_data, sam_response_prompt,6, 6),
FIELDOF_OPT(krb5_sam_challenge_2_body, ostring_data, sam_pk_for_sad,7, 7),
FIELDOF_OPT(krb5_enc_sam_response_enc, ostring_data, sam_sad, 3, 3),
FIELDOF_OPT(krb5_enc_sam_response_enc_2, ostring_data, sam_sad, 1, 1),
FIELDOF_OPT(krb5_sam_response, ostring_data, sam_track_id, 2, 2),
FIELDOF_OPT(krb5_sam_response, encrypted_data, sam_enc_key, 3, 3),
FIELDOF_OPT(krb5_sam_response, int32, sam_nonce, 5, 5),
FIELDOF_OPT(krb5_sam_response, kerberos_time, sam_patimestamp, 6, 6),
FIELDOF_OPT(krb5_sam_response_2, ostring_data, sam_track_id, 2, 2),
FIELDOF_OPT(krb5_predicted_sam_response, ostring_data, msd, 6, 6),
FIELDOF_OPT(krb5_authenticator, checksum_ptr, checksum, 3, 3),
FIELDOF_OPT(krb5_authenticator, ptr_encryption_key, subkey, 6, 6),
FIELDOF_OPT(krb5_authenticator, uint, seq_number, 7, 7),
FIELDOF_OPT(krb5_authenticator, auth_data_ptr, authorization_data, 8, 8),
FIELDOF_OPT(krb5_enc_tkt_part, kerberos_time, times.starttime, 6, 6),
FIELDOF_OPT(krb5_enc_tkt_part, kerberos_time, times.renew_till, 8, 8),
FIELDOF_OPT(krb5_enc_tkt_part, ptr_seqof_host_addresses, caddrs, 9, 9),
FIELDOF_OPT(krb5_enc_tkt_part, auth_data_ptr, authorization_data, 10, 10),
FIELDOF_OPT(krb5_kdc_rep, ptr_seqof_pa_data, padata, 2, 2),
FIELDOF_OPT(krb5_kdc_rep, ptr_seqof_pa_data, padata, 2, 2),
FIELDOF_OPT(krb5_ap_rep_enc_part, ptr_encryption_key, subkey, 2, 2),
FIELDOF_OPT(krb5_ap_rep_enc_part, uint, seq_number, 3, 3),
FIELDOF_OPT(krb5_kdc_req, ptr_seqof_pa_data, padata, 3, 3),
FIELDOF_OPT(krb5_kdc_req, ptr_seqof_pa_data, padata, 3, 3),
FIELDOF_OPT(krb5_priv_enc_part, kerberos_time, timestamp, 1, 1),
FIELDOF_OPT(krb5_priv_enc_part, int32, usec, 2, 2),
FIELDOF_OPT(krb5_priv_enc_part, uint, seq_number, 3, 3),
FIELDOF_OPT(krb5_priv_enc_part, address_ptr, r_address, 5, 5),