/*
 * gkrb5_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_("No @ in SERVICE-NAME name string"),
	N_("STRING-UID-NAME contains nondigits"),
	N_("UID does not resolve to username"),
	N_("Validation error"),
	N_("Couldn't allocate gss_buffer_t data"),
	N_("Message context invalid"),
	N_("Buffer is the wrong size"),
	N_("Credential usage type is unknown"),
	N_("Unknown quality of protection specified"),
	N_("Reserved gk5 error (9)"),
	N_("Reserved gk5 error (10)"),
	N_("Reserved gk5 error (11)"),
	N_("Reserved gk5 error (12)"),
	N_("Reserved gk5 error (13)"),
	N_("Reserved gk5 error (14)"),
	N_("Reserved gk5 error (15)"),
	N_("Reserved gk5 error (16)"),
	N_("Reserved gk5 error (17)"),
	N_("Reserved gk5 error (18)"),
	N_("Reserved gk5 error (19)"),
	N_("Reserved gk5 error (20)"),
	N_("Reserved gk5 error (21)"),
	N_("Reserved gk5 error (22)"),
	N_("Reserved gk5 error (23)"),
	N_("Reserved gk5 error (24)"),
	N_("Reserved gk5 error (25)"),
	N_("Reserved gk5 error (26)"),
	N_("Reserved gk5 error (27)"),
	N_("Reserved gk5 error (28)"),
	N_("Reserved gk5 error (29)"),
	N_("Reserved gk5 error (30)"),
	N_("Reserved gk5 error (31)"),
	N_("Reserved gk5 error (32)"),
	N_("Reserved gk5 error (33)"),
	N_("Reserved gk5 error (34)"),
	N_("Reserved gk5 error (35)"),
	N_("Reserved gk5 error (36)"),
	N_("Reserved gk5 error (37)"),
	N_("Reserved gk5 error (38)"),
	N_("Reserved gk5 error (39)"),
	N_("Reserved gk5 error (40)"),
	N_("Reserved gk5 error (41)"),
	N_("Reserved gk5 error (42)"),
	N_("Reserved gk5 error (43)"),
	N_("Reserved gk5 error (44)"),
	N_("Reserved gk5 error (45)"),
	N_("Reserved gk5 error (46)"),
	N_("Reserved gk5 error (47)"),
	N_("Reserved gk5 error (48)"),
	N_("Reserved gk5 error (49)"),
	N_("Reserved gk5 error (50)"),
	N_("Reserved gk5 error (51)"),
	N_("Reserved gk5 error (52)"),
	N_("Reserved gk5 error (53)"),
	N_("Reserved gk5 error (54)"),
	N_("Reserved gk5 error (55)"),
	N_("Reserved gk5 error (56)"),
	N_("Reserved gk5 error (57)"),
	N_("Reserved gk5 error (58)"),
	N_("Reserved gk5 error (59)"),
	N_("Reserved gk5 error (60)"),
	N_("Reserved gk5 error (61)"),
	N_("Reserved gk5 error (62)"),
	N_("Reserved gk5 error (63)"),
	N_("Reserved gk5 error (64)"),
	N_("Reserved gk5 error (65)"),
	N_("Reserved gk5 error (66)"),
	N_("Reserved gk5 error (67)"),
	N_("Reserved gk5 error (68)"),
	N_("Reserved gk5 error (69)"),
	N_("Reserved gk5 error (70)"),
	N_("Reserved gk5 error (71)"),
	N_("Reserved gk5 error (72)"),
	N_("Reserved gk5 error (73)"),
	N_("Reserved gk5 error (74)"),
	N_("Reserved gk5 error (75)"),
	N_("Reserved gk5 error (76)"),
	N_("Reserved gk5 error (77)"),
	N_("Reserved gk5 error (78)"),
	N_("Reserved gk5 error (79)"),
	N_("Reserved gk5 error (80)"),
	N_("Reserved gk5 error (81)"),
	N_("Reserved gk5 error (82)"),
	N_("Reserved gk5 error (83)"),
	N_("Reserved gk5 error (84)"),
	N_("Reserved gk5 error (85)"),
	N_("Reserved gk5 error (86)"),
	N_("Reserved gk5 error (87)"),
	N_("Reserved gk5 error (88)"),
	N_("Reserved gk5 error (89)"),
	N_("Reserved gk5 error (90)"),
	N_("Reserved gk5 error (91)"),
	N_("Reserved gk5 error (92)"),
	N_("Reserved gk5 error (93)"),
	N_("Reserved gk5 error (94)"),
	N_("Reserved gk5 error (95)"),
	N_("Reserved gk5 error (96)"),
	N_("Reserved gk5 error (97)"),
	N_("Reserved gk5 error (98)"),
	N_("Reserved gk5 error (99)"),
	N_("Reserved gk5 error (100)"),
	N_("Reserved gk5 error (101)"),
	N_("Reserved gk5 error (102)"),
	N_("Reserved gk5 error (103)"),
	N_("Reserved gk5 error (104)"),
	N_("Reserved gk5 error (105)"),
	N_("Reserved gk5 error (106)"),
	N_("Reserved gk5 error (107)"),
	N_("Reserved gk5 error (108)"),
	N_("Reserved gk5 error (109)"),
	N_("Reserved gk5 error (110)"),
	N_("Reserved gk5 error (111)"),
	N_("Reserved gk5 error (112)"),
	N_("Reserved gk5 error (113)"),
	N_("Reserved gk5 error (114)"),
	N_("Reserved gk5 error (115)"),
	N_("Reserved gk5 error (116)"),
	N_("Reserved gk5 error (117)"),
	N_("Reserved gk5 error (118)"),
	N_("Reserved gk5 error (119)"),
	N_("Reserved gk5 error (120)"),
	N_("Reserved gk5 error (121)"),
	N_("Reserved gk5 error (122)"),
	N_("Reserved gk5 error (123)"),
	N_("Reserved gk5 error (124)"),
	N_("Reserved gk5 error (125)"),
	N_("Reserved gk5 error (126)"),
	N_("Reserved gk5 error (127)"),
	N_("Principal in credential cache does not match desired name"),
	N_("No principal in keytab matches desired name"),
	N_("Credential cache has no TGT"),
	N_("Authenticator has no subkey"),
	N_("Context is already fully established"),
	N_("Unknown signature type in token"),
	N_("Invalid field length in token"),
	N_("Attempt to use incomplete security context"),
	N_("Input too long"),
    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_gk5_error_table = { text, 35224064L, 137 };

static struct et_list link = { 0, 0 };

void initialize_gk5_error_table_r(struct et_list **list);
void initialize_gk5_error_table(void);

void initialize_gk5_error_table(void) {
    initialize_gk5_error_table_r(&_et_list);
}

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