1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _UAPI_ERSPAN_H 20 #define _UAPI_ERSPAN_H 21 #include <linux/types.h> 22 #include <asm/byteorder.h> 23 struct erspan_md2 { 24 __be32 timestamp; 25 __be16 sgt; 26 #ifdef __LITTLE_ENDIAN_BITFIELD 27 __u8 hwid_upper : 2, ft : 5, p : 1; 28 __u8 o : 1, gra : 2, dir : 1, hwid : 4; 29 #elif defined(__BIG_ENDIAN_BITFIELD) 30 __u8 p : 1, ft : 5, hwid_upper : 2; 31 __u8 hwid : 4, dir : 1, gra : 2, o : 1; 32 #else 33 #error "Please fix <asm/byteorder.h>" 34 #endif 35 }; 36 struct erspan_metadata { 37 int version; 38 union { 39 __be32 index; 40 struct erspan_md2 md2; 41 } u; 42 }; 43 #endif 44