Home | History | Annotate | Download | only in libpp
      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