Blame


1 a84cbb2a 2004-04-19 devnull /* Copyright (c) 2002, 2003 William Josephson */
2 a84cbb2a 2004-04-19 devnull
3 a84cbb2a 2004-04-19 devnull enum {
4 a84cbb2a 2004-04-19 devnull CoremapMagic = 0xba5eba11,
5 a84cbb2a 2004-04-19 devnull CoremapMax = 128,
6 a84cbb2a 2004-04-19 devnull };
7 a84cbb2a 2004-04-19 devnull #undef MAXCOMLEN
8 a84cbb2a 2004-04-19 devnull #define MAXCOMLEN 16
9 a84cbb2a 2004-04-19 devnull #define PRSTATUS_VERSION 1 /* Current version of prstatus_t */
10 a84cbb2a 2004-04-19 devnull #define PRPSINFO_VERSION 1 /* Current version of prpsinfo_t */
11 a84cbb2a 2004-04-19 devnull #define PRARGSZ 80 /* Maximum argument bytes saved */
12 a84cbb2a 2004-04-19 devnull
13 a84cbb2a 2004-04-19 devnull
14 a84cbb2a 2004-04-19 devnull typedef struct Coremap Coremap;
15 a84cbb2a 2004-04-19 devnull typedef struct CoremapItem CoremapItem;
16 a84cbb2a 2004-04-19 devnull typedef struct CoremapHeader CoremapHeader;
17 a84cbb2a 2004-04-19 devnull typedef struct ElfNote ElfNote;
18 a84cbb2a 2004-04-19 devnull typedef struct Reg386 Reg386;
19 a84cbb2a 2004-04-19 devnull typedef struct PrStatus386 PrStatus386;
20 a84cbb2a 2004-04-19 devnull typedef struct PrPsinfo PrPsinfo;
21 a84cbb2a 2004-04-19 devnull
22 a84cbb2a 2004-04-19 devnull struct CoremapHeader {
23 a84cbb2a 2004-04-19 devnull u32int magic;
24 a84cbb2a 2004-04-19 devnull u32int counter;
25 a84cbb2a 2004-04-19 devnull u32int maxelem;
26 a84cbb2a 2004-04-19 devnull };
27 a84cbb2a 2004-04-19 devnull
28 a84cbb2a 2004-04-19 devnull struct CoremapItem {
29 a84cbb2a 2004-04-19 devnull u32int address;
30 a84cbb2a 2004-04-19 devnull u32int size;
31 a84cbb2a 2004-04-19 devnull };
32 a84cbb2a 2004-04-19 devnull
33 a84cbb2a 2004-04-19 devnull struct Coremap {
34 a84cbb2a 2004-04-19 devnull CoremapHeader header;
35 a84cbb2a 2004-04-19 devnull CoremapItem map[CoremapMax];
36 a84cbb2a 2004-04-19 devnull };
37 a84cbb2a 2004-04-19 devnull
38 a84cbb2a 2004-04-19 devnull struct ElfNote {
39 a84cbb2a 2004-04-19 devnull u32int namesz;
40 a84cbb2a 2004-04-19 devnull u32int descsz;
41 a84cbb2a 2004-04-19 devnull u32int type;
42 a84cbb2a 2004-04-19 devnull char *name;
43 a84cbb2a 2004-04-19 devnull uchar *desc;
44 a84cbb2a 2004-04-19 devnull u32int offset; /* in-memory only */
45 a84cbb2a 2004-04-19 devnull };
46 a84cbb2a 2004-04-19 devnull
47 a84cbb2a 2004-04-19 devnull enum
48 a84cbb2a 2004-04-19 devnull {
49 a84cbb2a 2004-04-19 devnull NotePrStatus = 1,
50 a84cbb2a 2004-04-19 devnull NotePrFpreg = 2,
51 a84cbb2a 2004-04-19 devnull NotePrPsinfo = 3,
52 a84cbb2a 2004-04-19 devnull NotePrTaskstruct = 4,
53 a84cbb2a 2004-04-19 devnull NotePrAuxv = 6,
54 a84cbb2a 2004-04-19 devnull NotePrXfpreg = 0x46e62b7f, /* according to gdb */
55 a84cbb2a 2004-04-19 devnull };
56 a84cbb2a 2004-04-19 devnull #if 0
57 a84cbb2a 2004-04-19 devnull struct Reg386
58 a84cbb2a 2004-04-19 devnull {
59 a84cbb2a 2004-04-19 devnull u32int fs;
60 a84cbb2a 2004-04-19 devnull u32int es;
61 a84cbb2a 2004-04-19 devnull u32int ds;
62 a84cbb2a 2004-04-19 devnull u32int edi;
63 a84cbb2a 2004-04-19 devnull u32int esi;
64 a84cbb2a 2004-04-19 devnull u32int ebp;
65 a84cbb2a 2004-04-19 devnull u32int isp;
66 a84cbb2a 2004-04-19 devnull u32int ebx;
67 a84cbb2a 2004-04-19 devnull u32int edx;
68 a84cbb2a 2004-04-19 devnull u32int ecx;
69 a84cbb2a 2004-04-19 devnull u32int eax;
70 a84cbb2a 2004-04-19 devnull u32int trapno;
71 a84cbb2a 2004-04-19 devnull u32int err;
72 a84cbb2a 2004-04-19 devnull u32int eip;
73 a84cbb2a 2004-04-19 devnull u32int cs;
74 a84cbb2a 2004-04-19 devnull u32int eflags;
75 a84cbb2a 2004-04-19 devnull u32int esp;
76 a84cbb2a 2004-04-19 devnull u32int ss;
77 a84cbb2a 2004-04-19 devnull u32int gs;
78 a84cbb2a 2004-04-19 devnull };
79 a84cbb2a 2004-04-19 devnull #endif
80 a84cbb2a 2004-04-19 devnull
81 a84cbb2a 2004-04-19 devnull struct Reg386
82 a84cbb2a 2004-04-19 devnull {
83 a84cbb2a 2004-04-19 devnull u32int ebx;
84 a84cbb2a 2004-04-19 devnull u32int ecx;
85 a84cbb2a 2004-04-19 devnull u32int edx;
86 a84cbb2a 2004-04-19 devnull u32int esi;
87 a84cbb2a 2004-04-19 devnull u32int edi;
88 a84cbb2a 2004-04-19 devnull u32int ebp;
89 a84cbb2a 2004-04-19 devnull u32int eax;
90 a84cbb2a 2004-04-19 devnull u32int ds;
91 a84cbb2a 2004-04-19 devnull u32int es;
92 a84cbb2a 2004-04-19 devnull u32int fs;
93 a84cbb2a 2004-04-19 devnull u32int gs;
94 a84cbb2a 2004-04-19 devnull u32int origeax;
95 a84cbb2a 2004-04-19 devnull u32int eip;
96 a84cbb2a 2004-04-19 devnull u32int cs;
97 a84cbb2a 2004-04-19 devnull u32int eflags;
98 a84cbb2a 2004-04-19 devnull u32int esp;
99 a84cbb2a 2004-04-19 devnull u32int ss;
100 a84cbb2a 2004-04-19 devnull };
101 a84cbb2a 2004-04-19 devnull
102 a84cbb2a 2004-04-19 devnull #if 0
103 a84cbb2a 2004-04-19 devnull struct PrStatus386
104 a84cbb2a 2004-04-19 devnull {
105 a84cbb2a 2004-04-19 devnull u32int version; /* Version number of struct (1) */
106 a84cbb2a 2004-04-19 devnull u32int statussz; /* sizeof(prstatus_t) (1) */
107 a84cbb2a 2004-04-19 devnull u32int gregsetsz; /* sizeof(gregset_t) (1) */
108 a84cbb2a 2004-04-19 devnull u32int fpregsetsz; /* sizeof(fpregset_t) (1) */
109 a84cbb2a 2004-04-19 devnull int osreldate; /* Kernel version (1) */
110 a84cbb2a 2004-04-19 devnull int cursig; /* Current signal (1) */
111 a84cbb2a 2004-04-19 devnull pid_t pid; /* Process ID (1) */
112 a84cbb2a 2004-04-19 devnull Reg386 reg; /* General purpose registers (1) */
113 a84cbb2a 2004-04-19 devnull };
114 a84cbb2a 2004-04-19 devnull #endif
115 a84cbb2a 2004-04-19 devnull
116 a84cbb2a 2004-04-19 devnull struct PrPsinfo
117 a84cbb2a 2004-04-19 devnull {
118 a84cbb2a 2004-04-19 devnull int version; /* Version number of struct (1) */
119 a84cbb2a 2004-04-19 devnull u32int psinfosz; /* sizeof(prpsinfo_t) (1) */
120 a84cbb2a 2004-04-19 devnull char fname[MAXCOMLEN+1]; /* Command name, null terminated (1) */
121 a84cbb2a 2004-04-19 devnull char psargs[PRARGSZ+1]; /* Arguments, null terminated (1) */
122 a84cbb2a 2004-04-19 devnull };
123 a84cbb2a 2004-04-19 devnull
124 a84cbb2a 2004-04-19 devnull struct PrStatus386
125 a84cbb2a 2004-04-19 devnull {
126 a84cbb2a 2004-04-19 devnull u32int signo;
127 a84cbb2a 2004-04-19 devnull u32int code;
128 a84cbb2a 2004-04-19 devnull u32int errno;
129 a84cbb2a 2004-04-19 devnull u32int cursig;
130 a84cbb2a 2004-04-19 devnull u32int sigpend;
131 a84cbb2a 2004-04-19 devnull u32int sighold;
132 a84cbb2a 2004-04-19 devnull u32int pid;
133 a84cbb2a 2004-04-19 devnull u32int ppid;
134 a84cbb2a 2004-04-19 devnull u32int pgrp;
135 a84cbb2a 2004-04-19 devnull u32int sid;
136 a84cbb2a 2004-04-19 devnull u32int utime[2];
137 a84cbb2a 2004-04-19 devnull u32int stime[2];
138 a84cbb2a 2004-04-19 devnull u32int cutime[2];
139 a84cbb2a 2004-04-19 devnull u32int cstime[2];
140 a84cbb2a 2004-04-19 devnull Reg386 reg;
141 a84cbb2a 2004-04-19 devnull u32int fpvalid;
142 a84cbb2a 2004-04-19 devnull };