symutil.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #if !defined(_symtab_util_h_)
00034 #define _symtab_util_h_
00035
00036 #include "dyntypes.h"
00037 #include <string>
00038
00039 #if defined(_MSC_VER)
00040 #include <set>
00041 #else
00042 #include <regex.h>
00043 #include <string>
00044 #endif
00045
00046 namespace Dyninst{
00047 namespace SymtabAPI{
00048
00049
00050 typedef enum {
00051 mangledName = 1,
00052 prettyName = 2,
00053 typedName = 4,
00054 anyName = 7 } NameType;
00055
00056 typedef enum {
00057 lang_Unknown,
00058 lang_Assembly,
00059 lang_C,
00060 lang_CPlusPlus,
00061 lang_GnuCPlusPlus,
00062 lang_Fortran,
00063 lang_Fortran_with_pretty_debug,
00064 lang_CMFortran
00065 } supportedLanguages;
00066
00067 const char *supportedLanguages2Str(supportedLanguages s);
00068
00069 typedef enum {
00070 obj_Unknown,
00071 obj_SharedLib,
00072 obj_Executable,
00073 obj_RelocatableFile
00074 } ObjectType;
00075
00076 typedef enum {
00077 Obj_Parsing = 0,
00078 Syms_To_Functions,
00079 Build_Function_Lists,
00080 No_Such_Function,
00081 No_Such_Variable,
00082 No_Such_Module,
00083 No_Such_Region,
00084 No_Such_Symbol,
00085 No_Such_Member,
00086 Not_A_File,
00087 Not_An_Archive,
00088 Duplicate_Symbol,
00089 Export_Error,
00090 Emit_Error,
00091 Invalid_Flags,
00092 Bad_Frame_Data,
00093 No_Frame_Entry,
00094 Frame_Read_Error,
00095 Multiple_Region_Matches,
00096 No_Error
00097 } SymtabError;
00098
00099 typedef struct{
00100 void *data;
00101 Offset loadaddr;
00102 unsigned long size;
00103 std::string name;
00104 unsigned segFlags;
00105 }Segment;
00106
00107 }
00108 }
00109
00110
00111 #endif