1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Commonly used macro definitions to make the code build in different 6 // target environments (e.g. as part of Chrome vs. stand-alone) 7 8 #ifndef SANDBOX_LINUX_SECCOMP_BPF_PORT_H__ 9 #define SANDBOX_LINUX_SECCOMP_BPF_PORT_H__ 10 11 #if !defined(SECCOMP_BPF_STANDALONE) 12 #include "base/basictypes.h" 13 #include "base/logging.h" 14 #include "base/posix/eintr_wrapper.h" 15 #else 16 #define arraysize(x) (sizeof(x)/sizeof(*(x))) 17 18 #define HANDLE_EINTR TEMP_FAILURE_RETRY 19 20 #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ 21 TypeName(const TypeName&); \ 22 void operator=(const TypeName&) 23 24 #define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ 25 TypeName(); \ 26 DISALLOW_COPY_AND_ASSIGN(TypeName) 27 28 template <bool> 29 struct CompileAssert { 30 }; 31 32 #define COMPILE_ASSERT(expr, msg) \ 33 typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] 34 #endif 35 36 #endif // SANDBOX_LINUX_SECCOMP_BPF_PORT_H__ 37