/* Generated by ./xlat/gen.sh from ./xlat/keyctl_commands.in; do not edit. */

#include "gcc_compat.h"
#include "static_assert.h"

#if defined(KEYCTL_GET_KEYRING_ID) || (defined(HAVE_DECL_KEYCTL_GET_KEYRING_ID) && HAVE_DECL_KEYCTL_GET_KEYRING_ID)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_GET_KEYRING_ID) == (0), "KEYCTL_GET_KEYRING_ID != 0");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_GET_KEYRING_ID 0
#endif
#if defined(KEYCTL_JOIN_SESSION_KEYRING) || (defined(HAVE_DECL_KEYCTL_JOIN_SESSION_KEYRING) && HAVE_DECL_KEYCTL_JOIN_SESSION_KEYRING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_JOIN_SESSION_KEYRING) == (1), "KEYCTL_JOIN_SESSION_KEYRING != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_JOIN_SESSION_KEYRING 1
#endif
#if defined(KEYCTL_UPDATE) || (defined(HAVE_DECL_KEYCTL_UPDATE) && HAVE_DECL_KEYCTL_UPDATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_UPDATE) == (2), "KEYCTL_UPDATE != 2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_UPDATE 2
#endif
#if defined(KEYCTL_REVOKE) || (defined(HAVE_DECL_KEYCTL_REVOKE) && HAVE_DECL_KEYCTL_REVOKE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_REVOKE) == (3), "KEYCTL_REVOKE != 3");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_REVOKE 3
#endif
#if defined(KEYCTL_CHOWN) || (defined(HAVE_DECL_KEYCTL_CHOWN) && HAVE_DECL_KEYCTL_CHOWN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_CHOWN) == (4), "KEYCTL_CHOWN != 4");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_CHOWN 4
#endif
#if defined(KEYCTL_SETPERM) || (defined(HAVE_DECL_KEYCTL_SETPERM) && HAVE_DECL_KEYCTL_SETPERM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_SETPERM) == (5), "KEYCTL_SETPERM != 5");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_SETPERM 5
#endif
#if defined(KEYCTL_DESCRIBE) || (defined(HAVE_DECL_KEYCTL_DESCRIBE) && HAVE_DECL_KEYCTL_DESCRIBE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_DESCRIBE) == (6), "KEYCTL_DESCRIBE != 6");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_DESCRIBE 6
#endif
#if defined(KEYCTL_CLEAR) || (defined(HAVE_DECL_KEYCTL_CLEAR) && HAVE_DECL_KEYCTL_CLEAR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_CLEAR) == (7), "KEYCTL_CLEAR != 7");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_CLEAR 7
#endif
#if defined(KEYCTL_LINK) || (defined(HAVE_DECL_KEYCTL_LINK) && HAVE_DECL_KEYCTL_LINK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_LINK) == (8), "KEYCTL_LINK != 8");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_LINK 8
#endif
#if defined(KEYCTL_UNLINK) || (defined(HAVE_DECL_KEYCTL_UNLINK) && HAVE_DECL_KEYCTL_UNLINK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_UNLINK) == (9), "KEYCTL_UNLINK != 9");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_UNLINK 9
#endif
#if defined(KEYCTL_SEARCH) || (defined(HAVE_DECL_KEYCTL_SEARCH) && HAVE_DECL_KEYCTL_SEARCH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_SEARCH) == (10), "KEYCTL_SEARCH != 10");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_SEARCH 10
#endif
#if defined(KEYCTL_READ) || (defined(HAVE_DECL_KEYCTL_READ) && HAVE_DECL_KEYCTL_READ)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_READ) == (11), "KEYCTL_READ != 11");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_READ 11
#endif
#if defined(KEYCTL_INSTANTIATE) || (defined(HAVE_DECL_KEYCTL_INSTANTIATE) && HAVE_DECL_KEYCTL_INSTANTIATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_INSTANTIATE) == (12), "KEYCTL_INSTANTIATE != 12");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_INSTANTIATE 12
#endif
#if defined(KEYCTL_NEGATE) || (defined(HAVE_DECL_KEYCTL_NEGATE) && HAVE_DECL_KEYCTL_NEGATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_NEGATE) == (13), "KEYCTL_NEGATE != 13");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_NEGATE 13
#endif
#if defined(KEYCTL_SET_REQKEY_KEYRING) || (defined(HAVE_DECL_KEYCTL_SET_REQKEY_KEYRING) && HAVE_DECL_KEYCTL_SET_REQKEY_KEYRING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_SET_REQKEY_KEYRING) == (14), "KEYCTL_SET_REQKEY_KEYRING != 14");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_SET_REQKEY_KEYRING 14
#endif
#if defined(KEYCTL_SET_TIMEOUT) || (defined(HAVE_DECL_KEYCTL_SET_TIMEOUT) && HAVE_DECL_KEYCTL_SET_TIMEOUT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_SET_TIMEOUT) == (15), "KEYCTL_SET_TIMEOUT != 15");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_SET_TIMEOUT 15
#endif
#if defined(KEYCTL_ASSUME_AUTHORITY) || (defined(HAVE_DECL_KEYCTL_ASSUME_AUTHORITY) && HAVE_DECL_KEYCTL_ASSUME_AUTHORITY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_ASSUME_AUTHORITY) == (16), "KEYCTL_ASSUME_AUTHORITY != 16");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_ASSUME_AUTHORITY 16
#endif
#if defined(KEYCTL_GET_SECURITY) || (defined(HAVE_DECL_KEYCTL_GET_SECURITY) && HAVE_DECL_KEYCTL_GET_SECURITY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_GET_SECURITY) == (17), "KEYCTL_GET_SECURITY != 17");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_GET_SECURITY 17
#endif
#if defined(KEYCTL_SESSION_TO_PARENT) || (defined(HAVE_DECL_KEYCTL_SESSION_TO_PARENT) && HAVE_DECL_KEYCTL_SESSION_TO_PARENT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_SESSION_TO_PARENT) == (18), "KEYCTL_SESSION_TO_PARENT != 18");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_SESSION_TO_PARENT 18
#endif
#if defined(KEYCTL_REJECT) || (defined(HAVE_DECL_KEYCTL_REJECT) && HAVE_DECL_KEYCTL_REJECT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_REJECT) == (19), "KEYCTL_REJECT != 19");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_REJECT 19
#endif
#if defined(KEYCTL_INSTANTIATE_IOV) || (defined(HAVE_DECL_KEYCTL_INSTANTIATE_IOV) && HAVE_DECL_KEYCTL_INSTANTIATE_IOV)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_INSTANTIATE_IOV) == (20), "KEYCTL_INSTANTIATE_IOV != 20");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_INSTANTIATE_IOV 20
#endif
#if defined(KEYCTL_INVALIDATE) || (defined(HAVE_DECL_KEYCTL_INVALIDATE) && HAVE_DECL_KEYCTL_INVALIDATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_INVALIDATE) == (21), "KEYCTL_INVALIDATE != 21");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_INVALIDATE 21
#endif
#if defined(KEYCTL_GET_PERSISTENT) || (defined(HAVE_DECL_KEYCTL_GET_PERSISTENT) && HAVE_DECL_KEYCTL_GET_PERSISTENT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_GET_PERSISTENT) == (22), "KEYCTL_GET_PERSISTENT != 22");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_GET_PERSISTENT 22
#endif
#if defined(KEYCTL_DH_COMPUTE) || (defined(HAVE_DECL_KEYCTL_DH_COMPUTE) && HAVE_DECL_KEYCTL_DH_COMPUTE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_DH_COMPUTE) == (23), "KEYCTL_DH_COMPUTE != 23");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_DH_COMPUTE 23
#endif
#if defined(KEYCTL_RESTRICT_KEYRING) || (defined(HAVE_DECL_KEYCTL_RESTRICT_KEYRING) && HAVE_DECL_KEYCTL_RESTRICT_KEYRING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KEYCTL_RESTRICT_KEYRING) == (29), "KEYCTL_RESTRICT_KEYRING != 29");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KEYCTL_RESTRICT_KEYRING 29
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat keyctl_commands in mpers mode

# else

static
const struct xlat keyctl_commands[] = {
 XLAT(KEYCTL_GET_KEYRING_ID),
 XLAT(KEYCTL_JOIN_SESSION_KEYRING),
 XLAT(KEYCTL_UPDATE),
 XLAT(KEYCTL_REVOKE),
 XLAT(KEYCTL_CHOWN),
 XLAT(KEYCTL_SETPERM),
 XLAT(KEYCTL_DESCRIBE),
 XLAT(KEYCTL_CLEAR),
 XLAT(KEYCTL_LINK),
 XLAT(KEYCTL_UNLINK),
 XLAT(KEYCTL_SEARCH),
 XLAT(KEYCTL_READ),
 XLAT(KEYCTL_INSTANTIATE),
 XLAT(KEYCTL_NEGATE),
 XLAT(KEYCTL_SET_REQKEY_KEYRING),
 XLAT(KEYCTL_SET_TIMEOUT),
 XLAT(KEYCTL_ASSUME_AUTHORITY),
 XLAT(KEYCTL_GET_SECURITY),
 XLAT(KEYCTL_SESSION_TO_PARENT),
 XLAT(KEYCTL_REJECT),
 XLAT(KEYCTL_INSTANTIATE_IOV),
 XLAT(KEYCTL_INVALIDATE),
 XLAT(KEYCTL_GET_PERSISTENT),
 XLAT(KEYCTL_DH_COMPUTE),
 XLAT(KEYCTL_RESTRICT_KEYRING),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
