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__LINUX_MROUTE_H 20 #define _UAPI__LINUX_MROUTE_H 21 #include <linux/sockios.h> 22 #include <linux/types.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #define MRT_BASE 200 25 #define MRT_INIT (MRT_BASE) 26 #define MRT_DONE (MRT_BASE + 1) 27 #define MRT_ADD_VIF (MRT_BASE + 2) 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define MRT_DEL_VIF (MRT_BASE + 3) 30 #define MRT_ADD_MFC (MRT_BASE + 4) 31 #define MRT_DEL_MFC (MRT_BASE + 5) 32 #define MRT_VERSION (MRT_BASE + 6) 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 #define MRT_ASSERT (MRT_BASE + 7) 35 #define MRT_PIM (MRT_BASE + 8) 36 #define MRT_TABLE (MRT_BASE + 9) 37 #define MRT_ADD_MFC_PROXY (MRT_BASE + 10) 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 #define MRT_DEL_MFC_PROXY (MRT_BASE + 11) 40 #define MRT_MAX (MRT_BASE + 11) 41 #define SIOCGETVIFCNT SIOCPROTOPRIVATE 42 #define SIOCGETSGCNT (SIOCPROTOPRIVATE + 1) 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 #define SIOCGETRPF (SIOCPROTOPRIVATE + 2) 45 #define MAXVIFS 32 46 typedef unsigned long vifbitmap_t; 47 typedef unsigned short vifi_t; 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 #define ALL_VIFS ((vifi_t) (- 1)) 50 #define VIFM_SET(n,m) ((m) |= (1 << (n))) 51 #define VIFM_CLR(n,m) ((m) &= ~(1 << (n))) 52 #define VIFM_ISSET(n,m) ((m) & (1 << (n))) 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 #define VIFM_CLRALL(m) ((m) = 0) 55 #define VIFM_COPY(mfrom,mto) ((mto) = (mfrom)) 56 #define VIFM_SAME(m1,m2) ((m1) == (m2)) 57 struct vifctl { 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 vifi_t vifc_vifi; 60 unsigned char vifc_flags; 61 unsigned char vifc_threshold; 62 unsigned int vifc_rate_limit; 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 union { 65 struct in_addr vifc_lcl_addr; 66 int vifc_lcl_ifindex; 67 }; 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 struct in_addr vifc_rmt_addr; 70 }; 71 #define VIFF_TUNNEL 0x1 72 #define VIFF_SRCRT 0x2 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 #define VIFF_REGISTER 0x4 75 #define VIFF_USE_IFINDEX 0x8 76 struct mfcctl { 77 struct in_addr mfcc_origin; 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 struct in_addr mfcc_mcastgrp; 80 vifi_t mfcc_parent; 81 unsigned char mfcc_ttls[MAXVIFS]; 82 unsigned int mfcc_pkt_cnt; 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 unsigned int mfcc_byte_cnt; 85 unsigned int mfcc_wrong_if; 86 int mfcc_expire; 87 }; 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 struct sioc_sg_req { 90 struct in_addr src; 91 struct in_addr grp; 92 unsigned long pktcnt; 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 unsigned long bytecnt; 95 unsigned long wrong_if; 96 }; 97 struct sioc_vif_req { 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 vifi_t vifi; 100 unsigned long icount; 101 unsigned long ocount; 102 unsigned long ibytes; 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 unsigned long obytes; 105 }; 106 struct igmpmsg { 107 __u32 unused1, unused2; 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 unsigned char im_msgtype; 110 unsigned char im_mbz; 111 unsigned char im_vif; 112 unsigned char unused3; 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 struct in_addr im_src, im_dst; 115 }; 116 #define MFC_ASSERT_THRESH (3 * HZ) 117 #define IGMPMSG_NOCACHE 1 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 #define IGMPMSG_WRONGVIF 2 120 #define IGMPMSG_WHOLEPKT 3 121 #endif 122