/*
 * et-c-kv5m_err.c:
 * This file is automatically generated; please do not edit it.
 */

#include <stdlib.h>

#define N_(a) a

static const char * const text[] = {
	N_("Kerberos V5 magic number table"),
	N_("Bad magic number for krb5_principal structure"),
	N_("Bad magic number for krb5_data structure"),
	N_("Bad magic number for krb5_keyblock structure"),
	N_("Bad magic number for krb5_checksum structure"),
	N_("Bad magic number for krb5_encrypt_block structure"),
	N_("Bad magic number for krb5_enc_data structure"),
	N_("Bad magic number for krb5_cryptosystem_entry structure"),
	N_("Bad magic number for krb5_cs_table_entry structure"),
	N_("Bad magic number for krb5_checksum_entry structure"),
	N_("Bad magic number for krb5_authdata structure"),
	N_("Bad magic number for krb5_transited structure"),
	N_("Bad magic number for krb5_enc_tkt_part structure"),
	N_("Bad magic number for krb5_ticket structure"),
	N_("Bad magic number for krb5_authenticator structure"),
	N_("Bad magic number for krb5_tkt_authent structure"),
	N_("Bad magic number for krb5_creds structure"),
	N_("Bad magic number for krb5_last_req_entry structure"),
	N_("Bad magic number for krb5_pa_data structure"),
	N_("Bad magic number for krb5_kdc_req structure"),
	N_("Bad magic number for krb5_enc_kdc_rep_part structure"),
	N_("Bad magic number for krb5_kdc_rep structure"),
	N_("Bad magic number for krb5_error structure"),
	N_("Bad magic number for krb5_ap_req structure"),
	N_("Bad magic number for krb5_ap_rep structure"),
	N_("Bad magic number for krb5_ap_rep_enc_part structure"),
	N_("Bad magic number for krb5_response structure"),
	N_("Bad magic number for krb5_safe structure"),
	N_("Bad magic number for krb5_priv structure"),
	N_("Bad magic number for krb5_priv_enc_part structure"),
	N_("Bad magic number for krb5_cred structure"),
	N_("Bad magic number for krb5_cred_info structure"),
	N_("Bad magic number for krb5_cred_enc_part structure"),
	N_("Bad magic number for krb5_pwd_data structure"),
	N_("Bad magic number for krb5_address structure"),
	N_("Bad magic number for krb5_keytab_entry structure"),
	N_("Bad magic number for krb5_context structure"),
	N_("Bad magic number for krb5_os_context structure"),
	N_("Bad magic number for krb5_alt_method structure"),
	N_("Bad magic number for krb5_etype_info_entry structure"),
	N_("Bad magic number for krb5_db_context structure"),
	N_("Bad magic number for krb5_auth_context structure"),
	N_("Bad magic number for krb5_keytab structure"),
	N_("Bad magic number for krb5_rcache structure"),
	N_("Bad magic number for krb5_ccache structure"),
	N_("Bad magic number for krb5_preauth_ops"),
	N_("Bad magic number for krb5_sam_challenge"),
	N_("Bad magic number for krb5_sam_challenge_2"),
	N_("Bad magic number for krb5_sam_key"),
	N_("Bad magic number for krb5_enc_sam_response_enc"),
	N_("Bad magic number for krb5_enc_sam_response_enc"),
	N_("Bad magic number for krb5_sam_response"),
	N_("Bad magic number for krb5_sam_response 2"),
	N_("Bad magic number for krb5_predicted_sam_response"),
	N_("Bad magic number for passwd_phrase_element"),
	N_("Bad magic number for GSSAPI OID"),
	N_("Bad magic number for GSSAPI QUEUE"),
	N_("Bad magic number for fast armored request"),
	N_("Bad magic number for FAST request"),
	N_("Bad magic number for FAST response"),
	N_("Bad magic number for krb5_authdata_context"),
    0
};

struct error_table {
    char const * const * msgs;
    long base;
    int n_msgs;
};
struct et_list {
    struct et_list *next;
    const struct error_table * table;
};
extern struct et_list *_et_list;

const struct error_table et_kv5m_error_table = { text, -1760647424L, 61 };

static struct et_list link = { 0, 0 };

void initialize_kv5m_error_table_r(struct et_list **list);
void initialize_kv5m_error_table(void);

void initialize_kv5m_error_table(void) {
    initialize_kv5m_error_table_r(&_et_list);
}

/* For Heimdal compatibility */
void initialize_kv5m_error_table_r(struct et_list **list)
{
    struct et_list *et, **end;

    for (end = list, et = *list; et; end = &et->next, et = et->next)
        if (et->table->msgs == text)
            return;
    et = malloc(sizeof(struct et_list));
    if (et == 0) {
        if (!link.table)
            et = &link;
        else
            return;
    }
    et->table = &et_kv5m_error_table;
    et->next = 0;
    *end = et;
}
