/*
 * kadm5_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_("Operation failed for unspecified reason"),
	N_("Operation requires `get' privilege"),
	N_("Operation requires `add' privilege"),
	N_("Operation requires `modify' privilege"),
	N_("Operation requires `delete' privilege"),
	N_("Insufficient authorization for operation"),
	N_("Database inconsistency detected"),
	N_("Principal or policy already exists"),
	N_("Communication failure with server"),
	N_("No administration server found for realm"),
	N_("Password history principal key version mismatch"),
	N_("Connection to server not initialized"),
	N_("Principal does not exist"),
	N_("Policy does not exist"),
	N_("Invalid field mask for operation"),
	N_("Invalid number of character classes"),
	N_("Invalid password length"),
	N_("Invalid policy name"),
	N_("Invalid principal name."),
	N_("Invalid auxillary attributes"),
	N_("Invalid password history count"),
	N_("Password minimum life is greater than password maximum life"),
	N_("Password is too short"),
	N_("Password does not contain enough character classes"),
	N_("Password is in the password dictionary"),
	N_("Can't reuse password"),
	N_("Current password's minimum life has not expired"),
	N_("Policy is in use"),
	N_("Connection to server already initialized"),
	N_("Incorrect password"),
	N_("Can't change protected principal"),
	N_("Programmer error! Bad Admin server handle"),
	N_("Programmer error! Bad API structure version"),
	N_("API structure version specified by application is no longer supported"),
	N_("API structure version specified by application is unknown to libraries"),
	N_("Programmer error! Bad API version"),
	N_("API version specified by application is no longer supported by libraries"),
	N_("API version specified by application is no longer supported by server"),
	N_("API version specified by application is unknown to libraries"),
	N_("API version specified by application is unknown to server"),
	N_("Database error! Required principal missing"),
	N_("The salt type of the specified principal does not support renaming"),
	N_("Invalid configuration parameter for remote KADM5 client"),
	N_("Invalid configuration parameter for local KADM5 client."),
	N_("Operation requires `list' privilege"),
	N_("Operation requires `change-password' privilege"),
	N_("Invalid tagged data list element type"),
	N_("Required parameters in kdc.conf missing"),
	N_("Bad krb5 admin server hostname"),
	N_("Key/salt tuples not supported by this function"),
	N_("Key/salt tuples don't match keys"),
	N_("Given usage of kadm5_decrypt() not supported"),
	N_("Policy operations not supported"),
	N_("Keep old keys option not supported"),
	N_("Operation requires `get-keys' privilege"),
	N_("Database already locked"),
	N_("Database not locked"),
	N_("Incremental propagation log got corrupted"),
	N_("Incremental propagation log must be upgraded"),
    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_kadm5_error_table = { text, 43787520L, 59 };

static struct et_list link = { 0, 0 };

void initialize_kadm5_error_table_r(struct et_list **list);
void initialize_kadm5_error_table(void);

void initialize_kadm5_error_table(void) {
    initialize_kadm5_error_table_r(&_et_list);
}

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