History

declare common types, values, functions

Charles Forsyth committed 12 years ago

Commit 4bf64011 parent bd5c10a1 file · +126 −4Browse files

Unified · Split

ld/ld.h+126−4
@@ -5,7 +5,15 @@ · 4 unmodified lines
5 5
6typedef vlong int64;6typedef vlong int64;
7 7
8/*
9 * basic types in all loaders
10 */
11
12typedef struct Adr Adr;
8typedef struct Auto Auto;13typedef struct Auto Auto;
14typedef struct Count Count;
15typedef struct Ieee Ieee;
16typedef struct Prog Prog;
9typedef struct Sym Sym;17typedef struct Sym Sym;
10 18
11#ifndef EXTERN19#ifndef EXTERN
@@ -14,7 +22,9 @@ typedef struct Sym Sym; · 2 unmodified lines
14 22
15#define LIBNAMELEN 30023#define LIBNAMELEN 300
16 24
17#define SIGNINTERN (1729*325*1729)25#define P ((Prog*)0)
26#define S ((Sym*)0)
27#define TNAME (curtext&&curtext->from.sym?curtext->from.sym->name:noname)
18 28
19struct Auto29struct Auto
20{30{
@@ -24,10 +34,122 @@ struct Auto · 3 unmodified lines
24 short type;34 short type;
25};35};
26 36
37struct Count
38{
39 long count;
40 long outof;
41};
42
43enum
44{
45
46 STRINGSZ = 200,
47 NHASH = 10007,
48 NHUNK = 100000,
49 MAXIO = 8192,
50 MAXHIST = 20, /* limit of path elements for history symbols */
51};
52
53#define SIGNINTERN (1729*325*1729) /* signature of internal functions such as _div */
54
55EXTERN union
56{
57 struct
58 {
59 uchar obuf[MAXIO]; /* output buffer */
60 uchar ibuf[MAXIO]; /* input buffer */
61 } u;
62 char dbuf[1];
63} buf;
64
65#define cbuf u.obuf
66#define xbuf u.ibuf
67
68EXTERN int cbc;
69EXTERN uchar* cbp;
70EXTERN int cout;
71EXTERN char debug[128];
72EXTERN char fnuxi4[4];
73EXTERN char fnuxi8[8];
74EXTERN Sym* hash[NHASH];
75EXTERN Sym* histfrog[MAXHIST];
76EXTERN int histfrogp;
77EXTERN int histgen;
78EXTERN char* library[50];
79EXTERN char* libraryobj[50];
80EXTERN int libraryp;
81EXTERN int xrefresolv;
82EXTERN char inuxi1[1];
83EXTERN char inuxi2[2];
84EXTERN char inuxi4[4];
85EXTERN uchar inuxi8[8];
86EXTERN char* thestring;
87EXTERN char thechar;
88
89EXTERN int doexp, dlm;
90EXTERN int imports, nimports;
91EXTERN int exports, nexports;
92EXTERN char* EXPTAB;
93EXTERN Prog undefp;
94
95#define UP (&undefp)
96
97void addhist(long, int);
98void addlib(char*);
27void addlibpath(char*);99void addlibpath(char*);
100void addlibroot(void);
101vlong atolwhex(char*);
102Prog* brchain(Prog*);
103Prog* brloop(Prog*);
104void cflush(void);
105void ckoff(Sym*, long);
106void collapsefrog(Sym*);
107void cput(int);
108void diag(char*, ...);
109void errorexit(void);
110double cputime(void);
111void dodata(void);
112void export(void);
28int fileexists(char*);113int fileexists(char*);
114int find1(long, int);
115char* findlib(char*);
29char* findlib(char*);116char* findlib(char*);
117void follow(void);
118void gethunk(void);
119long hunkspace(void);
30uchar* readsome(int, uchar*, uchar*, uchar*, int);120uchar* readsome(int, uchar*, uchar*, uchar*, int);
31void collapsefrog(Sym*);121void* halloc(usize);
32void addlib(char*);122void histtoauto(void);
33void addlibroot(void);123double ieeedtod(Ieee*);
124long ieeedtof(Ieee*);
125void import(void);
126int isobjfile(char*);
127void loadlib(void);
128Sym* lookup(char*, int);
129void mkfwd(void);
130void* mysbrk(ulong);
131void nopstat(char*, Count*);
132void objfile(char*);
133void patch(void);
134void prasm(Prog*);
135Prog* prg(void);
136void readundefs(char*, int);
137uchar* readsome(int, uchar*, uchar*, uchar*, int);
138void readundefs(char*, int);
139vlong rnd(vlong, long);
140void strnput(char*, int);
141void undef(void);
142void undefsym(Sym*);
143void xdefine(char*, int, long);
144void xfol(Prog*);
145void zerosig(char*);
146
147#pragma varargck type "A" int
148#pragma varargck type "A" uint
149#pragma varargck type "C" int
150#pragma varargck type "D" Adr*
151#pragma varargck type "N" Adr*
152#pragma varargck type "P" Prog*
153#pragma varargck type "S" char*
154
155#pragma varargck argpos diag 1

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t