118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer/*
218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer * prof_err.c:
318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer * This file is automatically generated; please do not edit it.
418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer */
518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer#include <stdlib.h>
718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
8e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#define N_(a) a
9e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall
1018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzerstatic const char * const text[] = {
11e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Profile version 0.0"),
12e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Bad magic value in profile_node"),
13e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Profile section not found"),
14e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Profile relation not found"),
15e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_(	"Attempt to add a relation to node which is not a section"),
16e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_(	"A profile section header has a non-zero value"),
17e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Bad linked list in profile structures"),
18e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Bad group level in profile structures"),
19e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_(	"Bad parent pointer in profile structures"),
20e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Bad magic value in profile iterator"),
21e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Can't set value on section node"),
22e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Invalid argument passed to profile library"),
23e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Attempt to modify read-only profile"),
24e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Profile section header not at top level"),
25e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Syntax error in profile section header"),
26e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Syntax error in profile relation"),
27e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Extra closing brace in profile"),
28e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Missing open brace in profile"),
29e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Bad magic value in profile_t"),
30e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Bad magic value in profile_section_t"),
31e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_(	"Iteration through all top level section not supported"),
32e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Invalid profile_section object"),
33e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("No more sections"),
34e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Bad nameset passed to query routine"),
35e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("No profile file open"),
36e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Bad magic value in profile_file_t"),
37e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Couldn't open profile file"),
38e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Section already exists"),
39e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Invalid boolean value"),
40e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Invalid integer value"),
41e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	N_("Bad magic value in profile_file_data_t"),
4218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    0
4318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer};
4418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
4518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzerstruct error_table {
4618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    char const * const * msgs;
4718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    long base;
4818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    int n_msgs;
4918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer};
5018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzerstruct et_list {
5118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    struct et_list *next;
5218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    const struct error_table * table;
5318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer};
5418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzerextern struct et_list *_et_list;
5518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
5618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzerconst struct error_table et_prof_error_table = { text, -1429577728L, 31 };
5718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
5818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzerstatic struct et_list link = { 0, 0 };
5918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
6018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzervoid initialize_prof_error_table_r(struct et_list **list);
6118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzervoid initialize_prof_error_table(void);
6218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
6318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzervoid initialize_prof_error_table(void) {
6418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    initialize_prof_error_table_r(&_et_list);
6518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer}
6618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
6718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer/* For Heimdal compatibility */
6818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzervoid initialize_prof_error_table_r(struct et_list **list)
6918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer{
7018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    struct et_list *et, **end;
7118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer
7218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    for (end = list, et = *list; et; end = &et->next, et = et->next)
7318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer        if (et->table->msgs == text)
7418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer            return;
7518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    et = malloc(sizeof(struct et_list));
7618a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    if (et == 0) {
7718a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer        if (!link.table)
7818a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer            et = &link;
7918a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer        else
8018a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer            return;
8118a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    }
8218a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    et->table = &et_prof_error_table;
8318a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    et->next = 0;
8418a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer    *end = et;
8518a1444b4f1e6a0948fd38fa0de382d86cfe04deBernhard Rosenkränzer}
86