| /* arch.h |
| * Copyright 2014 The Chromium OS Authors. All rights reserved. |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| * |
| * ARCH_NR #define's. |
| */ |
| |
| #ifndef ARCH_H |
| #define ARCH_H |
| |
| #include <linux/audit.h> |
| |
| #if defined(__i386__) |
| # define ARCH_NR AUDIT_ARCH_I386 |
| #elif defined(__x86_64__) |
| # define ARCH_NR AUDIT_ARCH_X86_64 |
| #elif defined(__arm__) |
| /* |
| * <linux/audit.h> includes <linux/elf-em.h>, which does not define EM_ARM. |
| * <linux/elf.h> only includes <asm/elf.h> if we're in the kernel. |
| */ |
| # ifndef EM_ARM |
| # define EM_ARM 40 |
| # endif |
| # define ARCH_NR AUDIT_ARCH_ARM |
| #elif defined(__aarch64__) |
| # define ARCH_NR AUDIT_ARCH_AARCH64 |
| #elif defined(__hppa__) |
| # define ARCH_NR AUDIT_ARCH_PARISC |
| #elif defined(__ia64__) |
| # define ARCH_NR AUDIT_ARCH_IA64 |
| #elif defined(__mips__) |
| # if defined(__mips64) |
| # if defined(__MIPSEB__) |
| # define ARCH_NR AUDIT_ARCH_MIPS64 |
| # else |
| # define ARCH_NR AUDIT_ARCH_MIPSEL64 |
| # endif |
| # else |
| # if defined(__MIPSEB__) |
| # define ARCH_NR AUDIT_ARCH_MIPS |
| # else |
| # define ARCH_NR AUDIT_ARCH_MIPSEL |
| # endif |
| # endif |
| #elif defined(__powerpc64__) |
| # define ARCH_NR AUDIT_ARCH_PPC64 |
| #elif defined(__powerpc__) |
| # define ARCH_NR AUDIT_ARCH_PPC |
| #elif defined(__s390x__) |
| # define ARCH_NR AUDIT_ARCH_S390X |
| #elif defined(__s390__) |
| # define ARCH_NR AUDIT_ARCH_S390 |
| #elif defined(__sparc__) |
| # if defined(__arch64__) |
| # define AUDIT_ARCH_SPARC64 |
| # else |
| # define AUDIT_ARCH_SPARC |
| # endif |
| #else |
| # error "AUDIT_ARCH value unavailable" |
| #endif |
| |
| #endif /* ARCH_H */ |