| /** |
| * @file op_abi.h |
| * This file contains a simple C interface to the ABI-describing functionality, |
| * the majority of which is implemented in C++. this is the file which is |
| * intended for use in files outside the /libabi directory. |
| * |
| * @remark Copyright 2002 OProfile authors |
| * @remark Read the file COPYING |
| * |
| * @author Graydon Hoare |
| * @author Philippe Elie |
| */ |
| |
| #ifndef OP_ABI_H |
| #define OP_ABI_H |
| |
| struct op_abi_entry { |
| char const * name; |
| /// offset or size of the named entry |
| int offset; |
| }; |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /// return array is terminated by a NULL entry in name field |
| struct op_abi_entry const * get_abi(void); |
| |
| /// return non zero if the abi is little endian |
| int op_little_endian(void); |
| |
| /** |
| * Write current abi to file. |
| * return 1 on success, 0 on failure |
| */ |
| int op_write_abi_to_file(char const * abi_file); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // OP_ABI_H |