db.go
1 package pdbconv 2 3 type ClassMember struct { 4 Datatype string `json:"datatype,omitempty"` 5 Kind string `json:"kind,omitempty"` 6 Length uint64 `json:"length,omitempty"` 7 Name string `json:"name,omitempty"` 8 Offset uint64 `json:"offset,omitempty"` 9 } 10 11 type Class struct { 12 Length string `json:"length,omitempty"` 13 Name string `json:"name,omitempty"` 14 Members []ClassMember `json:"member,omitempty"` 15 } 16 17 type DatatypeMember struct { 18 Datatype string `json:"datatype,omitempty"` 19 Kind string `json:"kind,omitempty"` 20 Length uint64 `json:"length,omitempty"` 21 Name string `json:"name,omitempty"` 22 Offset uint64 `json:"offset,omitempty"` 23 } 24 25 type Datatype struct { 26 Kind string `json:"kind,omitempty"` 27 Length string `json:"length,omitempty"` 28 Name string `json:"name,omitempty"` 29 Members []DatatypeMember `json:"member,omitempty"` 30 } 31 32 type EnumMember struct { 33 Name string `json:"name,omitempty"` 34 Value int `json:"value,omitempty"` 35 } 36 37 type Enum struct { 38 Length uint64 `json:"length,omitempty"` 39 Name string `json:"name,omitempty"` 40 Type string `json:"type,omitempty"` 41 Members []EnumMember `json:"member,omitempty"` 42 } 43 44 type FunctionLineNumber struct { 45 Address string `json:"addr,omitempty"` 46 End int `json:"end,omitempty"` 47 Length int `json:"length,omitempty"` 48 SourceFile string `json:"source_file,omitempty"` 49 Start int `json:"start,omitempty"` 50 } 51 52 type FunctionStackVariable struct { 53 Datatype string `json:"datatype,omitempty"` 54 Kind string `json:"kind,omitempty"` 55 Length uint64 `json:"length,omitempty"` 56 Name string `json:"name,omitempty"` 57 Offset uint64 `json:"offset,omitempty"` 58 } 59 60 type Function struct { 61 Address string `json:"address,omitempty"` 62 Length uint64 `json:"length,omitempty"` 63 Name string `json:"name,omitempty"` 64 LineNumbers []FunctionLineNumber `json:"line_numbers,omitempty"` 65 StackVariables []FunctionStackVariable `json:"stack_variables,omitempty"` 66 } 67 68 type TableSegment struct { 69 Address string `json:"address,omitempty"` 70 Number int `json:"number,omitempty"` 71 } 72 73 type TableSourceFile struct { 74 ID string `json:"id,omitempty"` 75 Name string `json:"name,omitempty"` 76 } 77 78 type TableSymbol struct { 79 Address string `json:"address,omitempty"` 80 Datatype string `json:"datatype,omitempty"` 81 Index uint64 `json:"index,omitempty"` 82 Kind string `json:"kind,omitempty"` 83 Length uint64 `json:"length,omitempty"` 84 Name string `json:"name,omitempty"` 85 Tag string `json:"tag,omitempty"` 86 Undecorated string `json:"undecorated,omitempty"` 87 Value string `json:"value,omitempty"` 88 } 89 90 type Table struct { 91 Name string `json:"name,omitempty"` 92 Segments []TableSegment `json:"segments,omitempty"` 93 SourceFiles []TableSourceFile `json:"source_files,omitempty"` 94 Symbols []TableSymbol `json:"symbols,omitempty"` 95 } 96 97 type Typedef struct { 98 Basetype string `json:"basetype,omitempty"` 99 Name string `json:"name,omitempty"` 100 } 101 102 type ProgramDatabase struct { 103 Classes []Class `json:"classes,omitempty"` 104 Datatypes []Datatype `json:"datatypes,omitempty"` 105 Enums []Enum `json:"enums,omitempty"` 106 Functions []Function `json:"functions,omitempty"` 107 Tables []Table `json:"tables,omitempty"` 108 Typedefs []Typedef `json:"typedefs,omitempty"` 109 }