/*
 * hx509_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_("ASN.1 failed call to system time library"),
	N_("Extension not found"),
	N_("Certification path not found"),
	N_("Parent certificate is not a CA"),
	N_("CA path too deep"),
	N_("Signature algorithm not supported"),
	N_("Signature algorithm doesn't match certificate key"),
	N_("Certificate used before it became valid"),
	N_("Certificate used after it became invalid"),
	N_("Private key required for the operation is missing"),
	N_("Algorithm not supported"),
	N_("Issuer couldn't be found"),
	N_("Error verifying constraints"),
	N_("Number too large"),
	N_("Error while verifying name constraints"),
	N_("Path is too long, failed to find valid anchor"),
	N_("Required keyusage for this certificate is missing"),
	N_("Certificate not found"),
	N_("Unknown lock command"),
	N_("Parent certificate is a CA"),
	N_("Extra data was found after the structure"),
	N_("Proxy certificate is invalid"),
	N_("Proxy certificate name is wrong"),
	N_("Name is malformed"),
	N_("Certificate is malformed"),
	N_("Certificate is missing a required EKU"),
	N_("Proxy certificate not canonicalized"),
	N_("Reserved hx error (27)"),
	N_("Reserved hx error (28)"),
	N_("Reserved hx error (29)"),
	N_("Reserved hx error (30)"),
	N_("Reserved hx error (31)"),
	N_("Failed to create signature"),
	N_("Missing signer data"),
	N_("Couldn't find signers certificate"),
	N_("No data to perform the operation on"),
	N_("Data in the message is invalid"),
	N_("Padding in the message invalid"),
	N_("Couldn't find recipient certificate"),
	N_("Mismatch bewteen signed type and unsigned type"),
	N_("Reserved hx error (40)"),
	N_("Reserved hx error (41)"),
	N_("Reserved hx error (42)"),
	N_("Reserved hx error (43)"),
	N_("Reserved hx error (44)"),
	N_("Reserved hx error (45)"),
	N_("Reserved hx error (46)"),
	N_("Reserved hx error (47)"),
	N_("Reserved hx error (48)"),
	N_("Reserved hx error (49)"),
	N_("Reserved hx error (50)"),
	N_("Reserved hx error (51)"),
	N_("Reserved hx error (52)"),
	N_("Reserved hx error (53)"),
	N_("Reserved hx error (54)"),
	N_("Reserved hx error (55)"),
	N_("Reserved hx error (56)"),
	N_("Reserved hx error (57)"),
	N_("Reserved hx error (58)"),
	N_("Reserved hx error (59)"),
	N_("Reserved hx error (60)"),
	N_("Reserved hx error (61)"),
	N_("Reserved hx error (62)"),
	N_("Reserved hx error (63)"),
	N_("Internal error in the crypto engine"),
	N_("External error in the crypto engine"),
	N_("Signature missing for data"),
	N_("Signature is not valid"),
	N_("Sigature doesn't provide confidentiality"),
	N_("Invalid format on signature"),
	N_("Mismatch between oids"),
	N_("No prompter function defined"),
	N_("Signature requires signer, but none available"),
	N_("RSA public encyption failed"),
	N_("RSA private encyption failed"),
	N_("RSA public decryption failed"),
	N_("RSA private decryption failed"),
	N_("Algorithm has passed its best before date"),
	N_("Key format is unsupported"),
	N_("Reserved hx error (79)"),
	N_("Reserved hx error (80)"),
	N_("Reserved hx error (81)"),
	N_("Reserved hx error (82)"),
	N_("Reserved hx error (83)"),
	N_("Reserved hx error (84)"),
	N_("Reserved hx error (85)"),
	N_("Reserved hx error (86)"),
	N_("Reserved hx error (87)"),
	N_("Reserved hx error (88)"),
	N_("Reserved hx error (89)"),
	N_("Reserved hx error (90)"),
	N_("Reserved hx error (91)"),
	N_("Reserved hx error (92)"),
	N_("Reserved hx error (93)"),
	N_("Reserved hx error (94)"),
	N_("Reserved hx error (95)"),
	N_("CRL used before it became valid"),
	N_("CRL used after it became invalid"),
	N_("CRL have invalid format"),
	N_("Certificate is revoked"),
	N_("No revoke status found for certificates"),
	N_("Unknown extension"),
	N_("Got wrong CRL/OCSP data from server"),
	N_("Doesn't have same parent as other certificates"),
	N_("Certificates not in OCSP reply"),
	N_("Reserved hx error (105)"),
	N_("Reserved hx error (106)"),
	N_("Reserved hx error (107)"),
	N_("No local key attribute"),
	N_("Failed to parse key"),
	N_("Unsupported operation"),
	N_("Unimplemented operation"),
	N_("Failed to parse name"),
	N_("Reserved hx error (113)"),
	N_("Reserved hx error (114)"),
	N_("Reserved hx error (115)"),
	N_("Reserved hx error (116)"),
	N_("Reserved hx error (117)"),
	N_("Reserved hx error (118)"),
	N_("Reserved hx error (119)"),
	N_("Reserved hx error (120)"),
	N_("Reserved hx error (121)"),
	N_("Reserved hx error (122)"),
	N_("Reserved hx error (123)"),
	N_("Reserved hx error (124)"),
	N_("Reserved hx error (125)"),
	N_("Reserved hx error (126)"),
	N_("Reserved hx error (127)"),
	N_("No smartcard reader/device found"),
	N_("No smartcard in reader"),
	N_("No supported mech(s)"),
	N_("Token or slot failed in inconsistent way"),
	N_("Failed to open session to slot"),
	N_("Failed to login to slot"),
	N_("Failed to load PKCS module"),
	N_("Incorrect User PIN"),
	N_("User PIN locked"),
	N_("User PIN not initialized"),
	N_("User PIN expired"),
    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_hx_error_table = { text, 569856L, 139 };

static struct et_list link = { 0, 0 };

void initialize_hx_error_table_r(struct et_list **list);
void initialize_hx_error_table(void);

void initialize_hx_error_table(void) {
    initialize_hx_error_table_r(&_et_list);
}

/* For Heimdal compatibility */
void initialize_hx_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_hx_error_table;
    et->next = 0;
    *end = et;
}
