summaryrefslogtreecommitdiff
path: root/embed.h
blob: 96d2eb75dd269e662e3846a6cc360e6a95e4ebab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
/* This file is derived from global.var and interp.var */

/* (Doing namespace management portably in C is really gross.) */

#ifdef EMBEDDED

/* globals we need to hide from the world */
#define No		PERLNo
#define Sv		PERLSv
#define Yes		PERLYes
#define an		PERLan
#define buf		PERLbuf
#define bufend		PERLbufend
#define bufptr		PERLbufptr
#define compiling	PERLcompiling
#define comppad		PERLcomppad
#define cryptseen	PERLcryptseen
#define cshlen		PERLcshlen
#define cshname		PERLcshname
#define curinterp	PERLcurinterp
#define curpad		PERLcurpad
#define dc		PERLdc
#define di		PERLdi
#define ds		PERLds
#define egid		PERLegid
#define error_count	PERLerror_count
#define euid		PERLeuid
#define evstr		PERLevstr
#define expectterm	PERLexpectterm
#define fold		PERLfold
#define freq		PERLfreq
#define gid		PERLgid
#define hexdigit	PERLhexdigit
#define in_format	PERLin_format
#define know_next	PERLknow_next
#define last_lop	PERLlast_lop
#define last_uni	PERLlast_uni
#define linestr		PERLlinestr
#define multi_close	PERLmulti_close
#define multi_end	PERLmulti_end
#define multi_open	PERLmulti_open
#define multi_start	PERLmulti_start
#define nexttype	PERLnexttype
#define nextval		PERLnextval
#define nointrp		PERLnointrp
#define nomem		PERLnomem
#define nomemok		PERLnomemok
#define oldbufptr	PERLoldbufptr
#define oldoldbufptr	PERLoldoldbufptr
#define origalen	PERLorigalen
#define origenviron	PERLorigenviron
#define pad		PERLpad
#define padix		PERLpadix
#define patleave	PERLpatleave
#define regbol		PERLregbol
#define regcode		PERLregcode
#define regendp		PERLregendp
#define regeol		PERLregeol
#define regfold		PERLregfold
#define reginput	PERLreginput
#define reglastparen	PERLreglastparen
#define regmyendp	PERLregmyendp
#define regmyp_size	PERLregmyp_size
#define regmystartp	PERLregmystartp
#define regnpar		PERLregnpar
#define regparse	PERLregparse
#define regprecomp	PERLregprecomp
#define regprev		PERLregprev
#define regsawback	PERLregsawback
#define regsawbracket	PERLregsawbracket
#define regsize		PERLregsize
#define regstartp	PERLregstartp
#define regtill		PERLregtill
#define regxend		PERLregxend
#define rsfp		PERLrsfp
#define saw_return	PERLsaw_return
#define statbuf		PERLstatbuf
#define subline		PERLsubline
#define subname		PERLsubname
#define sv_no		PERLsv_no
#define sv_undef	PERLsv_undef
#define sv_yes		PERLsv_yes
#define thisexpr	PERLthisexpr
#define timesbuf	PERLtimesbuf
#define tokenbuf	PERLtokenbuf
#define uid		PERLuid
#define vert		PERLvert

/* interpreter specific variables */

#define Argv		(curinterp->IArgv)
#define Cmd		(curinterp->ICmd)
#define DBgv		(curinterp->IDBgv)
#define DBline		(curinterp->IDBline)
#define DBsignal	(curinterp->IDBsignal)
#define DBsingle	(curinterp->IDBsingle)
#define DBsub		(curinterp->IDBsub)
#define DBtrace		(curinterp->IDBtrace)
#define allgvs		(curinterp->Iallgvs)
#define ampergv		(curinterp->Iampergv)
#define argvgv		(curinterp->Iargvgv)
#define argvoutgv	(curinterp->Iargvoutgv)
#define arybase		(curinterp->Iarybase)
#define basetime	(curinterp->Ibasetime)
#define bodytarget	(curinterp->Ibodytarget)
#define cddir		(curinterp->Icddir)
#define chopset		(curinterp->Ichopset)
#define copline		(curinterp->Icopline)
#define curblock	(curinterp->Icurblock)
#define curcop		(curinterp->Icurcop)
#define curcsv		(curinterp->Icurcsv)
#define curoutgv	(curinterp->Icuroutgv)
#define curpm		(curinterp->Icurpm)
#define curstash	(curinterp->Icurstash)
#define curstname	(curinterp->Icurstname)
#define cxstack		(curinterp->Icxstack)
#define cxstack_ix	(curinterp->Icxstack_ix)
#define cxstack_max	(curinterp->Icxstack_max)
#define dbargs		(curinterp->Idbargs)
#define dbmrefcnt	(curinterp->Idbmrefcnt)
#define debdelim	(curinterp->Idebdelim)
#define debname		(curinterp->Idebname)
#define debstash	(curinterp->Idebstash)
#define debug		(curinterp->Idebug)
#define defgv		(curinterp->Idefgv)
#define defoutgv	(curinterp->Idefoutgv)
#define defstash	(curinterp->Idefstash)
#define delaymagic	(curinterp->Idelaymagic)
#define dirty		(curinterp->Idirty)
#define dlevel		(curinterp->Idlevel)
#define dlmax		(curinterp->Idlmax)
#define do_undump	(curinterp->Ido_undump)
#define doextract	(curinterp->Idoextract)
#define doswitches	(curinterp->Idoswitches)
#define dowarn		(curinterp->Idowarn)
#define dumplvl		(curinterp->Idumplvl)
#define e_fp		(curinterp->Ie_fp)
#define e_tmpname	(curinterp->Ie_tmpname)
#define envgv		(curinterp->Ienvgv)
#define eval_root	(curinterp->Ieval_root)
#define eval_start	(curinterp->Ieval_start)
#define fdpid		(curinterp->Ifdpid)
#define filemode	(curinterp->Ifilemode)
#define firstgv		(curinterp->Ifirstgv)
#define forkprocess	(curinterp->Iforkprocess)
#define formfeed	(curinterp->Iformfeed)
#define formtarget	(curinterp->Iformtarget)
#define freestrroot	(curinterp->Ifreestrroot)
#define gensym		(curinterp->Igensym)
#define hint		(curinterp->Ihint)
#define in_eval		(curinterp->Iin_eval)
#define incgv		(curinterp->Iincgv)
#define inplace		(curinterp->Iinplace)
#define last_elen	(curinterp->Ilast_elen)
#define last_eval	(curinterp->Ilast_eval)
#define last_in_gv	(curinterp->Ilast_in_gv)
#define last_root	(curinterp->Ilast_root)
#define lastfd		(curinterp->Ilastfd)
#define lastretstr	(curinterp->Ilastretstr)
#define lastscream	(curinterp->Ilastscream)
#define lastsize	(curinterp->Ilastsize)
#define lastspbase	(curinterp->Ilastspbase)
#define laststatval	(curinterp->Ilaststatval)
#define laststype	(curinterp->Ilaststype)
#define leftgv		(curinterp->Ileftgv)
#define lineary		(curinterp->Ilineary)
#define localizing	(curinterp->Ilocalizing)
#define main_root	(curinterp->Imain_root)
#define main_start	(curinterp->Imain_start)
#define mainstack	(curinterp->Imainstack)
#define maxscream	(curinterp->Imaxscream)
#define maxsysfd	(curinterp->Imaxsysfd)
#define minus_a		(curinterp->Iminus_a)
#define minus_c		(curinterp->Iminus_c)
#define minus_l		(curinterp->Iminus_l)
#define minus_n		(curinterp->Iminus_n)
#define minus_p		(curinterp->Iminus_p)
#define multiline	(curinterp->Imultiline)
#define mystack_base	(curinterp->Imystack_base)
#define mystack_mark	(curinterp->Imystack_mark)
#define mystack_max	(curinterp->Imystack_max)
#define mystack_sp	(curinterp->Imystack_sp)
#define mystrk		(curinterp->Imystrk)
#define nrs		(curinterp->Inrs)
#define nrschar		(curinterp->Inrschar)
#define nrslen		(curinterp->Inrslen)
#define ofmt		(curinterp->Iofmt)
#define ofs		(curinterp->Iofs)
#define ofslen		(curinterp->Iofslen)
#define oldlastpm	(curinterp->Ioldlastpm)
#define oldname		(curinterp->Ioldname)
#define origargc	(curinterp->Iorigargc)
#define origargv	(curinterp->Iorigargv)
#define origfilename	(curinterp->Iorigfilename)
#define ors		(curinterp->Iors)
#define orslen		(curinterp->Iorslen)
#define patchlevel	(curinterp->Ipatchlevel)
#define perldb		(curinterp->Iperldb)
#define pidstatus	(curinterp->Ipidstatus)
#define preambled	(curinterp->Ipreambled)
#define preprocess	(curinterp->Ipreprocess)
#define restartop	(curinterp->Irestartop)
#define rightgv		(curinterp->Irightgv)
#define rs		(curinterp->Irs)
#define rschar		(curinterp->Irschar)
#define rslen		(curinterp->Irslen)
#define rspara		(curinterp->Irspara)
#define sawampersand	(curinterp->Isawampersand)
#define sawi		(curinterp->Isawi)
#define sawstudy	(curinterp->Isawstudy)
#define sawvec		(curinterp->Isawvec)
#define screamfirst	(curinterp->Iscreamfirst)
#define screamnext	(curinterp->Iscreamnext)
#define secondgv	(curinterp->Isecondgv)
#define siggv		(curinterp->Isiggv)
#define signalstack	(curinterp->Isignalstack)
#define sortcop		(curinterp->Isortcop)
#define sortstack	(curinterp->Isortstack)
#define sortstash	(curinterp->Isortstash)
#define stack		(curinterp->Istack)
#define statcache	(curinterp->Istatcache)
#define statgv		(curinterp->Istatgv)
#define statname	(curinterp->Istatname)
#define statusvalue	(curinterp->Istatusvalue)
#define stdingv		(curinterp->Istdingv)
#define strchop		(curinterp->Istrchop)
#define taintanyway	(curinterp->Itaintanyway)
#define tainted		(curinterp->Itainted)
#define tmps_floor	(curinterp->Itmps_floor)
#define tmps_ix		(curinterp->Itmps_ix)
#define tmps_max	(curinterp->Itmps_max)
#define tmps_stack	(curinterp->Itmps_stack)
#define top_env		(curinterp->Itop_env)
#define toptarget	(curinterp->Itoptarget)
#define unsafe		(curinterp->Iunsafe)

#else	/* not embedded, so translate interpreter variables the other way... */

#define IArgv		Argv
#define ICmd		Cmd
#define IDBgv		DBgv
#define IDBline		DBline
#define IDBsignal	DBsignal
#define IDBsingle	DBsingle
#define IDBsub		DBsub
#define IDBtrace	DBtrace
#define Iallgvs		allgvs
#define Iampergv	ampergv
#define Iargvgv		argvgv
#define Iargvoutgv	argvoutgv
#define Iarybase	arybase
#define Ibasetime	basetime
#define Ibodytarget	bodytarget
#define Icddir		cddir
#define Ichopset	chopset
#define Icopline	copline
#define Icurblock	curblock
#define Icurcop		curcop
#define Icurcsv		curcsv
#define Icuroutgv	curoutgv
#define Icurpm		curpm
#define Icurstash	curstash
#define Icurstname	curstname
#define Icxstack	cxstack
#define Icxstack_ix	cxstack_ix
#define Icxstack_max	cxstack_max
#define Idbargs		dbargs
#define Idbmrefcnt	dbmrefcnt
#define Idebdelim	debdelim
#define Idebname	debname
#define Idebstash	debstash
#define Idebug		debug
#define Idefgv		defgv
#define Idefoutgv	defoutgv
#define Idefstash	defstash
#define Idelaymagic	delaymagic
#define Idirty		dirty
#define Idlevel		dlevel
#define Idlmax		dlmax
#define Ido_undump	do_undump
#define Idoextract	doextract
#define Idoswitches	doswitches
#define Idowarn		dowarn
#define Idumplvl	dumplvl
#define Ie_fp		e_fp
#define Ie_tmpname	e_tmpname
#define Ienvgv		envgv
#define Ieval_root	eval_root
#define Ieval_start	eval_start
#define Ifdpid		fdpid
#define Ifilemode	filemode
#define Ifirstgv	firstgv
#define Iforkprocess	forkprocess
#define Iformfeed	formfeed
#define Iformtarget	formtarget
#define Ifreestrroot	freestrroot
#define Igensym		gensym
#define Ihint		hint
#define Iin_eval	in_eval
#define Iincgv		incgv
#define Iinplace	inplace
#define Ilast_elen	last_elen
#define Ilast_eval	last_eval
#define Ilast_in_gv	last_in_gv
#define Ilast_root	last_root
#define Ilastfd		lastfd
#define Ilastretstr	lastretstr
#define Ilastscream	lastscream
#define Ilastsize	lastsize
#define Ilastspbase	lastspbase
#define Ilaststatval	laststatval
#define Ilaststype	laststype
#define Ileftgv		leftgv
#define Ilineary	lineary
#define Ilocalizing	localizing
#define Imain_root	main_root
#define Imain_start	main_start
#define Imainstack	mainstack
#define Imaxscream	maxscream
#define Imaxsysfd	maxsysfd
#define Iminus_a	minus_a
#define Iminus_c	minus_c
#define Iminus_l	minus_l
#define Iminus_n	minus_n
#define Iminus_p	minus_p
#define Imultiline	multiline
#define Imystack_base	mystack_base
#define Imystack_mark	mystack_mark
#define Imystack_max	mystack_max
#define Imystack_sp	mystack_sp
#define Imystrk		mystrk
#define Inrs		nrs
#define Inrschar	nrschar
#define Inrslen		nrslen
#define Iofmt		ofmt
#define Iofs		ofs
#define Iofslen		ofslen
#define Ioldlastpm	oldlastpm
#define Ioldname	oldname
#define Iorigargc	origargc
#define Iorigargv	origargv
#define Iorigfilename	origfilename
#define Iors		ors
#define Iorslen		orslen
#define Ipatchlevel	patchlevel
#define Iperldb		perldb
#define Ipidstatus	pidstatus
#define Ipreambled	preambled
#define Ipreprocess	preprocess
#define Irestartop	restartop
#define Irightgv	rightgv
#define Irs		rs
#define Irschar		rschar
#define Irslen		rslen
#define Irspara		rspara
#define Isawampersand	sawampersand
#define Isawi		sawi
#define Isawstudy	sawstudy
#define Isawvec		sawvec
#define Iscreamfirst	screamfirst
#define Iscreamnext	screamnext
#define Isecondgv	secondgv
#define Isiggv		siggv
#define Isignalstack	signalstack
#define Isortcop	sortcop
#define Isortstack	sortstack
#define Isortstash	sortstash
#define Istack		stack
#define Istatcache	statcache
#define Istatgv		statgv
#define Istatname	statname
#define Istatusvalue	statusvalue
#define Istdingv	stdingv
#define Istrchop	strchop
#define Itaintanyway	taintanyway
#define Itainted	tainted
#define Itmps_floor	tmps_floor
#define Itmps_ix	tmps_ix
#define Itmps_max	tmps_max
#define Itmps_stack	tmps_stack
#define Itop_env	top_env
#define Itoptarget	toptarget
#define Iunsafe		unsafe

#endif