18b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes/* arch.h 28b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes * Copyright 2014 The Chromium OS Authors. All rights reserved. 38b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes * Use of this source code is governed by a BSD-style license that can be 48b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes * found in the LICENSE file. 58b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes * 68b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes * ARCH_NR #define's. 78b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes */ 88b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes 98b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#ifndef ARCH_H 108b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#define ARCH_H 118b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes 128b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#include <linux/audit.h> 138b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes 148b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#if defined(__i386__) 158b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_I386 168b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#elif defined(__x86_64__) 178b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_X86_64 188b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#elif defined(__arm__) 198b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes/* 208b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes * <linux/audit.h> includes <linux/elf-em.h>, which does not define EM_ARM. 218b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes * <linux/elf.h> only includes <asm/elf.h> if we're in the kernel. 228b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes */ 238b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# ifndef EM_ARM 248b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define EM_ARM 40 258b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# endif 268b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_ARM 27a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes#elif defined(__aarch64__) 28a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_AARCH64 298b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#elif defined(__hppa__) 308b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_PARISC 318b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#elif defined(__ia64__) 328b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_IA64 338b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#elif defined(__mips__) 348b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# if defined(__mips64) 358b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# if defined(__MIPSEB__) 368b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_MIPS64 378b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# else 388b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_MIPSEL64 398b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# endif 408b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# else 418b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# if defined(__MIPSEB__) 428b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_MIPS 438b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# else 448b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_MIPSEL 458b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# endif 468b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# endif 478b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#elif defined(__powerpc64__) 488b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_PPC64 498b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#elif defined(__powerpc__) 508b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_PPC 518b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#elif defined(__s390x__) 528b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_S390X 538b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#elif defined(__s390__) 548b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define ARCH_NR AUDIT_ARCH_S390 558b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#elif defined(__sparc__) 568b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# if defined(__arch64__) 578b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define AUDIT_ARCH_SPARC64 588b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# else 598b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# define AUDIT_ARCH_SPARC 608b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# endif 618b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#else 628b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes# error "AUDIT_ARCH value unavailable" 638b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#endif 648b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes 658b488a5b1f0b5eab62516b50e638c1484409bb87Jorge Lucangeli Obes#endif /* ARCH_H */ 66