1 // Copyright (c) 2013 The Chromium OS Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROMIUMOS_WIDE_PROFILING_CONVERSION_UTILS_H_ 6 #define CHROMIUMOS_WIDE_PROFILING_CONVERSION_UTILS_H_ 7 8 #include <string> 9 10 #include "compat/string.h" 11 12 namespace quipper { 13 14 // Format string for perf.data. 15 extern const char kPerfFormat[]; 16 17 // Format string for protobuf text format. 18 extern const char kProtoTextFormat[]; 19 20 // Structure to hold the format and file of an input or output. 21 struct FormatAndFile { 22 // The name of the file. 23 string filename; 24 25 // The format of the file. Options are "perf" for perf data files, "text" for 26 // proto text files and "proto" for proto binary files. 27 string format; 28 }; 29 30 // Convert a perf file from one format to another. 31 bool ConvertFile(const FormatAndFile& input, const FormatAndFile& output); 32 33 } // namespace quipper 34 35 #endif // CHROMIUMOS_WIDE_PROFILING_CONVERSION_UTILS_H_ 36