/* * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. */ /* * Internal Interfaces. */ typedef struct k5_krbinfo { char *message_type; const char *message_id; char *message; uint32_t message_length; uint8_t version; } k5_krbinfo_t; typedef struct k5_kerrorinfo { char *error_code; char *client; char *server; char *e_text; char *e_data; uint32_t ctime; uint32_t cusec; uint32_t stime; uint32_t susec; } k5_kerrorinfo_t; typedef struct k5_kdcrepinfo { char *padata_types; char *client; char *enc_part_etype; char *enc_key_type; unsigned char *enc_key_value; char *enc_last_req; char *enc_flags; char *enc_server; char *enc_caddr; uint32_t enc_part_kvno; uint32_t enc_key_length; uint32_t enc_nonce; uint32_t enc_key_expiration; uint32_t enc_authtime; uint32_t enc_starttime; uint32_t enc_endtime; uint32_t enc_renew_till; } k5_kdcrepinfo_t; typedef struct k5_kaprepinfo { char *enc_part_etype; char *enc_subkey_type; unsigned char *enc_subkey_value; uint32_t enc_part_kvno; uint32_t enc_ctime; uint32_t enc_cusec; uint32_t enc_subkey_length; uint32_t enc_seq_number; uint32_t _pad; } k5_kaprepinfo_t; typedef struct k5_kauthenticatorinfo { char *client; char *cksum_type; unsigned char *cksum_value; char *subkey_type; unsigned char *subkey_value; char *authorization_data; uint32_t cksum_length; uint32_t cusec; uint32_t ctime; uint32_t subkey_length; uint32_t seq_number; uint32_t _pad; } k5_kauthenticatorinfo_t; typedef struct k5_ksafeinfo { char *user_data; char *s_address; char *r_address; char *cksum_type; unsigned char *cksum_value; uint32_t user_data_length; uint32_t timestamp; uint32_t usec; uint32_t seq_number; uint32_t cksum_length; uint32_t _pad; } k5_ksafeinfo_t; typedef struct k5_kprivinfo { char *enc_part_etype; char *enc_user_data; char *enc_s_address; char *enc_r_address; uint32_t enc_part_kvno; uint32_t enc_user_data_length; uint32_t enc_timestamp; uint32_t enc_usec; uint32_t enc_seq_number; uint32_t _pad; } k5_kprivinfo_t; typedef struct k5_kcredinfo { char *enc_part_etype; char *enc_s_address; char *enc_r_address; uint32_t enc_part_kvno; uint32_t tickets; uint32_t enc_nonce; uint32_t enc_timestamp; uint32_t enc_usec; uint32_t _pad; } k5_kcredinfo_t; typedef struct k5_kconninfo { char *remote; char *local; char *protocol; char *type; uint16_t localport; uint16_t remoteport; uint32_t _pad; } k5_kconninfo_t; typedef struct k5_kticketinfo { char *server; char *enc_part_etype; char *enc_flags; char *enc_key_type; unsigned char *enc_key_value; char *enc_client; char *enc_transited; char *enc_transited_type; char *enc_addresses; char *enc_authorization_data; uint32_t enc_part_kvno; uint32_t enc_key_length; uint32_t enc_authtime; uint32_t enc_starttime; uint32_t enc_endtime; uint32_t enc_renew_till; } k5_kticketinfo_t; typedef struct k5_kdcreqinfo { char *padata_types; char *kdc_options; char *client; char *server; char *etype; char *addresses; char *authorization_data; uint32_t from; uint32_t till; uint32_t rtime; uint32_t nonce; uint32_t num_additional_tickets; uint32_t _pad; } k5_kdcreqinfo_t; typedef struct k5_kapreqinfo { char *ap_options; char *authenticator_etype; uint32_t authenticator_kvno; uint32_t _pad; } k5_kapreqinfo_t; typedef struct k5_trace { k5_krbinfo_t *info; void *arg; k5_kticketinfo_t *tkt; k5_kauthenticatorinfo_t *auth; } k5_trace_t; /* * External Interfaces. */ typedef struct krbinfo { uint8_t krb_version; string krb_message_type; uint64_t krb_message_id; uint32_t krb_message_length; uintptr_t krb_message; } krbinfo_t; typedef struct kerrorinfo { uint32_t kerror_ctime; uint32_t kerror_cusec; uint32_t kerror_stime; uint32_t kerror_susec; string kerror_error_code; string kerror_client; string kerror_server; string kerror_e_text; string kerror_e_data; } kerrorinfo_t; typedef struct kdcreqinfo { string kdcreq_padata_types; string kdcreq_kdc_options; string kdcreq_client; string kdcreq_server; uint32_t kdcreq_from; uint32_t kdcreq_till; uint32_t kdcreq_rtime; uint32_t kdcreq_nonce; string kdcreq_etype; string kdcreq_addresses; string kdcreq_authorization_data; uint32_t kdcreq_num_additional_tickets; } kdcreqinfo_t; typedef struct kdcrepinfo { string kdcrep_padata_types; string kdcrep_client; uint32_t kdcrep_enc_part_kvno; string kdcrep_enc_part_etype; string kdcrep_enc_key_type; uint32_t kdcrep_enc_key_length; uintptr_t kdcrep_enc_key_value; string kdcrep_enc_last_req; uint32_t kdcrep_enc_nonce; uint32_t kdcrep_enc_key_expiration; string kdcrep_enc_flags; uint32_t kdcrep_enc_authtime; uint32_t kdcrep_enc_starttime; uint32_t kdcrep_enc_endtime; uint32_t kdcrep_enc_renew_till; string kdcrep_enc_server; string kdcrep_enc_caddr; } kdcrepinfo_t; typedef struct kticketinfo_t { string kticket_server; uint32_t kticket_enc_part_kvno; string kticket_enc_part_etype; string kticket_enc_flags; string kticket_enc_key_type; uint32_t kticket_enc_key_length; uintptr_t kticket_enc_key_value; string kticket_enc_client; string kticket_enc_transited; string kticket_enc_transited_type; uint32_t kticket_enc_authtime; uint32_t kticket_enc_starttime; uint32_t kticket_enc_endtime; uint32_t kticket_enc_renew_till; string kticket_enc_addresses; string kticket_enc_authorization_data; } kticketinfo_t; typedef struct kaprepinfo { uint32_t kaprep_enc_part_kvno; string kaprep_enc_part_etype; uint32_t kaprep_enc_ctime; uint32_t kaprep_enc_cusec; string kaprep_enc_subkey_type; uint32_t kaprep_enc_subkey_length; uintptr_t kaprep_enc_subkey_value; uint32_t kaprep_enc_seq_number; } kaprepinfo_t; typedef struct kapreqinfo { string kapreq_ap_options; uint32_t kapreq_authenticator_kvno; string kapreq_authenticator_etype; } kapreqinfo_t; typedef struct kauthenticatorinfo { string kauth_client; string kauth_cksum_type; uint32_t kauth_cksum_length; uintptr_t kauth_cksum_value; uint32_t kauth_cusec; uint32_t kauth_ctime; string kauth_subkey_type; uint32_t kauth_subkey_length; uintptr_t kauth_subkey_value; uint32_t kauth_seq_number; string kauth_authorization_data; } kauthenticatorinfo_t; typedef struct ksafeinfo { uintptr_t ksafe_user_data; uint32_t ksafe_user_data_length; uint32_t ksafe_timestamp; uint32_t ksafe_usec; uint32_t ksafe_seq_number; string ksafe_s_address; string ksafe_r_address; string ksafe_cksum_type; uint32_t ksafe_cksum_length; uintptr_t ksafe_cksum_value; } ksafeinfo_t; typedef struct kprivinfo { uint32_t kpriv_enc_part_kvno; string kpriv_enc_part_etype; uintptr_t kpriv_enc_user_data; uint32_t kpriv_enc_user_data_length; uint32_t kpriv_enc_timestamp; uint32_t kpriv_enc_usec; uint32_t kpriv_enc_seq_number; string kpriv_enc_s_address; string kpriv_enc_r_address; } kprivinfo_t; typedef struct kcredinfo { uint32_t kcred_enc_part_kvno; string kcred_enc_part_etype; uint32_t kcred_tickets; uint32_t kcred_enc_nonce; uint32_t kcred_enc_timestamp; uint32_t kcred_enc_usec; string kcred_enc_s_address; string kcred_enc_r_address; } kcredinfo_t; typedef struct kconninfo { string kconn_remote; string kconn_local; string kconn_protocol; string kconn_type; uint16_t kconn_localport; uint16_t kconn_remoteport; } kconninfo_t; /* * Translators. */ translator krbinfo_t < k5_trace_t *x > { krb_version = *((uint8_t *)copyin((uintptr_t)(& (*((k5_krbinfo_t **)(copyin((uintptr_t)&x->info, sizeof (k5_krbinfo_t *)))))->version), sizeof (uint8_t))); krb_message_type = *((char **)copyin((uintptr_t)(& (*((k5_krbinfo_t **)(copyin((uintptr_t)&x->info, sizeof (k5_krbinfo_t *)))))->message_type), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_krbinfo_t **)(copyin((uintptr_t)&x->info, sizeof (k5_krbinfo_t *)))))->message_type), sizeof (char *)))) : ""; krb_message_id = *((uint64_t *)copyin((uintptr_t)(& (*((k5_krbinfo_t **)(copyin((uintptr_t)&x->info, sizeof (k5_krbinfo_t *)))))->message_id), sizeof (uint64_t))); krb_message_length = *((uint32_t *)copyin((uintptr_t)(& (*((k5_krbinfo_t **)(copyin((uintptr_t)&x->info, sizeof (k5_krbinfo_t *)))))->message_length), sizeof (uint32_t))); krb_message = *((char **)copyin((uintptr_t)(& (*((k5_krbinfo_t **)(copyin((uintptr_t)&x->info, sizeof (k5_krbinfo_t *)))))->message), sizeof (char *))) != NULL ? (uintptr_t)copyin((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_krbinfo_t **)(copyin((uintptr_t)&x->info, sizeof (k5_krbinfo_t *)))))->message), sizeof (char *))), *((uint32_t *)copyin((uintptr_t)(& (*((k5_krbinfo_t **)(copyin((uintptr_t)&x->info, sizeof (k5_krbinfo_t *)))))->message_length), sizeof (uint32_t)))) : (self->__krb = (char *)alloca(1), self->__krb[0] = NULL, (uintptr_t)self->__krb); }; translator kerrorinfo_t < k5_trace_t *x > { kerror_ctime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->ctime), sizeof (uint32_t))); kerror_cusec = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->cusec), sizeof (uint32_t))); kerror_stime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->stime), sizeof (uint32_t))); kerror_susec = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->susec), sizeof (uint32_t))); kerror_error_code = *((char **)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->error_code), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->error_code), sizeof (char *)))) : ""; kerror_client = *((char **)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->client), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->client), sizeof (char *)))) : ""; kerror_server = *((char **)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->server), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->server), sizeof (char *)))) : ""; kerror_e_text = *((char **)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->e_text), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->e_text), sizeof (char *)))) : ""; kerror_e_data = *((char **)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->e_data), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kerrorinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kerrorinfo_t *)))))->e_data), sizeof (char *)))) : ""; }; translator kdcreqinfo_t < k5_trace_t *x > { kdcreq_padata_types = *((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->padata_types), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->padata_types), sizeof (char *)))) : ""; kdcreq_kdc_options = *((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->kdc_options), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->kdc_options), sizeof (char *)))) : ""; kdcreq_client = *((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->client), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->client), sizeof (char *)))) : ""; kdcreq_server = *((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->server), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->server), sizeof (char *)))) : ""; kdcreq_from = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->from), sizeof (uint32_t))); kdcreq_till = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->till), sizeof (uint32_t))); kdcreq_rtime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->rtime), sizeof (uint32_t))); kdcreq_nonce = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->nonce), sizeof (uint32_t))); kdcreq_etype = *((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->etype), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->etype), sizeof (char *)))) : ""; kdcreq_addresses = *((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->addresses), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->addresses), sizeof (char *)))) : ""; kdcreq_authorization_data = *((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->authorization_data), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->authorization_data), sizeof (char *)))) : ""; kdcreq_num_additional_tickets = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcreqinfo_t *)))))->num_additional_tickets), sizeof (uint32_t))); }; translator kdcrepinfo_t < k5_trace_t *x > { kdcrep_padata_types = *((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->padata_types), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->padata_types), sizeof (char *)))) : ""; kdcrep_client = *((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->client), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->client), sizeof (char *)))) : ""; kdcrep_enc_part_kvno = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_part_kvno), sizeof (uint32_t))); kdcrep_enc_part_etype = *((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_part_etype), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_part_etype), sizeof (char *)))) : ""; kdcrep_enc_key_type = *((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_key_type), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_key_type), sizeof (char *)))) : ""; kdcrep_enc_key_length = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_key_length), sizeof (uint32_t))); kdcrep_enc_key_value = *((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_key_value), sizeof (char *))) != NULL ? (uintptr_t)copyin((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_key_value), sizeof (char *))), *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_key_length), sizeof (uint32_t)))) : (self->__krb = (char *)alloca(1), self->__krb[0] = NULL, (uintptr_t)self->__krb); kdcrep_enc_last_req = *((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_last_req), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_last_req), sizeof (char *)))) : ""; kdcrep_enc_nonce = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_nonce), sizeof (uint32_t))); kdcrep_enc_key_expiration = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_key_expiration), sizeof (uint32_t))); kdcrep_enc_flags = *((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_flags), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_flags), sizeof (char *)))) : ""; kdcrep_enc_authtime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_authtime), sizeof (uint32_t))); kdcrep_enc_starttime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_starttime), sizeof (uint32_t))); kdcrep_enc_endtime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_endtime), sizeof (uint32_t))); kdcrep_enc_renew_till = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_renew_till), sizeof (uint32_t))); kdcrep_enc_server = *((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_server), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_server), sizeof (char *)))) : ""; kdcrep_enc_caddr = *((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_caddr), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kdcrepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kdcrepinfo_t *)))))->enc_caddr), sizeof (char *)))) : ""; }; translator kticketinfo_t < k5_trace_t *x > { kticket_server = *((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->server), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->server), sizeof (char *)))) : ""; kticket_enc_part_kvno = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_part_kvno), sizeof (uint32_t))); kticket_enc_part_etype = *((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_part_etype), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_part_etype), sizeof (char *)))) : ""; kticket_enc_flags = *((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_flags), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_flags), sizeof (char *)))) : ""; kticket_enc_key_type = *((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_key_type), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_key_type), sizeof (char *)))) : ""; kticket_enc_key_length = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_key_length), sizeof (uint32_t))); kticket_enc_key_value = *((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_key_value), sizeof (char *))) != NULL ? (uintptr_t)copyin((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_key_value), sizeof (char *))), *((uint32_t *)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_key_length), sizeof (uint32_t)))) : (self->__krb = (char *)alloca(1), self->__krb[0] = NULL, (uintptr_t)self->__krb); kticket_enc_client = *((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_client), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_client), sizeof (char *)))) : ""; kticket_enc_transited_type = *((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_transited_type), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_transited_type), sizeof (char *)))) : ""; kticket_enc_transited = *((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_transited), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_transited), sizeof (char *)))) : ""; kticket_enc_authtime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_authtime), sizeof (uint32_t))); kticket_enc_starttime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_starttime), sizeof (uint32_t))); kticket_enc_endtime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_endtime), sizeof (uint32_t))); kticket_enc_renew_till = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_renew_till), sizeof (uint32_t))); kticket_enc_addresses = *((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_addresses), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_addresses), sizeof (char *)))) : ""; kticket_enc_authorization_data = *((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_authorization_data), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kticketinfo_t **)(copyin((uintptr_t)&x->tkt, sizeof (k5_kticketinfo_t *)))))->enc_authorization_data), sizeof (char *)))) : ""; }; translator kaprepinfo_t < k5_trace_t *x > { kaprep_enc_part_kvno = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_part_kvno), sizeof (uint32_t))); kaprep_enc_part_etype = *((char **)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_part_etype), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_part_etype), sizeof (char *)))) : ""; kaprep_enc_ctime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_ctime), sizeof (uint32_t))); kaprep_enc_cusec = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_cusec), sizeof (uint32_t))); kaprep_enc_subkey_type = *((char **)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_subkey_type), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_subkey_type), sizeof (char *)))) : ""; kaprep_enc_subkey_length = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_subkey_length), sizeof (uint32_t))); kaprep_enc_subkey_value = *((char **)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_subkey_value), sizeof (char *))) != NULL ? (uintptr_t)copyin((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_subkey_value), sizeof (char *))), *((uint32_t *)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_subkey_length), sizeof (uint32_t)))) : (self->__krb = (char *)alloca(1), self->__krb[0] = NULL, (uintptr_t)self->__krb); kaprep_enc_seq_number = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kaprepinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kaprepinfo_t *)))))->enc_seq_number), sizeof (uint32_t))); }; translator kapreqinfo_t < k5_trace_t *x > { kapreq_ap_options = *((char **)copyin((uintptr_t)(& (*((k5_kapreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kapreqinfo_t *)))))->ap_options), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kapreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kapreqinfo_t *)))))->ap_options), sizeof (char *)))) : ""; kapreq_authenticator_kvno = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kapreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kapreqinfo_t *)))))->authenticator_kvno), sizeof (uint32_t))); kapreq_authenticator_etype = *((char **)copyin((uintptr_t)(& (*((k5_kapreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kapreqinfo_t *)))))->authenticator_etype), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kapreqinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kapreqinfo_t *)))))->authenticator_etype), sizeof (char *)))) : ""; }; translator kauthenticatorinfo_t < k5_trace_t *x > { kauth_client = *((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->client), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->client), sizeof (char *)))) : ""; kauth_cksum_type = *((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->cksum_type), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->cksum_type), sizeof (char *)))) : ""; kauth_cksum_length = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->cksum_length), sizeof (uint32_t))); kauth_cksum_value = *((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->cksum_value), sizeof (char *))) != NULL ? (uintptr_t)copyin((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->cksum_value), sizeof (char *))), *((uint32_t *)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->cksum_length), sizeof (uint32_t)))) : (self->__krb = (char *)alloca(1), self->__krb[0] = NULL, (uintptr_t)self->__krb); kauth_cusec = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->cusec), sizeof (uint32_t))); kauth_ctime = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->ctime), sizeof (uint32_t))); kauth_subkey_type = *((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->subkey_type), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->subkey_type), sizeof (char *)))) : ""; kauth_subkey_length = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->subkey_length), sizeof (uint32_t))); kauth_subkey_value = *((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->subkey_value), sizeof (char *))) != NULL ? (uintptr_t)copyin((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->subkey_value), sizeof (char *))), *((uint32_t *)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->subkey_length), sizeof (uint32_t)))) : (self->__krb = (char *)alloca(1), self->__krb[0] = NULL, (uintptr_t)self->__krb); kauth_seq_number = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->seq_number), sizeof (uint32_t))); kauth_authorization_data = *((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->authorization_data), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kauthenticatorinfo_t **)(copyin((uintptr_t)&x->auth, sizeof (k5_kauthenticatorinfo_t *)))))->authorization_data), sizeof (char *)))) : ""; }; translator ksafeinfo_t < k5_trace_t *x > { ksafe_user_data = *((char **)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->user_data), sizeof (char *))) != NULL ? (uintptr_t)copyin((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->user_data), sizeof (char *))), *((uint32_t *)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->user_data_length), sizeof (uint32_t)))) : (self->__krb = (char *)alloca(1), self->__krb[0] = NULL, (uintptr_t)self->__krb); ksafe_user_data_length = *((uint32_t *)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->user_data_length), sizeof (uint32_t))); ksafe_timestamp = *((uint32_t *)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->timestamp), sizeof (uint32_t))); ksafe_usec = *((uint32_t *)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->usec), sizeof (uint32_t))); ksafe_seq_number = *((uint32_t *)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->seq_number), sizeof (uint32_t))); ksafe_s_address = *((char **)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->s_address), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->s_address), sizeof (char *)))) : ""; ksafe_r_address = *((char **)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->r_address), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->r_address), sizeof (char *)))) : ""; ksafe_cksum_type = *((char **)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->cksum_type), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->cksum_type), sizeof (char *)))) : ""; ksafe_cksum_length = *((uint32_t *)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->cksum_length), sizeof (uint32_t))); ksafe_cksum_value = *((char **)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->cksum_value), sizeof (char *))) != NULL ? (uintptr_t)copyin((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->cksum_value), sizeof (char *))), *((uint32_t *)copyin((uintptr_t)(& (*((k5_ksafeinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_ksafeinfo_t *)))))->cksum_length), sizeof (uint32_t)))) : (self->__krb = (char *)alloca(1), self->__krb[0] = NULL, (uintptr_t)self->__krb); }; translator kprivinfo_t < k5_trace_t *x > { kpriv_enc_part_etype = *((char **)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_part_etype), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_part_etype), sizeof (char *)))) : ""; kpriv_enc_part_kvno = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_part_kvno), sizeof (uint32_t))); kpriv_enc_user_data = *((char **)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_user_data), sizeof (char *))) != NULL ? (uintptr_t)copyin((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_user_data), sizeof (char *))), *((uint32_t *)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_user_data_length), sizeof (uint32_t)))) : (self->__krb = (char *)alloca(1), self->__krb[0] = NULL, (uintptr_t)self->__krb); kpriv_enc_user_data_length = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_user_data_length), sizeof (uint32_t))); kpriv_enc_timestamp = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_timestamp), sizeof (uint32_t))); kpriv_enc_usec = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_usec), sizeof (uint32_t))); kpriv_enc_seq_number = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_seq_number), sizeof (uint32_t))); kpriv_enc_s_address = *((char **)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_s_address), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_s_address), sizeof (char *)))) : ""; kpriv_enc_r_address = *((char **)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_r_address), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kprivinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kprivinfo_t *)))))->enc_r_address), sizeof (char *)))) : ""; }; translator kcredinfo_t < k5_trace_t *x > { kcred_enc_part_etype = *((char **)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->enc_part_etype), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->enc_part_etype), sizeof (char *)))) : ""; kcred_enc_part_kvno = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->enc_part_kvno), sizeof (uint32_t))); kcred_tickets = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->tickets), sizeof (uint32_t))); kcred_enc_nonce = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->enc_nonce), sizeof (uint32_t))); kcred_enc_timestamp = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->enc_timestamp), sizeof (uint32_t))); kcred_enc_usec = *((uint32_t *)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->enc_usec), sizeof (uint32_t))); kcred_enc_s_address = *((char **)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->enc_s_address), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->enc_s_address), sizeof (char *)))) : ""; kcred_enc_r_address = *((char **)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->enc_r_address), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kcredinfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kcredinfo_t *)))))->enc_r_address), sizeof (char *)))) : ""; }; translator kconninfo_t < k5_trace_t *x > { kconn_remote = *((char **)copyin((uintptr_t)(& (*((k5_kconninfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kconninfo_t *)))))->remote), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kconninfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kconninfo_t *)))))->remote), sizeof (char *)))) : ""; kconn_local = *((char **)copyin((uintptr_t)(& (*((k5_kconninfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kconninfo_t *)))))->local), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kconninfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kconninfo_t *)))))->local), sizeof (char *)))) : ""; kconn_protocol = *((char **)copyin((uintptr_t)(& (*((k5_kconninfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kconninfo_t *)))))->protocol), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kconninfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kconninfo_t *)))))->protocol), sizeof (char *)))) : ""; kconn_type = *((char **)copyin((uintptr_t)(& (*((k5_kconninfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kconninfo_t *)))))->type), sizeof (char *))) != NULL ? copyinstr((uintptr_t)*((char **)copyin((uintptr_t)(& (*((k5_kconninfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kconninfo_t *)))))->type), sizeof (char *)))) : ""; kconn_localport = *((uint16_t *)copyin((uintptr_t)(& (*((k5_kconninfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kconninfo_t *)))))->localport), sizeof (uint16_t))); kconn_remoteport = *((uint16_t *)copyin((uintptr_t)(& (*((k5_kconninfo_t **)(copyin((uintptr_t)&x->arg, sizeof (k5_kconninfo_t *)))))->remoteport), sizeof (uint16_t))); };