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_IPA_FD_IOCTL_H 20 #define _RMNET_IPA_FD_IOCTL_H 21 #include <linux/ioctl.h> 22 #include <linux/ipa_qmi_service_v01.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #include <linux/msm_ipa.h> 25 #define WAN_IOC_MAGIC 0x69 26 #define WAN_IOCTL_ADD_FLT_RULE 0 27 #define WAN_IOCTL_ADD_FLT_INDEX 1 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define WAN_IOCTL_VOTE_FOR_BW_MBPS 2 30 #define WAN_IOCTL_POLL_TETHERING_STATS 3 31 #define WAN_IOCTL_SET_DATA_QUOTA 4 32 #define WAN_IOCTL_SET_TETHER_CLIENT_PIPE 5 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 #define WAN_IOCTL_QUERY_TETHER_STATS 6 35 #define WAN_IOCTL_RESET_TETHER_STATS 7 36 #define WAN_IOCTL_QUERY_DL_FILTER_STATS 8 37 #define WAN_IOCTL_ADD_FLT_RULE_EX 9 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 #define WAN_IOCTL_QUERY_TETHER_STATS_ALL 10 40 #ifndef IFNAMSIZ 41 #define IFNAMSIZ 16 42 #endif 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 struct wan_ioctl_poll_tethering_stats { 45 uint64_t polling_interval_secs; 46 uint8_t reset_stats; 47 }; 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 struct wan_ioctl_set_data_quota { 50 char interface_name[IFNAMSIZ]; 51 uint64_t quota_mbytes; 52 uint8_t set_quota; 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 }; 55 struct wan_ioctl_set_tether_client_pipe { 56 enum ipacm_client_enum ipa_client; 57 uint8_t reset_client; 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 uint32_t ul_src_pipe_len; 60 uint32_t ul_src_pipe_list[QMI_IPA_MAX_PIPES_V01]; 61 uint32_t dl_dst_pipe_len; 62 uint32_t dl_dst_pipe_list[QMI_IPA_MAX_PIPES_V01]; 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 }; 65 struct wan_ioctl_query_tether_stats { 66 char upstreamIface[IFNAMSIZ]; 67 char tetherIface[IFNAMSIZ]; 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 enum ipacm_client_enum ipa_client; 70 uint64_t ipv4_tx_packets; 71 uint64_t ipv4_tx_bytes; 72 uint64_t ipv4_rx_packets; 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 uint64_t ipv4_rx_bytes; 75 uint64_t ipv6_tx_packets; 76 uint64_t ipv6_tx_bytes; 77 uint64_t ipv6_rx_packets; 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 uint64_t ipv6_rx_bytes; 80 }; 81 struct wan_ioctl_query_tether_stats_all { 82 char upstreamIface[IFNAMSIZ]; 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 enum ipacm_client_enum ipa_client; 85 uint8_t reset_stats; 86 uint64_t tx_bytes; 87 uint64_t rx_bytes; 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 }; 90 struct wan_ioctl_reset_tether_stats { 91 char upstreamIface[IFNAMSIZ]; 92 uint8_t reset_stats; 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 }; 95 struct wan_ioctl_query_dl_filter_stats { 96 uint8_t reset_stats; 97 struct ipa_get_data_stats_resp_msg_v01 stats_resp; 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 uint32_t index; 100 }; 101 #define WAN_IOC_ADD_FLT_RULE _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_ADD_FLT_RULE, struct ipa_install_fltr_rule_req_msg_v01 *) 102 #define WAN_IOC_ADD_FLT_RULE_INDEX _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_ADD_FLT_INDEX, struct ipa_fltr_installed_notif_req_msg_v01 *) 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 #define WAN_IOC_VOTE_FOR_BW_MBPS _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_VOTE_FOR_BW_MBPS, uint32_t *) 105 #define WAN_IOC_POLL_TETHERING_STATS _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_POLL_TETHERING_STATS, struct wan_ioctl_poll_tethering_stats *) 106 #define WAN_IOC_SET_DATA_QUOTA _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_SET_DATA_QUOTA, struct wan_ioctl_set_data_quota *) 107 #define WAN_IOC_SET_TETHER_CLIENT_PIPE _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_SET_TETHER_CLIENT_PIPE, struct wan_ioctl_set_tether_client_pipe *) 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 #define WAN_IOC_QUERY_TETHER_STATS _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_QUERY_TETHER_STATS, struct wan_ioctl_query_tether_stats *) 110 #define WAN_IOC_RESET_TETHER_STATS _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_RESET_TETHER_STATS, struct wan_ioctl_reset_tether_stats *) 111 #define WAN_IOC_QUERY_DL_FILTER_STATS _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_QUERY_DL_FILTER_STATS, struct wan_ioctl_query_dl_filter_stats *) 112 #define WAN_IOC_ADD_FLT_RULE_EX _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_ADD_FLT_RULE_EX, struct ipa_install_fltr_rule_req_ex_msg_v01 *) 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 #define WAN_IOC_QUERY_TETHER_STATS_ALL _IOWR(WAN_IOC_MAGIC, WAN_IOCTL_QUERY_TETHER_STATS_ALL, struct wan_ioctl_query_tether_stats_all *) 115 #endif 116 117