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_MROUTE6_H 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _UAPI__LINUX_MROUTE6_H 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h> 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/sockios.h> 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_BASE 200 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_INIT (MRT6_BASE) 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_DONE (MRT6_BASE+1) 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_ADD_MIF (MRT6_BASE+2) 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_DEL_MIF (MRT6_BASE+3) 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_ADD_MFC (MRT6_BASE+4) 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_DEL_MFC (MRT6_BASE+5) 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_VERSION (MRT6_BASE+6) 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_ASSERT (MRT6_BASE+7) 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_PIM (MRT6_BASE+8) 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_TABLE (MRT6_BASE+9) 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_ADD_MFC_PROXY (MRT6_BASE+10) 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_DEL_MFC_PROXY (MRT6_BASE+11) 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6_MAX (MRT6_BASE+11) 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGETMIFCNT_IN6 SIOCPROTOPRIVATE 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGETSGCNT_IN6 (SIOCPROTOPRIVATE+1) 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGETRPF (SIOCPROTOPRIVATE+2) 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MAXMIFS 32 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef unsigned long mifbitmap_t; 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef unsigned short mifi_t; 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ALL_MIFS ((mifi_t)(-1)) 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef IF_SETSIZE 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IF_SETSIZE 256 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef __u32 if_mask; 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NIFBITS (sizeof(if_mask) * 8) 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef DIV_ROUND_UP 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DIV_ROUND_UP(x,y) (((x) + ((y) - 1)) / (y)) 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct if_set { 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert if_mask ifs_bits[DIV_ROUND_UP(IF_SETSIZE, NIFBITS)]; 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} if_set; 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IF_SET(n, p) ((p)->ifs_bits[(n)/NIFBITS] |= (1 << ((n) % NIFBITS))) 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IF_CLR(n, p) ((p)->ifs_bits[(n)/NIFBITS] &= ~(1 << ((n) % NIFBITS))) 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IF_ISSET(n, p) ((p)->ifs_bits[(n)/NIFBITS] & (1 << ((n) % NIFBITS))) 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IF_COPY(f, t) bcopy(f, t, sizeof(*(f))) 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IF_ZERO(p) bzero(p, sizeof(*(p))) 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mif6ctl { 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert mifi_t mif6c_mifi; 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char mif6c_flags; 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char vifc_threshold; 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 mif6c_pifi; 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int vifc_rate_limit; 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MIFF_REGISTER 0x1 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mf6cctl { 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr_in6 mf6cc_origin; 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr_in6 mf6cc_mcastgrp; 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert mifi_t mf6cc_parent; 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct if_set mf6cc_ifset; 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct sioc_sg_req6 { 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr_in6 src; 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr_in6 grp; 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long pktcnt; 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long bytecnt; 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long wrong_if; 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct sioc_mif_req6 { 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert mifi_t mifi; 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long icount; 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long ocount; 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long ibytes; 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long obytes; 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mrt6msg { 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6MSG_NOCACHE 1 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6MSG_WRONGMIF 2 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MRT6MSG_WHOLEPKT 3 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 im6_mbz; 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 im6_msgtype; 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 im6_mif; 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 im6_pad; 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct in6_addr im6_src, im6_dst; 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119