1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef _UAPI_LINUX_RPL_H 8 #define _UAPI_LINUX_RPL_H 9 #include <asm/byteorder.h> 10 #include <linux/types.h> 11 #include <linux/in6.h> 12 struct ipv6_rpl_sr_hdr { 13 __u8 nexthdr; 14 __u8 hdrlen; 15 __u8 type; 16 __u8 segments_left; 17 #ifdef __LITTLE_ENDIAN_BITFIELD 18 __u32 cmpre : 4, cmpri : 4, reserved : 4, pad : 4, reserved1 : 16; 19 #elif defined(__BIG_ENDIAN_BITFIELD) 20 __u32 cmpri : 4, cmpre : 4, pad : 4, reserved : 20; 21 #else 22 #error "Please fix <asm/byteorder.h>" 23 #endif 24 union { 25 __DECLARE_FLEX_ARRAY(struct in6_addr, addr); 26 __DECLARE_FLEX_ARRAY(__u8, data); 27 } segments; 28 } __attribute__((packed)); 29 #define rpl_segaddr segments.addr 30 #define rpl_segdata segments.data 31 #endif 32