Blame


1 a84cbb2a 2004-04-19 devnull typedef struct Macho Macho;
2 a84cbb2a 2004-04-19 devnull typedef struct MachoCmd MachoCmd;
3 a84cbb2a 2004-04-19 devnull
4 a84cbb2a 2004-04-19 devnull enum
5 a84cbb2a 2004-04-19 devnull {
6 a84cbb2a 2004-04-19 devnull MachoCpuVax = 1,
7 a84cbb2a 2004-04-19 devnull MachoCpu68000 = 6,
8 a84cbb2a 2004-04-19 devnull MachoCpu386 = 7,
9 a84cbb2a 2004-04-19 devnull MachoCpuMips = 8,
10 a84cbb2a 2004-04-19 devnull MachoCpu98000 = 10,
11 a84cbb2a 2004-04-19 devnull MachoCpuHppa = 11,
12 a84cbb2a 2004-04-19 devnull MachoCpuArm = 12,
13 a84cbb2a 2004-04-19 devnull MachoCpu88000 = 13,
14 a84cbb2a 2004-04-19 devnull MachoCpuSparc = 14,
15 a84cbb2a 2004-04-19 devnull MachoCpu860 = 15,
16 a84cbb2a 2004-04-19 devnull MachoCpuAlpha = 16,
17 a84cbb2a 2004-04-19 devnull MachoCpuPower = 18,
18 a84cbb2a 2004-04-19 devnull
19 a84cbb2a 2004-04-19 devnull MachoCmdSegment = 1,
20 a84cbb2a 2004-04-19 devnull MachoCmdSymtab = 2,
21 a84cbb2a 2004-04-19 devnull MachoCmdSymseg = 3,
22 a84cbb2a 2004-04-19 devnull MachoCmdThread = 4,
23 a84cbb2a 2004-04-19 devnull
24 a84cbb2a 2004-04-19 devnull MachoFileObject = 1,
25 a84cbb2a 2004-04-19 devnull MachoFileExecutable = 2,
26 a84cbb2a 2004-04-19 devnull MachoFileFvmlib = 3,
27 a84cbb2a 2004-04-19 devnull MachoFileCore = 4,
28 cbeb0b26 2006-04-01 devnull MachoFilePreload = 5
29 a84cbb2a 2004-04-19 devnull };
30 a84cbb2a 2004-04-19 devnull
31 a84cbb2a 2004-04-19 devnull struct MachoCmd
32 a84cbb2a 2004-04-19 devnull {
33 a84cbb2a 2004-04-19 devnull int type;
34 a84cbb2a 2004-04-19 devnull ulong off;
35 a84cbb2a 2004-04-19 devnull ulong size;
36 a84cbb2a 2004-04-19 devnull struct {
37 a84cbb2a 2004-04-19 devnull char name[16+1];
38 a84cbb2a 2004-04-19 devnull ulong vmaddr;
39 a84cbb2a 2004-04-19 devnull ulong vmsize;
40 a84cbb2a 2004-04-19 devnull ulong fileoff;
41 a84cbb2a 2004-04-19 devnull ulong filesz;
42 a84cbb2a 2004-04-19 devnull ulong maxprot;
43 a84cbb2a 2004-04-19 devnull ulong initprot;
44 a84cbb2a 2004-04-19 devnull ulong nsect;
45 a84cbb2a 2004-04-19 devnull ulong flags;
46 a84cbb2a 2004-04-19 devnull } seg;
47 a84cbb2a 2004-04-19 devnull struct {
48 a84cbb2a 2004-04-19 devnull ulong symoff;
49 a84cbb2a 2004-04-19 devnull ulong nsyms;
50 a84cbb2a 2004-04-19 devnull ulong stroff;
51 a84cbb2a 2004-04-19 devnull ulong strsize;
52 a84cbb2a 2004-04-19 devnull } sym;
53 a84cbb2a 2004-04-19 devnull };
54 a84cbb2a 2004-04-19 devnull
55 a84cbb2a 2004-04-19 devnull struct Macho
56 a84cbb2a 2004-04-19 devnull {
57 a84cbb2a 2004-04-19 devnull int fd;
58 a84cbb2a 2004-04-19 devnull uint cputype;
59 a84cbb2a 2004-04-19 devnull uint subcputype;
60 a84cbb2a 2004-04-19 devnull ulong filetype;
61 a84cbb2a 2004-04-19 devnull ulong flags;
62 a84cbb2a 2004-04-19 devnull MachoCmd *cmd;
63 a84cbb2a 2004-04-19 devnull uint ncmd;
64 a84cbb2a 2004-04-19 devnull u32int (*e4)(uchar*);
65 a84cbb2a 2004-04-19 devnull int (*coreregs)(Macho*, uchar**);
66 a84cbb2a 2004-04-19 devnull };
67 a84cbb2a 2004-04-19 devnull
68 a84cbb2a 2004-04-19 devnull Macho *machoopen(char*);
69 a84cbb2a 2004-04-19 devnull Macho *machoinit(int);
70 a84cbb2a 2004-04-19 devnull void machoclose(Macho*);
71 a84cbb2a 2004-04-19 devnull int coreregsmachopower(Macho*, uchar**);