00001 /** 00002 * @file op_abi.h 00003 * This file contains a simple C interface to the ABI-describing functionality, 00004 * the majority of which is implemented in C++. this is the file which is 00005 * intended for use in files outside the /libabi directory. 00006 * 00007 * @remark Copyright 2002 OProfile authors 00008 * @remark Read the file COPYING 00009 * 00010 * @author Graydon Hoare 00011 * @author Philippe Elie 00012 */ 00013 00014 #ifndef OP_ABI_H 00015 #define OP_ABI_H 00016 00017 struct op_abi_entry { 00018 char const * name; 00019 /// offset or size of the named entry 00020 int offset; 00021 }; 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 /// return array is terminated by a NULL entry in name field 00028 struct op_abi_entry const * get_abi(void); 00029 00030 /// return non zero if the abi is little endian 00031 int op_little_endian(void); 00032 00033 /** 00034 * Write current abi to file. 00035 * return 1 on success, 0 on failure 00036 */ 00037 int op_write_abi_to_file(char const * abi_file); 00038 00039 #ifdef __cplusplus 00040 } 00041 #endif 00042 00043 #endif // OP_ABI_H
1.6.1