• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * @file op_abi.h
3  * This file contains a simple C interface to the ABI-describing functionality,
4  * the majority of which is implemented in C++. this is the file which is
5  * intended for use in files outside the /libabi directory.
6  *
7  * @remark Copyright 2002 OProfile authors
8  * @remark Read the file COPYING
9  *
10  * @author Graydon Hoare
11  * @author Philippe Elie
12  */
13 
14 #ifndef OP_ABI_H
15 #define OP_ABI_H
16 
17 struct op_abi_entry {
18 	char const * name;
19 	/// offset or size of the named entry
20 	int offset;
21 };
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 /// return array is terminated by a NULL entry in name field
28 struct op_abi_entry const * get_abi(void);
29 
30 /// return non zero if the abi is little endian
31 int op_little_endian(void);
32 
33 /**
34  * Write current abi to file.
35  * return 1 on success, 0 on failure
36  */
37 int op_write_abi_to_file(char const * abi_file);
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif // OP_ABI_H
44