|  | // Copyright 2018 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. | 
|  |  | 
|  | // This is a separate file so that users of process metrics don't need to | 
|  | // include windows.h unless they need IoCounters. | 
|  |  | 
|  | #ifndef BASE_PROCESS_PROCESS_METRICS_IOCOUNTERS_H_ | 
|  | #define BASE_PROCESS_PROCESS_METRICS_IOCOUNTERS_H_ | 
|  |  | 
|  | #include <stdint.h> | 
|  |  | 
|  | #include "base/process/process_metrics.h" | 
|  | #include "build_config.h" | 
|  |  | 
|  | #if defined(OS_WIN) | 
|  | #include <windows.h> | 
|  | #endif | 
|  |  | 
|  | namespace base { | 
|  |  | 
|  | #if defined(OS_WIN) | 
|  | struct IoCounters : public IO_COUNTERS {}; | 
|  | #elif defined(OS_POSIX) | 
|  | struct IoCounters { | 
|  | uint64_t ReadOperationCount; | 
|  | uint64_t WriteOperationCount; | 
|  | uint64_t OtherOperationCount; | 
|  | uint64_t ReadTransferCount; | 
|  | uint64_t WriteTransferCount; | 
|  | uint64_t OtherTransferCount; | 
|  | }; | 
|  | #endif | 
|  |  | 
|  | }  // namespace base | 
|  |  | 
|  | #endif  // BASE_PROCESS_PROCESS_METRICS_IOCOUNTERS_H_ |