Loading include/uapi/linux/msm_ipa.h +5 −1 Original line number Diff line number Diff line Loading @@ -1365,7 +1365,11 @@ struct ipa_ioc_write_qmapid { uint8_t qmap_id; }; enum ipacm_client_enum { IPACM_CLIENT_USB = 1, IPACM_CLIENT_WLAN, IPACM_CLIENT_MAX }; /** * actual IOCTLs supported by IPA driver */ Loading include/uapi/linux/rmnet_ipa_fd_ioctl.h +64 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ #include <linux/ioctl.h> #include <linux/ipa_qmi_service_v01.h> #include <linux/msm_ipa.h> /** * unique magic number of the IPA_WAN device Loading @@ -26,6 +27,10 @@ #define WAN_IOCTL_VOTE_FOR_BW_MBPS 2 #define WAN_IOCTL_POLL_TETHERING_STATS 3 #define WAN_IOCTL_SET_DATA_QUOTA 4 #define WAN_IOCTL_SET_TETHER_CLIENT_PIPE 5 #define WAN_IOCTL_QUERY_TETHER_STATS 6 #define WAN_IOCTL_RESET_TETHER_STATS 7 #define WAN_IOCTL_QUERY_DL_FILTER_STATS 8 /* User space may not have this defined. */ #ifndef IFNAMSIZ Loading Loading @@ -66,6 +71,49 @@ struct wan_ioctl_set_data_quota { uint8_t set_quota; }; struct wan_ioctl_set_tether_client_pipe { /* enum of tether interface */ enum ipacm_client_enum ipa_client; uint8_t reset_client; uint32_t ul_src_pipe_len; uint32_t ul_src_pipe_list[QMI_IPA_MAX_PIPES_V01]; uint32_t dl_dst_pipe_len; uint32_t dl_dst_pipe_list[QMI_IPA_MAX_PIPES_V01]; }; struct wan_ioctl_query_tether_stats { /* Name of the upstream interface */ char upstreamIface[IFNAMSIZ]; /* Name of the tethered interface */ char tetherIface[IFNAMSIZ]; /* enum of tether interface */ enum ipacm_client_enum ipa_client; uint64_t ipv4_tx_packets; uint64_t ipv4_tx_bytes; uint64_t ipv4_rx_packets; uint64_t ipv4_rx_bytes; uint64_t ipv6_tx_packets; uint64_t ipv6_tx_bytes; uint64_t ipv6_rx_packets; uint64_t ipv6_rx_bytes; }; struct wan_ioctl_reset_tether_stats { /* Name of the upstream interface, not support now */ char upstreamIface[IFNAMSIZ]; /* Indicate whether to reset the stats (use 1) or not */ uint8_t reset_stats; }; struct wan_ioctl_query_dl_filter_stats { /* Indicate whether to reset the filter stats (use 1) or not*/ uint8_t reset_stats; /* Modem response QMI */ struct ipa_get_data_stats_resp_msg_v01 stats_resp; /* provide right index to 1st firewall rule */ uint32_t index; }; #define WAN_IOC_ADD_FLT_RULE _IOWR(WAN_IOC_MAGIC, \ WAN_IOCTL_ADD_FLT_RULE, \ struct ipa_install_fltr_rule_req_msg_v01 *) Loading @@ -86,4 +134,20 @@ struct wan_ioctl_set_data_quota { WAN_IOCTL_SET_DATA_QUOTA, \ struct wan_ioctl_set_data_quota *) #define WAN_IOC_SET_TETHER_CLIENT_PIPE _IOWR(WAN_IOC_MAGIC, \ WAN_IOCTL_SET_TETHER_CLIENT_PIPE, \ struct wan_ioctl_set_tether_client_pipe *) #define WAN_IOC_QUERY_TETHER_STATS _IOWR(WAN_IOC_MAGIC, \ WAN_IOCTL_QUERY_TETHER_STATS, \ struct wan_ioctl_query_tether_stats *) #define WAN_IOC_RESET_TETHER_STATS _IOWR(WAN_IOC_MAGIC, \ WAN_IOCTL_RESET_TETHER_STATS, \ struct wan_ioctl_reset_tether_stats *) #define WAN_IOC_QUERY_DL_FILTER_STATS _IOWR(WAN_IOC_MAGIC, \ WAN_IOCTL_QUERY_DL_FILTER_STATS, \ struct wan_ioctl_query_dl_filter_stats *) #endif /* _RMNET_IPA_FD_IOCTL_H */ Loading
include/uapi/linux/msm_ipa.h +5 −1 Original line number Diff line number Diff line Loading @@ -1365,7 +1365,11 @@ struct ipa_ioc_write_qmapid { uint8_t qmap_id; }; enum ipacm_client_enum { IPACM_CLIENT_USB = 1, IPACM_CLIENT_WLAN, IPACM_CLIENT_MAX }; /** * actual IOCTLs supported by IPA driver */ Loading
include/uapi/linux/rmnet_ipa_fd_ioctl.h +64 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ #include <linux/ioctl.h> #include <linux/ipa_qmi_service_v01.h> #include <linux/msm_ipa.h> /** * unique magic number of the IPA_WAN device Loading @@ -26,6 +27,10 @@ #define WAN_IOCTL_VOTE_FOR_BW_MBPS 2 #define WAN_IOCTL_POLL_TETHERING_STATS 3 #define WAN_IOCTL_SET_DATA_QUOTA 4 #define WAN_IOCTL_SET_TETHER_CLIENT_PIPE 5 #define WAN_IOCTL_QUERY_TETHER_STATS 6 #define WAN_IOCTL_RESET_TETHER_STATS 7 #define WAN_IOCTL_QUERY_DL_FILTER_STATS 8 /* User space may not have this defined. */ #ifndef IFNAMSIZ Loading Loading @@ -66,6 +71,49 @@ struct wan_ioctl_set_data_quota { uint8_t set_quota; }; struct wan_ioctl_set_tether_client_pipe { /* enum of tether interface */ enum ipacm_client_enum ipa_client; uint8_t reset_client; uint32_t ul_src_pipe_len; uint32_t ul_src_pipe_list[QMI_IPA_MAX_PIPES_V01]; uint32_t dl_dst_pipe_len; uint32_t dl_dst_pipe_list[QMI_IPA_MAX_PIPES_V01]; }; struct wan_ioctl_query_tether_stats { /* Name of the upstream interface */ char upstreamIface[IFNAMSIZ]; /* Name of the tethered interface */ char tetherIface[IFNAMSIZ]; /* enum of tether interface */ enum ipacm_client_enum ipa_client; uint64_t ipv4_tx_packets; uint64_t ipv4_tx_bytes; uint64_t ipv4_rx_packets; uint64_t ipv4_rx_bytes; uint64_t ipv6_tx_packets; uint64_t ipv6_tx_bytes; uint64_t ipv6_rx_packets; uint64_t ipv6_rx_bytes; }; struct wan_ioctl_reset_tether_stats { /* Name of the upstream interface, not support now */ char upstreamIface[IFNAMSIZ]; /* Indicate whether to reset the stats (use 1) or not */ uint8_t reset_stats; }; struct wan_ioctl_query_dl_filter_stats { /* Indicate whether to reset the filter stats (use 1) or not*/ uint8_t reset_stats; /* Modem response QMI */ struct ipa_get_data_stats_resp_msg_v01 stats_resp; /* provide right index to 1st firewall rule */ uint32_t index; }; #define WAN_IOC_ADD_FLT_RULE _IOWR(WAN_IOC_MAGIC, \ WAN_IOCTL_ADD_FLT_RULE, \ struct ipa_install_fltr_rule_req_msg_v01 *) Loading @@ -86,4 +134,20 @@ struct wan_ioctl_set_data_quota { WAN_IOCTL_SET_DATA_QUOTA, \ struct wan_ioctl_set_data_quota *) #define WAN_IOC_SET_TETHER_CLIENT_PIPE _IOWR(WAN_IOC_MAGIC, \ WAN_IOCTL_SET_TETHER_CLIENT_PIPE, \ struct wan_ioctl_set_tether_client_pipe *) #define WAN_IOC_QUERY_TETHER_STATS _IOWR(WAN_IOC_MAGIC, \ WAN_IOCTL_QUERY_TETHER_STATS, \ struct wan_ioctl_query_tether_stats *) #define WAN_IOC_RESET_TETHER_STATS _IOWR(WAN_IOC_MAGIC, \ WAN_IOCTL_RESET_TETHER_STATS, \ struct wan_ioctl_reset_tether_stats *) #define WAN_IOC_QUERY_DL_FILTER_STATS _IOWR(WAN_IOC_MAGIC, \ WAN_IOCTL_QUERY_DL_FILTER_STATS, \ struct wan_ioctl_query_dl_filter_stats *) #endif /* _RMNET_IPA_FD_IOCTL_H */