111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/**************************************************************************** 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** This header was automatically generated from a Linux kernel header 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** of the same name, to make information necessary for userspace to 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** call into the kernel available to libc. It contains only constants, 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** structures, and macros generated from the original header, and thus, 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** contains no copyrightable information. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** To edit the content of this header, modify the corresponding 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** source file (e.g. under external/kernel-headers/original/) then 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** run bionic/libc/kernel/tools/update_all.py 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** Any manual change here will be lost the next time this script will 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** be run. You've been warned! 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/ 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _UAPI__LINUX_FILTER_H__ 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _UAPI__LINUX_FILTER_H__ 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/compiler.h> 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h> 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MAJOR_VERSION 1 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MINOR_VERSION 1 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct sock_filter { 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 code; 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 jt; 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 jf; 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 k; 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct sock_fprog { 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short len; 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sock_filter __user *filter; 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_CLASS(code) ((code) & 0x07) 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_LD 0x00 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_LDX 0x01 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_ST 0x02 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_STX 0x03 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_ALU 0x04 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_JMP 0x05 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_RET 0x06 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MISC 0x07 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_SIZE(code) ((code) & 0x18) 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_W 0x00 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_H 0x08 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_B 0x10 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MODE(code) ((code) & 0xe0) 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_IMM 0x00 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_ABS 0x20 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_IND 0x40 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MEM 0x60 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_LEN 0x80 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MSH 0xa0 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_OP(code) ((code) & 0xf0) 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_ADD 0x00 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_SUB 0x10 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MUL 0x20 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_DIV 0x30 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_OR 0x40 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_AND 0x50 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_LSH 0x60 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_RSH 0x70 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_NEG 0x80 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MOD 0x90 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_XOR 0xa0 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_JA 0x00 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_JEQ 0x10 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_JGT 0x20 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_JGE 0x30 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_JSET 0x40 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_SRC(code) ((code) & 0x08) 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_K 0x00 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_X 0x08 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_RVAL(code) ((code) & 0x18) 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_A 0x10 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MISCOP(code) ((code) & 0xf8) 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_TAX 0x00 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_TXA 0x80 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef BPF_MAXINSNS 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MAXINSNS 4096 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef BPF_STMT 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_STMT(code, k) { (unsigned short)(code), 0, 0, k } 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef BPF_JUMP 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_JUMP(code, k, jt, jf) { (unsigned short)(code), jt, jf, k } 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BPF_MEMWORDS 16 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_OFF (-0x1000) 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_PROTOCOL 0 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_PKTTYPE 4 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_IFINDEX 8 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_NLATTR 12 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_NLATTR_NEST 16 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_MARK 20 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_QUEUE 24 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_HATYPE 28 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_RXHASH 32 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_CPU 36 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_ALU_XOR_X 40 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_VLAN_TAG 44 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_VLAN_TAG_PRESENT 48 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_PAY_OFFSET 52 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_AD_MAX 56 12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_NET_OFF (-0x100000) 12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SKF_LL_OFF (-0x200000) 13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 131