/ go / pdbconv / xml.go
xml.go
 1  package pdbconv
 2  
 3  type GhidraXml struct {
 4  	Classes struct {
 5  		Class []struct {
 6  			Length string `xml:"length,attr"`
 7  			Name   string `xml:"name,attr"`
 8  			Member []struct {
 9  				Datatype string `xml:"datatype,attr"`
10  				Kind     string `xml:"kind,attr"`
11  				Length   string `xml:"length,attr"`
12  				Name     string `xml:"name,attr"`
13  				Offset   string `xml:"offset,attr"`
14  			} `xml:"member"`
15  		} `xml:"class"`
16  	} `xml:"classes"`
17  	Datatypes struct {
18  		Datatype []struct {
19  			Kind   string `xml:"kind,attr"`
20  			Length string `xml:"length,attr"`
21  			Name   string `xml:"name,attr"`
22  			Member []struct {
23  				Datatype string `xml:"datatype,attr"`
24  				Kind     string `xml:"kind,attr"`
25  				Length   string `xml:"length,attr"`
26  				Name     string `xml:"name,attr"`
27  				Offset   string `xml:"offset,attr"`
28  			} `xml:"member"`
29  		} `xml:"datatype"`
30  	} `xml:"datatypes"`
31  	Enums struct {
32  		Enum []struct {
33  			Length string `xml:"length,attr"`
34  			Name   string `xml:"name,attr"`
35  			Type   string `xml:"type,attr"`
36  			Member []struct {
37  				Name  string `xml:"name,attr"`
38  				Value int    `xml:"value,attr"`
39  			} `xml:"member"`
40  		} `xml:"enum"`
41  	} `xml:"enums"`
42  	Functions struct {
43  		Function []struct {
44  			Address    string `xml:"address,attr"`
45  			Length     string `xml:"length,attr"`
46  			Name       string `xml:"name,attr"`
47  			LineNumber []struct {
48  				Addr       string `xml:"addr,attr"`
49  				End        int    `xml:"end,attr"`
50  				Length     int    `xml:"length,attr"`
51  				SourceFile string `xml:"source_file,attr"`
52  				Start      int    `xml:"start,attr"`
53  			} `xml:"line_number"`
54  			StackVariable []struct {
55  				Datatype string `xml:"datatype,attr"`
56  				Kind     string `xml:"kind,attr"`
57  				Length   string `xml:"length,attr"`
58  				Name     string `xml:"name,attr"`
59  				Offset   string `xml:"offset,attr"`
60  			} `xml:"stack_variable"`
61  		} `xml:"function"`
62  	} `xml:"functions"`
63  	Tables struct {
64  		Table []struct {
65  			Name    string `xml:"name,attr"`
66  			Segment []struct {
67  				Address string `xml:"address,attr"`
68  				Number  int    `xml:"number,attr"`
69  			} `xml:"segment"`
70  			SourceFile []struct {
71  				ID   string `xml:"id,attr"`
72  				Name string `xml:"name,attr"`
73  			} `xml:"source_file"`
74  			Symbol []struct {
75  				Address     string `xml:"address,attr"`
76  				Datatype    string `xml:"datatype,attr"`
77  				Index       string `xml:"index,attr"`
78  				Kind        string `xml:"kind,attr"`
79  				Length      string `xml:"length,attr"`
80  				Name        string `xml:"name,attr"`
81  				Tag         string `xml:"tag,attr"`
82  				Undecorated string `xml:"undecorated,attr"`
83  				Value       string `xml:"value,attr"`
84  			} `xml:"symbol"`
85  		} `xml:"table"`
86  	} `xml:"tables"`
87  	Typedefs struct {
88  		Typedef []struct {
89  			Basetype string `xml:"basetype,attr"`
90  			Name     string `xml:"name,attr"`
91  		} `xml:"typedef"`
92  	} `xml:"typedefs"`
93  }