]> git.lizzy.rs Git - plan9front.git/blob - sys/include/a.out.h
libc, seconds: new time and date apis (try 2)
[plan9front.git] / sys / include / a.out.h
1 typedef struct  Exec    Exec;
2 struct  Exec
3 {
4         long    magic;          /* magic number */
5         long    text;           /* size of text segment */
6         long    data;           /* size of initialized data */
7         long    bss;            /* size of uninitialized data */
8         long    syms;           /* size of symbol table */
9         long    entry;          /* entry point */
10         long    spsz;           /* size of pc/sp offset table */
11         long    pcsz;           /* size of pc/line number table */
12 };
13
14 #define HDR_MAGIC       0x00008000              /* header expansion */
15
16 #define _MAGIC(f, b)    ((f)|((((4*(b))+0)*(b))+7))
17 #define A_MAGIC         _MAGIC(0, 8)            /* 68020 */
18 #define I_MAGIC         _MAGIC(0, 11)           /* intel 386 */
19 #define J_MAGIC         _MAGIC(0, 12)           /* intel 960 (retired) */
20 #define K_MAGIC         _MAGIC(0, 13)           /* sparc */
21 #define V_MAGIC         _MAGIC(0, 16)           /* mips 3000 BE */
22 #define X_MAGIC         _MAGIC(0, 17)           /* att dsp 3210 (retired) */
23 #define M_MAGIC         _MAGIC(0, 18)           /* mips 4000 BE */
24 #define D_MAGIC         _MAGIC(0, 19)           /* amd 29000 (retired) */
25 #define E_MAGIC         _MAGIC(0, 20)           /* arm */
26 #define Q_MAGIC         _MAGIC(0, 21)           /* powerpc */
27 #define N_MAGIC         _MAGIC(0, 22)           /* mips 4000 LE */
28 #define L_MAGIC         _MAGIC(0, 23)           /* dec alpha (retired) */
29 #define P_MAGIC         _MAGIC(0, 24)           /* mips 3000 LE */
30 #define U_MAGIC         _MAGIC(0, 25)           /* sparc64 */
31 #define S_MAGIC         _MAGIC(HDR_MAGIC, 26)   /* amd64 */
32 #define T_MAGIC         _MAGIC(HDR_MAGIC, 27)   /* powerpc64 */
33 #define R_MAGIC         _MAGIC(HDR_MAGIC, 28)   /* arm64 */
34
35 #define MIN_MAGIC       8
36 #define MAX_MAGIC       28                      /* <= 90 */
37
38 #define DYN_MAGIC       0x80000000              /* dlm */
39
40 typedef struct  Sym     Sym;
41 struct  Sym
42 {
43         vlong   value;
44         uint    sig;
45         char    type;
46         char    *name;
47 };