blob: 90bd60ee6398e73c1d8db37b4cb0674fc2868262 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
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 */
Christopher Ferrisaf09c702020-06-01 20:29:29 -07007#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>
12struct 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)
Christopher Ferris05667cd2021-02-16 16:01:34 -080020 __u32 cmpri : 4, cmpre : 4, pad : 4, reserved : 20;
Christopher Ferrisaf09c702020-06-01 20:29:29 -070021#else
22#error "Please fix <asm/byteorder.h>"
23#endif
24 union {
Christopher Ferrisb7cef6d2023-05-09 19:04:15 +000025 __DECLARE_FLEX_ARRAY(struct in6_addr, addr);
26 __DECLARE_FLEX_ARRAY(__u8, data);
Christopher Ferrisaf09c702020-06-01 20:29:29 -070027 } segments;
28} __attribute__((packed));
29#define rpl_segaddr segments.addr
30#define rpl_segdata segments.data
31#endif