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

#include <stdlib.h>

static const char * const text[] = {
		"Client not associated with class",
		"No such client",
		"No such subscription",
		"Class unkown",
		"Class already registered",
		"Class already restricted",
		"Host manager unknown",
		"Host not on this server",
		"Pkt length too short",
		"Buffer too short"	,
		"Read/Write length wrong",
		"Unknown opcode",
		"Requeue for later processing",
		"$Id: zsrv_err.et 404 2009-02-28 23:30:45Z kcr $",
		"Illegal port specified in subscription",
		"No such realm",
		"Class is now empty",
    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_zsrv_error_table = { text, -757387264L, 17 };

static struct et_list link = { 0, 0 };

void initialize_zsrv_error_table_r(struct et_list **list);
void initialize_zsrv_error_table(void);

void initialize_zsrv_error_table(void) {
    initialize_zsrv_error_table_r(&_et_list);
}

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