// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef NET_ANDROID_TRAFFIC_STATS_H_ #define NET_ANDROID_TRAFFIC_STATS_H_ // This file provides functions that interact with TrafficStats APIs that are // provided on Android. #include #include #include "net/base/net_export.h" namespace net { namespace android { namespace traffic_stats { // Returns true if the number of bytes transmitted since device boot is // available and sets |*bytes| to that value. Counts packets across all network // interfaces, and always increases monotonically since device boot. // Statistics are measured at the network layer, so they include both TCP and // UDP usage. |bytes| must not be nullptr. NET_EXPORT bool GetTotalTxBytes(int64_t* bytes); // Returns true if the number of bytes received since device boot is // available and sets |*bytes| to that value. Counts packets across all network // interfaces, and always increases monotonically since device boot. // Statistics are measured at the network layer, so they include both TCP and // UDP usage. |bytes| must not be nullptr. NET_EXPORT bool GetTotalRxBytes(int64_t* bytes); // Returns true if the number of bytes attributed to caller's UID since device // boot are available and sets |*bytes| to that value. Counts packets across // all network interfaces, and always increases monotonically since device // boot. Statistics are measured at the network layer, so they include both TCP // and UDP usage. |bytes| must not be nullptr. NET_EXPORT bool GetCurrentUidTxBytes(int64_t* bytes); // Returns true if the number of bytes attributed to caller's UID since device // boot are available and sets |*bytes| to that value. Counts packets across // all network interfaces, and always increases monotonically since device // boot. Statistics are measured at the network layer, so they include both TCP // and UDP usage. |bytes| must not be nullptr. NET_EXPORT bool GetCurrentUidRxBytes(int64_t* bytes); bool Register(JNIEnv* env); } // namespace traffic_stats } // namespace android } // namespace net #endif // NET_ANDROID_TRAFFIC_STATS_H_