/* Generated by ./xlat/gen.sh from ./xlat/key_spec.in; do not edit. */
#if !(defined(KEY_SPEC_THREAD_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_THREAD_KEYRING) && HAVE_DECL_KEY_SPEC_THREAD_KEYRING))
# define KEY_SPEC_THREAD_KEYRING -1
#endif
#if !(defined(KEY_SPEC_PROCESS_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_PROCESS_KEYRING) && HAVE_DECL_KEY_SPEC_PROCESS_KEYRING))
# define KEY_SPEC_PROCESS_KEYRING -2
#endif
#if !(defined(KEY_SPEC_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_SESSION_KEYRING) && HAVE_DECL_KEY_SPEC_SESSION_KEYRING))
# define KEY_SPEC_SESSION_KEYRING -3
#endif
#if !(defined(KEY_SPEC_USER_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_USER_KEYRING) && HAVE_DECL_KEY_SPEC_USER_KEYRING))
# define KEY_SPEC_USER_KEYRING -4
#endif
#if !(defined(KEY_SPEC_USER_SESSION_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_USER_SESSION_KEYRING) && HAVE_DECL_KEY_SPEC_USER_SESSION_KEYRING))
# define KEY_SPEC_USER_SESSION_KEYRING -5
#endif
#if !(defined(KEY_SPEC_GROUP_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_GROUP_KEYRING) && HAVE_DECL_KEY_SPEC_GROUP_KEYRING))
# define KEY_SPEC_GROUP_KEYRING -6
#endif
#if !(defined(KEY_SPEC_REQKEY_AUTH_KEY) || (defined(HAVE_DECL_KEY_SPEC_REQKEY_AUTH_KEY) && HAVE_DECL_KEY_SPEC_REQKEY_AUTH_KEY))
# define KEY_SPEC_REQKEY_AUTH_KEY -7
#endif
#if !(defined(KEY_SPEC_REQUESTOR_KEYRING) || (defined(HAVE_DECL_KEY_SPEC_REQUESTOR_KEYRING) && HAVE_DECL_KEY_SPEC_REQUESTOR_KEYRING))
# define KEY_SPEC_REQUESTOR_KEYRING -8
#endif

#ifdef IN_MPERS

# error static const struct xlat key_spec in mpers mode

#else

static
const struct xlat key_spec[] = {
 XLAT(KEY_SPEC_THREAD_KEYRING),
 XLAT(KEY_SPEC_PROCESS_KEYRING),
 XLAT(KEY_SPEC_SESSION_KEYRING),
 XLAT(KEY_SPEC_USER_KEYRING),
 XLAT(KEY_SPEC_USER_SESSION_KEYRING),
 XLAT(KEY_SPEC_GROUP_KEYRING),
 XLAT(KEY_SPEC_REQKEY_AUTH_KEY),
 XLAT(KEY_SPEC_REQUESTOR_KEYRING),
 XLAT_END
};

#endif /* !IN_MPERS */
