• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * @file op_header.h
3  * various free function acting on a sample file header
4  *
5  * @remark Copyright 2002 OProfile authors
6  * @remark Read the file COPYING
7  *
8  * @author John Levon
9  * @author Philippe Elie
10  */
11 
12 #ifndef OP_HEADER_H
13 #define OP_HEADER_H
14 
15 #include <iosfwd>
16 #include <string>
17 
18 #include "op_sample_file.h"
19 
20 /**
21  * @param h1 sample file header
22  * @param h2 sample file header
23  * @param filename sample filename
24  *
25  * check that the h1 and h2 are coherent (same size, same mtime etc.)
26  * all error are fatal
27  */
28 void op_check_header(opd_header const & h1, opd_header const & h2,
29                      std::string const & filename);
30 
31 bool is_jit_sample(std::string const & filename);
32 
33 /**
34  * check mtime of samples file header against file
35  * all error are fatal
36  */
37 void check_mtime(std::string const & file, opd_header const & header);
38 
39 /**
40  * @param sample_filename  the sample to open
41  *
42  * Return the header of this sample file. Only the magic number is checked
43  * the version number is not checked. All error are fatal
44  */
45 opd_header const read_header(std::string const & sample_filename);
46 
47 /**
48  * output a readable form of header, this don't include the cpu type
49  * and speed
50  */
51 std::string const describe_header(opd_header const & header);
52 
53 /// output a readable form of cpu type and speed
54 std::string const describe_cpu(opd_header const & header);
55 
56 #endif // OP_HEADER_H
57