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 46 struct 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 }; 90 enum 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 }; 112 enum 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 }; 120 enum 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