Chromium Code Reviews| Index: sandbox/linux/system_headers/linux_filter.h |
| diff --git a/sandbox/linux/system_headers/linux_filter.h b/sandbox/linux/system_headers/linux_filter.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..748846cfb9b053b21827131c0593064eea6d2dd2 |
| --- /dev/null |
| +++ b/sandbox/linux/system_headers/linux_filter.h |
| @@ -0,0 +1,60 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_FILTER_H_ |
| +#define SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_FILTER_H_ |
| + |
| +#include <stdint.h> |
| + |
| +// The following structs and macros are taken from linux/filter.h, |
| +// as some toolchain does not expose them. |
| +struct sock_filter { |
| + uint16_t code; |
| + uint8_t jt; |
| + uint8_t jf; |
| + uint32_t k; |
| +}; |
| + |
| +struct sock_fprog { |
| + uint16_t len; |
| + struct sock_filter *filter; |
| +}; |
| + |
| +#define BPF_CLASS(code) ((code) & 0x07) |
|
jln (very slow on Chromium)
2015/04/01 21:54:53
Could you add #ifndef guards?
It's what has been
hidehiko
2015/04/02 09:04:42
Done.
|
| +#define BPF_LD 0x00 |
| +#define BPF_ALU 0x04 |
| +#define BPF_JMP 0x05 |
| +#define BPF_RET 0x06 |
| + |
| +#define BPF_SIZE(code) ((code) & 0x18) |
| +#define BPF_W 0x00 |
| + |
| +#define BPF_MODE(code) ((code) & 0xe0) |
| +#define BPF_ABS 0x20 |
| + |
| +#define BPF_OP(code) ((code) & 0xf0) |
| +#define BPF_ADD 0x00 |
| +#define BPF_SUB 0x10 |
| +#define BPF_MUL 0x20 |
| +#define BPF_DIV 0x30 |
| +#define BPF_OR 0x40 |
| +#define BPF_AND 0x50 |
| +#define BPF_LSH 0x60 |
| +#define BPF_RSH 0x70 |
| +#define BPF_NEG 0x80 |
| +#define BPF_MOD 0x90 |
| +#define BPF_XOR 0xA0 |
| + |
| +#define BPF_JA 0x00 |
| +#define BPF_JEQ 0x10 |
| +#define BPF_JGT 0x20 |
| +#define BPF_JGE 0x30 |
| +#define BPF_JSET 0x40 |
| + |
| +#define BPF_SRC(code) ((code) & 0x08) |
| +#define BPF_K 0x00 |
| + |
| +#define BPF_MAXINSNS 4096 |
| + |
| +#endif |
|
jln (very slow on Chromium)
2015/04/01 21:54:53
Don't forget the // SANDBOX_LINUX_SYSTEM_HEADERS_L
hidehiko
2015/04/02 09:04:42
Done.
|