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 _RMNET_DATA_H_
20#define _RMNET_DATA_H_
21#define RMNET_LOCAL_LOGICAL_ENDPOINT - 1
22#define RMNET_EGRESS_FORMAT__RESERVED__ (1 << 0)
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define RMNET_EGRESS_FORMAT_MAP (1 << 1)
25#define RMNET_EGRESS_FORMAT_AGGREGATION (1 << 2)
26#define RMNET_EGRESS_FORMAT_MUXING (1 << 3)
27#define RMNET_EGRESS_FORMAT_MAP_CKSUMV3 (1 << 4)
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define RMNET_EGRESS_FORMAT_MAP_CKSUMV4 (1 << 5)
30#define RMNET_INGRESS_FIX_ETHERNET (1 << 0)
31#define RMNET_INGRESS_FORMAT_MAP (1 << 1)
32#define RMNET_INGRESS_FORMAT_DEAGGREGATION (1 << 2)
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define RMNET_INGRESS_FORMAT_DEMUXING (1 << 3)
35#define RMNET_INGRESS_FORMAT_MAP_COMMANDS (1 << 4)
36#define RMNET_INGRESS_FORMAT_MAP_CKSUMV3 (1 << 5)
37#define RMNET_INGRESS_FORMAT_MAP_CKSUMV4 (1 << 6)
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define RMNET_NETLINK_PROTO 31
40#define RMNET_MAX_STR_LEN 16
41#define RMNET_NL_DATA_MAX_LEN 64
42#define RMNET_NETLINK_MSG_COMMAND 0
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define RMNET_NETLINK_MSG_RETURNCODE 1
45#define RMNET_NETLINK_MSG_RETURNDATA 2
46struct rmnet_nl_msg_s {
47  uint16_t reserved;
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  uint16_t message_type;
50  uint16_t reserved2 : 14;
51  uint16_t crd : 2;
52  union {
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54    uint16_t arg_length;
55    uint16_t return_code;
56  };
57  union {
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59    uint8_t data[RMNET_NL_DATA_MAX_LEN];
60    struct {
61      uint8_t dev[RMNET_MAX_STR_LEN];
62      uint32_t flags;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64      uint16_t agg_size;
65      uint16_t agg_count;
66      uint8_t tail_spacing;
67    } data_format;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69    struct {
70      uint8_t dev[RMNET_MAX_STR_LEN];
71      int32_t ep_id;
72      uint8_t operating_mode;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74      uint8_t next_dev[RMNET_MAX_STR_LEN];
75    } local_ep_config;
76    struct {
77      uint32_t id;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79      uint8_t vnd_name[RMNET_MAX_STR_LEN];
80    } vnd;
81    struct {
82      uint32_t id;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84      uint32_t map_flow_id;
85      uint32_t tc_flow_id;
86    } flow_control;
87  };
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89};
90enum rmnet_netlink_message_types_e {
91  RMNET_NETLINK_ASSOCIATE_NETWORK_DEVICE,
92  RMNET_NETLINK_UNASSOCIATE_NETWORK_DEVICE,
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  RMNET_NETLINK_GET_NETWORK_DEVICE_ASSOCIATED,
95  RMNET_NETLINK_SET_LINK_EGRESS_DATA_FORMAT,
96  RMNET_NETLINK_GET_LINK_EGRESS_DATA_FORMAT,
97  RMNET_NETLINK_SET_LINK_INGRESS_DATA_FORMAT,
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  RMNET_NETLINK_GET_LINK_INGRESS_DATA_FORMAT,
100  RMNET_NETLINK_SET_LOGICAL_EP_CONFIG,
101  RMNET_NETLINK_UNSET_LOGICAL_EP_CONFIG,
102  RMNET_NETLINK_GET_LOGICAL_EP_CONFIG,
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  RMNET_NETLINK_NEW_VND,
105  RMNET_NETLINK_NEW_VND_WITH_PREFIX,
106  RMNET_NETLINK_GET_VND_NAME,
107  RMNET_NETLINK_FREE_VND,
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  RMNET_NETLINK_ADD_VND_TC_FLOW,
110  RMNET_NETLINK_DEL_VND_TC_FLOW
111};
112enum rmnet_config_endpoint_modes_e {
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  RMNET_EPMODE_NONE,
115  RMNET_EPMODE_VND,
116  RMNET_EPMODE_BRIDGE,
117  RMNET_EPMODE_LENGTH
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119};
120enum rmnet_config_return_codes_e {
121  RMNET_CONFIG_OK,
122  RMNET_CONFIG_UNKNOWN_MESSAGE,
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  RMNET_CONFIG_UNKNOWN_ERROR,
125  RMNET_CONFIG_NOMEM,
126  RMNET_CONFIG_DEVICE_IN_USE,
127  RMNET_CONFIG_INVALID_REQUEST,
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  RMNET_CONFIG_NO_SUCH_DEVICE,
130  RMNET_CONFIG_BAD_ARGUMENTS,
131  RMNET_CONFIG_BAD_EGRESS_DEVICE,
132  RMNET_CONFIG_TC_HANDLE_FULL
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134};
135#endif
136
137