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 46typedef unsigned long vifbitmap_t; 47typedef 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)) 57struct 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 76struct 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 */ 89struct 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}; 97struct 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}; 106struct 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