1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI__IF_TUN_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI__IF_TUN_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/if_ether.h> 11*8d67ca89SAndroid Build Coastguard Worker #include <linux/filter.h> 12*8d67ca89SAndroid Build Coastguard Worker #define TUN_READQ_SIZE 500 13*8d67ca89SAndroid Build Coastguard Worker #define TUN_TUN_DEV IFF_TUN 14*8d67ca89SAndroid Build Coastguard Worker #define TUN_TAP_DEV IFF_TAP 15*8d67ca89SAndroid Build Coastguard Worker #define TUN_TYPE_MASK 0x000f 16*8d67ca89SAndroid Build Coastguard Worker #define TUNSETNOCSUM _IOW('T', 200, int) 17*8d67ca89SAndroid Build Coastguard Worker #define TUNSETDEBUG _IOW('T', 201, int) 18*8d67ca89SAndroid Build Coastguard Worker #define TUNSETIFF _IOW('T', 202, int) 19*8d67ca89SAndroid Build Coastguard Worker #define TUNSETPERSIST _IOW('T', 203, int) 20*8d67ca89SAndroid Build Coastguard Worker #define TUNSETOWNER _IOW('T', 204, int) 21*8d67ca89SAndroid Build Coastguard Worker #define TUNSETLINK _IOW('T', 205, int) 22*8d67ca89SAndroid Build Coastguard Worker #define TUNSETGROUP _IOW('T', 206, int) 23*8d67ca89SAndroid Build Coastguard Worker #define TUNGETFEATURES _IOR('T', 207, unsigned int) 24*8d67ca89SAndroid Build Coastguard Worker #define TUNSETOFFLOAD _IOW('T', 208, unsigned int) 25*8d67ca89SAndroid Build Coastguard Worker #define TUNSETTXFILTER _IOW('T', 209, unsigned int) 26*8d67ca89SAndroid Build Coastguard Worker #define TUNGETIFF _IOR('T', 210, unsigned int) 27*8d67ca89SAndroid Build Coastguard Worker #define TUNGETSNDBUF _IOR('T', 211, int) 28*8d67ca89SAndroid Build Coastguard Worker #define TUNSETSNDBUF _IOW('T', 212, int) 29*8d67ca89SAndroid Build Coastguard Worker #define TUNATTACHFILTER _IOW('T', 213, struct sock_fprog) 30*8d67ca89SAndroid Build Coastguard Worker #define TUNDETACHFILTER _IOW('T', 214, struct sock_fprog) 31*8d67ca89SAndroid Build Coastguard Worker #define TUNGETVNETHDRSZ _IOR('T', 215, int) 32*8d67ca89SAndroid Build Coastguard Worker #define TUNSETVNETHDRSZ _IOW('T', 216, int) 33*8d67ca89SAndroid Build Coastguard Worker #define TUNSETQUEUE _IOW('T', 217, int) 34*8d67ca89SAndroid Build Coastguard Worker #define TUNSETIFINDEX _IOW('T', 218, unsigned int) 35*8d67ca89SAndroid Build Coastguard Worker #define TUNGETFILTER _IOR('T', 219, struct sock_fprog) 36*8d67ca89SAndroid Build Coastguard Worker #define TUNSETVNETLE _IOW('T', 220, int) 37*8d67ca89SAndroid Build Coastguard Worker #define TUNGETVNETLE _IOR('T', 221, int) 38*8d67ca89SAndroid Build Coastguard Worker #define TUNSETVNETBE _IOW('T', 222, int) 39*8d67ca89SAndroid Build Coastguard Worker #define TUNGETVNETBE _IOR('T', 223, int) 40*8d67ca89SAndroid Build Coastguard Worker #define TUNSETSTEERINGEBPF _IOR('T', 224, int) 41*8d67ca89SAndroid Build Coastguard Worker #define TUNSETFILTEREBPF _IOR('T', 225, int) 42*8d67ca89SAndroid Build Coastguard Worker #define TUNSETCARRIER _IOW('T', 226, int) 43*8d67ca89SAndroid Build Coastguard Worker #define TUNGETDEVNETNS _IO('T', 227) 44*8d67ca89SAndroid Build Coastguard Worker #define IFF_TUN 0x0001 45*8d67ca89SAndroid Build Coastguard Worker #define IFF_TAP 0x0002 46*8d67ca89SAndroid Build Coastguard Worker #define IFF_NAPI 0x0010 47*8d67ca89SAndroid Build Coastguard Worker #define IFF_NAPI_FRAGS 0x0020 48*8d67ca89SAndroid Build Coastguard Worker #define IFF_NO_CARRIER 0x0040 49*8d67ca89SAndroid Build Coastguard Worker #define IFF_NO_PI 0x1000 50*8d67ca89SAndroid Build Coastguard Worker #define IFF_ONE_QUEUE 0x2000 51*8d67ca89SAndroid Build Coastguard Worker #define IFF_VNET_HDR 0x4000 52*8d67ca89SAndroid Build Coastguard Worker #define IFF_TUN_EXCL 0x8000 53*8d67ca89SAndroid Build Coastguard Worker #define IFF_MULTI_QUEUE 0x0100 54*8d67ca89SAndroid Build Coastguard Worker #define IFF_ATTACH_QUEUE 0x0200 55*8d67ca89SAndroid Build Coastguard Worker #define IFF_DETACH_QUEUE 0x0400 56*8d67ca89SAndroid Build Coastguard Worker #define IFF_PERSIST 0x0800 57*8d67ca89SAndroid Build Coastguard Worker #define IFF_NOFILTER 0x1000 58*8d67ca89SAndroid Build Coastguard Worker #define TUN_TX_TIMESTAMP 1 59*8d67ca89SAndroid Build Coastguard Worker #define TUN_F_CSUM 0x01 60*8d67ca89SAndroid Build Coastguard Worker #define TUN_F_TSO4 0x02 61*8d67ca89SAndroid Build Coastguard Worker #define TUN_F_TSO6 0x04 62*8d67ca89SAndroid Build Coastguard Worker #define TUN_F_TSO_ECN 0x08 63*8d67ca89SAndroid Build Coastguard Worker #define TUN_F_UFO 0x10 64*8d67ca89SAndroid Build Coastguard Worker #define TUN_F_USO4 0x20 65*8d67ca89SAndroid Build Coastguard Worker #define TUN_F_USO6 0x40 66*8d67ca89SAndroid Build Coastguard Worker #define TUN_PKT_STRIP 0x0001 67*8d67ca89SAndroid Build Coastguard Worker struct tun_pi { 68*8d67ca89SAndroid Build Coastguard Worker __u16 flags; 69*8d67ca89SAndroid Build Coastguard Worker __be16 proto; 70*8d67ca89SAndroid Build Coastguard Worker }; 71*8d67ca89SAndroid Build Coastguard Worker #define TUN_FLT_ALLMULTI 0x0001 72*8d67ca89SAndroid Build Coastguard Worker struct tun_filter { 73*8d67ca89SAndroid Build Coastguard Worker __u16 flags; 74*8d67ca89SAndroid Build Coastguard Worker __u16 count; 75*8d67ca89SAndroid Build Coastguard Worker __u8 addr[][ETH_ALEN]; 76*8d67ca89SAndroid Build Coastguard Worker }; 77*8d67ca89SAndroid Build Coastguard Worker #endif 78