-
Notifications
You must be signed in to change notification settings - Fork 47
/
Copy patheus_proto.h
773 lines (772 loc) · 48.8 KB
/
eus_proto.h
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
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
#ifdef __cplusplus
extern "C" {
#endif
/* arith.c */
extern pointer NUMEQUAL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GREATERP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LESSP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GREQP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LSEQP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MOD(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SUB1(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ADD1(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ratio_plus(pointer /*x*/, pointer /*y*/);
extern pointer ratio_minus(pointer /*x*/, pointer /*y*/);
extern pointer ratio_times(pointer /*x*/, pointer /*y*/);
extern pointer ratio_divide(pointer /*x*/, pointer /*y*/);
extern pointer int2ratio(eusinteger_t /*i*/);
extern eusfloat_t ratio2flt(pointer /*r*/);
extern pointer return_ratio(pointer /*r*/);
extern pointer PLUS(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MINUS(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer TIMES(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer QUOTIENT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SIN(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer COS(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer TAN(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ATAN(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer TANH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ATANH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SINH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ASINH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer COSH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ACOSH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SQRT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOG(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer EXP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ABS(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ROUND(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FLOOR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CEILING(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer TRUNCATE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer EUSFLOAT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer DECFLOAT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MAX(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MIN(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOGAND(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOGIOR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOGXOR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOGEQV(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOGNAND(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOGNOR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOGNOT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOGTEST(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOGBITP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ASH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LDB(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer DPB(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MAKERANDOMSTATE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer RANDOM(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void arith(context */*ctx*/, pointer /*mod*/);
extern pointer FREXP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
/* big.c */
#if Solaris2 && sun4
extern void extended_mul(unsigned int /*d*/, unsigned int /*q*/, unsigned int /*r*/, unsigned int */*hp*/, unsigned int */*lp*/);
extern void extended_div(unsigned int /*d*/, unsigned int /*h*/, long int /*l*/, unsigned int */*qp*/, unsigned int */*rp*/);
#else
extern void extended_mul(eusinteger_t /*d*/, eusinteger_t /*q*/, eusinteger_t /*r*/, eusinteger_t */*hp*/, eusinteger_t */*lp*/);
extern void extended_div(eusinteger_t /*d*/, eusinteger_t /*h*/, eusinteger_t /*l*/, eusinteger_t */*qp*/, eusinteger_t */*rp*/);
#endif
extern pointer stretch_big(pointer /*x*/, eusinteger_t /*i*/);
extern pointer copy_big(pointer /*x*/);
extern eusinteger_t big_zerop(pointer /*x*/);
extern eusinteger_t big_sign(pointer /*x*/);
extern int big_compare(pointer /*x*/, pointer /*y*/);
extern void complement_big(pointer /*x*/);
extern pointer big_minus(pointer /*x*/);
extern void add_int_big(eusinteger_t /*c*/, pointer /*x*/);
extern void sub_int_big(eusinteger_t /*c*/, pointer /*x*/);
extern void mul_int_big(eusinteger_t /*c*/, pointer /*x*/);
extern eusinteger_t div_int_big(eusinteger_t /*c*/, pointer /*x*/);
extern pointer big_plus(pointer /*x*/, pointer /*y*/);
extern pointer big_times(pointer /*x*/, pointer /*y*/);
extern void sub_int_big_big(eusinteger_t /*c*/, pointer /*x*/, pointer /*y*/);
extern eusinteger_t get_standardizing_factor_and_normalize(pointer /*x*/);
extern eusinteger_t div_big_big(pointer /*x*/, pointer /*y*/);
extern pointer big_quotient_remainder_auxiliary(pointer /*x*/, pointer /*y*/, int /*i*/);
extern void big_quotient_remainder(pointer /*x0*/, pointer /*y0*/, pointer */*qp*/, pointer */*rp*/);
extern int big_length(pointer /*x*/);
extern pointer normalize_big(pointer /*x*/);
extern pointer normalize_bignum(pointer /*x*/);
extern eusfloat_t big_to_float(pointer /*x*/);
/* big2.c */
/* calleus.c */
#if (defined(x86_64) || defined(aarch64))
extern eusinteger_t calleus(pointer /*fsym*/, eusinteger_t /*cargv*/*);
#else
extern eusinteger_t calleus(pointer /*fsym*/, eusinteger_t /*cargv*/*, int /*a2*/, int /*a3*/, int /*a4*/, int /*a5*/, int /*a6*/, int /*a7*/, int /*a8*/);
#endif
extern void foreign(context */*ctx*/, pointer /*mod*/);
/* charstring.c */
extern pointer EUSCHAR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SETCHAR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer UPCASEP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOWCASEP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ALPHAP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer DIGITP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ALNUMP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CHUPCASE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CHDOWNCASE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer STRINGEQ(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer STRINGEQUAL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer STR_LT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer STR_LE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer STR_EQ(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer STR_GT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer STR_GE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void charstring(context */*ctx*/, pointer /*mod*/);
/* compsub.c */
extern int maerror(void);
extern pointer loadglobal(pointer /*s*/);
extern pointer storeglobal(pointer /*s*/, pointer /*v*/);
extern pointer xcar(pointer /*p*/);
extern pointer xcdr(pointer /*p*/);
extern pointer xcadr(pointer /*p*/);
extern pointer minilist(context */*ctx*/, pointer */*p*/, int /*n*/);
extern pointer restorecatch(context */*ctx*/);
/* eus.c */
extern void unwind(context */*ctx*/, pointer */*p*/);
#if 0
extern pointer error(enum errorcode /*ec*/, pointer /*msg*/, ... );
#endif
#ifdef USE_STDARG
extern pointer error(enum errorcode /*ec*/, ...);
#else
extern pointer error(long /*va_alist*/);
#endif
#ifdef USE_STDARG
extern pointer basicclass(char */*name*/, ...);
#else
extern pointer basicclass(long /*va_alist*/);
#endif
extern void eusint(int /*s*/, int /*code*/, int /*x*/, eusinteger_t /*addr*/);
extern void sigbreak(void);
extern unsigned int thr_self(void);
extern void mainthread(context */*ctx*/);
extern int main(int /*argc*/, char */*argv*/*);
/* eusioctl.c */
extern pointer IOCTL_TCGETA(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL_TCSETA(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL_TCSETAF(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL_TCSETAW(int /*n*/, pointer /*argv*/*);
extern pointer TCGETATTR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer TCSETATTR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL_TCGETS(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL_TCSETS(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL_TCSETSW(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL_TCSETSF(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void eusioctl(context */*ctx*/, pointer /*mod*/);
/* eusstart.dmy.c */
extern void eusstart(context */*ctx*/);
/* eusstream.c */
extern pointer openfile(context */*ctx*/, char */*fname*/, int /*dir*/, int /*acsmode*/, int /*size*/);
extern int closestream(pointer /*s*/);
extern int readch(pointer /*s*/);
extern int unreadch(pointer /*s*/, int /*ch*/);
extern int flushstream(pointer /*s*/);
extern int writech(pointer /*s*/, int /*ch*/);
extern int writestr(pointer /*s*/, byte */*mes*/, int /*len*/);
/* eval.c */
extern pointer *getobjv(pointer /*sym*/, pointer /*varvec*/, pointer /*obj*/);
extern pointer getval(context */*ctx*/, pointer /*sym*/);
extern pointer setval(context */*ctx*/, pointer /*sym*/, pointer /*val*/);
extern pointer getfunc(context */*ctx*/, pointer /*f*/);
extern pointer get_sym_func(pointer /*s*/);
extern void setfunc(pointer /*sym*/, pointer /*func*/);
extern pointer *ovafptr(pointer /*o*/, pointer /*v*/);
extern void bindspecial(context */*ctx*/, pointer /*sym*/, pointer /*newval*/);
extern void unbindx(context */*ctx*/, int /*count*/);
extern void unbindspecial(context */*ctx*/, struct specialbindframe */*limit*/);
extern struct bindframe *fastbind(context */*ctx*/, pointer /*var*/, pointer /*val*/, struct bindframe */*lex*/);
extern struct bindframe *vbind(context */*ctx*/, pointer /*var*/, pointer /*val*/, struct bindframe */*lex*/, struct bindframe */*declscope*/);
extern struct bindframe *declare(context */*ctx*/, pointer /*decllist*/, struct bindframe */*env*/);
extern int parsekeyparams(pointer /*keyvec*/, pointer */*actuals*/, int /*noarg*/, pointer */*results*/, int /*allowotherkeys*/);
extern struct bindframe *bindkeyparams(context */*ctx*/, pointer /*formal*/, pointer */*argp*/, int /*noarg*/, struct bindframe */*env*/, struct bindframe */*bf*/);
extern pointer funlambda(context */*ctx*/, pointer /*fn*/, pointer /*formal*/, pointer /*body*/, pointer */*argp*/, struct bindframe */*env*/, int /*noarg*/);
extern pointer call_foreign(eusinteger_t (*/*ifunc*/)(), pointer /*code*/, int /*n*/, pointer /*args*/*);
extern pointer funcode(context */*ctx*/, pointer /*func*/, pointer /*args*/, int /*noarg*/);
extern pointer ufuncall(context */*ctx*/, pointer /*form*/, pointer /*fn*/, pointer /*args*/, struct bindframe */*env*/, int /*noarg*/);
extern pointer eval(context */*ctx*/, pointer /*form*/);
extern pointer eval2(context */*ctx*/, pointer /*form*/, pointer /*env*/);
extern pointer progn(context */*ctx*/, pointer /*forms*/);
#ifdef USE_STDARG
extern pointer csend(context */*ctx*/, ...);
#else
extern pointer csend();
#endif
/* fcall.c */
/* intern.c */
extern int rehash(pointer /*str*/);
extern pointer findsymbol(byte */*id*/, int /*l*/, pointer /*symvec*/, int */*hashval*/);
extern pointer export(pointer /*sym*/, pointer /*pkg*/);
extern pointer intern(context */*ctx*/, char */*id*/, int /*l*/, pointer /*pkg*/);
/* leo.c */
extern pointer GETCLASS(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CLASSP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SUBCLASSP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer DERIVEDP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ENTERCLASS(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void addmethod(context */*ctx*/, pointer /*meth*/, pointer /*class*/, pointer /*doc*/);
extern void addcmethod(context */*ctx*/, pointer /*mod*/, pointer (*/*cfunc*/)(), pointer /*sel*/, pointer /*class*/, pointer /*doc*/);
extern pointer DEFMETHOD(context */*ctx*/, pointer /*arg*/);
extern pointer INSTANTIATE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer findmethod(context */*ctx*/, pointer /*sel*/, pointer /*search*/, pointer */*curclass*/);
extern pointer findforward(context */*ctx*/, pointer /*selector*/, pointer /*klass*/, pointer /*obj*/, pointer */*component*/, pointer */*classfound*/);
extern pointer SEND(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SEND_IF_FOUND(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SENDMESSAGE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CLONE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer METHCACHE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FINDMETHOD(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern int getslotindex(pointer /*obj*/, pointer /*klass*/, pointer /*varid*/);
extern pointer SLOT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SETSLOT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CONSCAR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CONSCDR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer copyobj(context */*ctx*/, pointer /*org*/);
extern void copyunmark(pointer /*obj*/);
extern pointer COPYOBJ(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BECOME(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer REPLACEOBJECT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void leo(context */*ctx*/, pointer /*mod*/);
/* lispio.c */
extern pointer OPENFILE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CLOSE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer getoutstream(context */*ctx*/, int /*n*/, pointer /*strm*/);
extern pointer getinstream(context */*ctx*/, int /*n*/, pointer /*strm*/);
extern pointer PRINT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer PRIN1(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer PRINC(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer TERPRI(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void prntsize(pointer /*s*/, int /*lim*/);
extern pointer PRNTSIZE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer READ(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer READ_DELIMITED_LIST(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer READLINE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer READCH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer UNREADCH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer PEEKCH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FINOUT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer WRTBYTE(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer WRTWORD(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer WRTLONG(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SETMACROCH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETMACROCH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SETDISPMACRO(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETDISPMACRO(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer RESETREADTABLE(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer XFORMAT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SIGERROR(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer INSTALL_ERRHANDLER(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern void lispio(context */*ctx*/, pointer /*mod*/);
/* lists.c */
extern pointer CAR(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer CDR(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer CADR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CDDR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CDAR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CAAR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CADDR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer NTH(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer NTHCDR(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer CONS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer RPLACA(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer RPLACA2(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer RPLACD(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer RPLACD2(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LIST(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LIST_STAR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer APPEND(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer NCONC(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer subst(context */*ctx*/, pointer /*x*/, pointer /*y*/, pointer /*z*/);
extern pointer SUBST(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer nsubst(pointer /*x*/, pointer /*y*/, pointer */*z*/);
extern pointer NSUBST(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer memq(pointer /*item*/, pointer /*list*/);
extern pointer MEMQ(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MEMBER(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SUPERMEMBER(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer assq(pointer /*item*/, pointer /*alist*/);
extern pointer ASSQ(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ASSOC(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SUPERASSOC(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BUTLAST(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer NBUTLAST(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void lists(context */*ctx*/, pointer /*mod*/);
/* loadelf.c */
extern pointer SRCLOAD(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void add_module_initializer(char */*name*/, pointer (*/*entry*/)());
extern void exec_module_initializers(context */*ctx*/);
extern pointer list_module_initializers(context */*ctx*/, pointer /*initnames*/);
extern pointer list_module_initializers2(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer build_quote_vector(context */*ctx*/, int /*size*/, char */*strings*/*);
extern pointer eval_c_strings(context */*ctx*/, int /*size*/, const char */*strings*/*);
extern pointer FIND_ENTRY(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FIND_ENTRY2(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SYSMOD(void);
extern pointer UNBINLOAD(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer BINLOAD(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SAVE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void loadsave(context */*ctx*/, pointer /*mod*/);
/* makedate.c */
/* makes.c */
extern pointer Getstring(pointer /*s*/);
extern byte *get_string(pointer /*s*/);
extern pointer rawcons(context */*ctx*/, pointer /*a*/, pointer /*d*/);
extern pointer cons(context */*ctx*/, pointer /*a*/, pointer /*d*/);
extern pointer stackrawlist(context */*ctx*/, int /*n*/);
extern pointer stacknlist(context */*ctx*/, int /*n*/);
extern pointer makebuffer(int /*size*/);
extern pointer makestring(char */*s*/, int /*l*/);
extern pointer make_foreign_string(eusinteger_t /*addr*/, int /*size*/);
extern pointer makesymbol(context */*ctx*/, char */*str*/, int /*leng*/, pointer /*home*/);
extern pointer searchpkg(byte */*token*/, int /*leng*/);
extern pointer findpkg(pointer /*pkgname*/);
extern pointer makepkg(context */*ctx*/, pointer /*namestr*/, pointer /*nicks*/, pointer /*uses*/);
extern pointer mkstream(context */*ctx*/, pointer /*dir*/, pointer /*string*/);
extern pointer mkfilestream(context */*ctx*/, pointer /*dir*/, pointer /*string*/, int /*fno*/, pointer /*fname*/);
extern pointer mkiostream(context */*ctx*/, pointer /*in*/, pointer /*out*/);
extern pointer makecode(pointer /*mod*/, pointer (*/*f*/)(), pointer /*ftype*/);
extern void bumpcix(int /*m*/, int /*n*/);
extern void recixobj(int /*newcix*/);
extern void resetcix(pointer /*class*/, cixpair */*p*/);
extern void enterclass(pointer /*classobj*/);
extern pointer makeclass(context */*ctx*/, pointer /*name*/, pointer /*superobj*/, pointer /*vars*/, pointer /*types*/, pointer /*forwards*/, int /*tag*/, pointer /*metaclass*/);
extern pointer makeobject(pointer /*class*/);
extern pointer makevector(pointer /*vclass*/, int /*size*/);
extern pointer makefvector(int /*s*/);
extern pointer defvector(context */*ctx*/, char */*name*/, pointer /*super*/, int /*elm*/, int /*size*/);
extern pointer makematrix(context */*ctx*/, int /*row*/, int /*column*/);
extern pointer makemodule(context */*ctx*/, int /*size*/);
extern pointer makeclosure(pointer /*code*/, pointer /*quote*/, pointer (*/*f*/)(), pointer /*e0*/, pointer */*e1*/, pointer */*e2*/);
extern pointer makereadtable(context */*ctx*/);
extern pointer makelabref(pointer /*n*/, pointer /*v*/, pointer /*nxt*/);
extern pointer makeratio(int /*num*/, int /*denom*/);
extern pointer makebig(int /*n*/);
extern pointer makebig1(long /*x*/);
extern pointer makebig2(long /*hi*/, long /*lo*/);
extern pointer defun(context */*ctx*/, char */*name*/, pointer /*mod*/, pointer (*/*f*/)(), char * /*doc*/);
extern pointer defunpkg(context */*ctx*/, char */*name*/, pointer /*mod*/, pointer (*/*f*/)(), pointer /*pkg*/);
extern pointer defmacro(context */*ctx*/, char */*name*/, pointer /*mod*/, pointer (*/*f*/)());
extern int special_index(void);
extern pointer defspecial(context */*ctx*/, char */*name*/, pointer /*mod*/, pointer (*/*f*/)());
extern pointer defconst(context */*ctx*/, char */*name*/, pointer /*val*/, pointer /*pkg*/);
extern pointer defvar(context */*ctx*/, char */*name*/, pointer /*val*/, pointer /*pkg*/);
extern pointer deflocal(context */*ctx*/, char */*name*/, pointer /*val*/, pointer /*pkg*/);
extern pointer defkeyword(context */*ctx*/, char */*name*/);
extern pointer compfun(context */*ctx*/, pointer /*sym*/, pointer /*mod*/, pointer (*/*entry*/)(), pointer /*doc*/);
extern pointer compmacro(context */*ctx*/, pointer /*sym*/, pointer /*mod*/, pointer (*/*entry*/)(), pointer /*doc*/);
extern struct blockframe *makeblock(context */*ctx*/, pointer /*kind*/, pointer /*name*/, jmp_buf */*jbuf*/, struct blockframe */*link*/);
extern struct fletframe *makeflet(context */*ctx*/, pointer /*nm*/, pointer /*def*/, struct fletframe */*scp*/, struct fletframe */*link*/);
extern void mkcatchframe(context */*ctx*/, pointer /*lab*/, jmp_buf */*jbuf*/);extern void allocate_stack(context */*ctx*/, int /*n*/);
extern context *makelispcontext(int /*bs_size*/);
extern void deletecontext(int /*id*/, context */*ctx*/);
/* matrix.c */
extern pointer VPLUS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer VPLUSPLUS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer VMINUS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer VMINUS_ABS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer VINNERPRODUCT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer VNORM(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer VNORM2(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer VNORMALIZE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VDISTANCE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VDISTANCE2(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VDIRECTION(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VCROSSPRODUCT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SCA3PROD(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SCALEVEC(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MIDPOINT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MKFLTVEC(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VLESSP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VGREATERP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MINIMALBOX(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VMIN(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VMAX(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MATTIMES(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer TRANSFORM(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ROTVEC(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ROTMAT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ROTATION_MATRIX(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer ROTANGLE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer TRANSPOSE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer INV_RPY(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer INV_EULER(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LU_DECOMPOSE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LU_SOLVE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LU_DETERMINANT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void matrix(context */*ctx*/, pointer /*mod*/);
/* memory.c */
extern int newchunk(int /*k*/);
extern bpointer root_alloc_big(context */*ctx*/, int /*req*/);
extern void root_alloc_small(context */*ctx*/, int /*req*/);
extern pointer alloc(int /*s*/, int /*e*/, int /*cid*/, int /*nils*/);
extern void mark(pointer /*p*/);
extern void newgcstack(pointer */*oldsp*/);
extern void markall(void);
extern void reclaim(bpointer /*p*/);
extern void sweepall(void);
extern void gc(void);
#ifdef STACK_DEBUG
extern pointer p_print(pointer /*v*/, context */*ctx*/);
#endif
#if 0
/* memory.mutex.c */
extern int newchunk(int /*k*/);
extern bpointer root_alloc_big(context */*ctx*/, int /*req*/);
extern int root_alloc_small(context */*ctx*/, int /*req*/);
extern pointer halloc(int /*req*/, int /*e*/, int /*cid*/);
extern pointer allocx(int /*s*/, int /*e*/, int /*cid*/, int /*nils*/);
extern pointer alloc(int /*s*/, int /*e*/, int /*cid*/, int /*nils*/);
extern int mark(pointer /*p*/);
extern int newgcstack(pointer */*oldsp*/);
extern int markall(void);
extern int reclaim(bpointer /*p*/);
extern void sweepall(void);
extern int gc(void);
/* memory.safe.c */
extern int newchunk(int /*k*/);
extern pointer halloc(int /*req*/, int /*e*/, int /*cid*/);
extern pointer alloc(int /*s*/, int /*e*/, int /*cid*/, int /*nils*/);
extern int mark(pointer /*p*/);
extern int markall(void);
extern int reclaim(bpointer /*p*/);
extern void sweepall(void);
extern int gc(void);
#endif
/* mthread.c */
extern pointer COND_SIGNAL(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer COND_WAIT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer FREE_THREADS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MAKE_COND(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MAKE_MUTEX_LOCK(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MAKE_SEMAPHORE(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MUTEX_LOCK(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MUTEX_TRYLOCK(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MUTEX_UNLOCK(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SEMA_POST(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SEMA_TRYWAIT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SEMA_WAIT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THREAD_SELF(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THR_CONTINUE(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THR_CREATE(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THR_GETCONCURRENCY(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THR_GETPRIO(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THR_KILL(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THR_SELF(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THR_SETCONCURRENCY(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THR_SETPRIO(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THR_SIGSETMASK(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer THR_SUSPEND(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MAKE_THREAD(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer AFUNCALL(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer AFUNCALL_NO_WAIT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer WAIT_AFUNCALL(context */*ctx*/, int /*n*/, pointer */*argv*/);
/* paragc.c */
/* predicates.c */
extern pointer ATOM(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer EQ(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer NILP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SYMBOLP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer STRINGP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer LISTP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer CONSP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer ENDP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer NUMBERP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer INTEGERP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer FLOATP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer BOUNDP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FBOUNDP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer STREAMP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer superequal(pointer /*x*/, pointer /*y*/);
extern pointer equal(pointer /*x*/, pointer /*y*/);
extern pointer EQUAL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SUPEREQUAL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void predicates(context */*ctx*/, pointer /*mod*/);
/* printer.c */
extern void printint(context */*ctx*/, eusinteger_t /*num*/, pointer /*f*/, int /*base*/, int /*field1*/, int /*field2*/);
extern void printnum(context */*ctx*/, pointer /*nump*/, pointer /*strm*/, int /*base*/, int /*field1*/, int /*field2*/);
extern pointer prinx(context */*ctx*/, pointer /*obj*/, pointer /*stream*/);
extern void terpri(pointer /*f*/);
/* pthreads.c */
#if 0
extern int thr_self(void);
extern int thr_getprio(int /*tid*/, int */*prio*/);
extern int thr_setprio(int /*tid*/, int /*prio*/);
extern int thr_create(void */*base*/, size_t /*size*/, void (*/*func*/)(), void */*args*/, long /*flags*/, int */*tid*/);
extern int thr_continue(int /*tid*/);
extern int thr_suspend(int /*tid*/);
extern int thr_kill(int /*tid*/, int /*sig*/);
extern int thr_join(int /*tid*/, int */*depature*/, void **/*status*/);
#endif /* 0 */
/* reader.c */
extern int is_digit(int /*ch*/, int /*base*/);
extern pointer read_delimited_list(context */*ctx*/, pointer /*f*/, int /*delim_char*/, char /*token*/*);
extern int gcd(int /*u*/, int /*v*/);
extern pointer reader(context */*ctx*/, pointer /*f*/, pointer /*recursivep*/);
extern void initreader(context */*ctx*/);
/* sequence.c */
extern pointer call1(context */*ctx*/, pointer /*func*/, pointer /*arg*/);
extern pointer call2(context */*ctx*/, pointer /*func*/, pointer /*arg1*/, pointer /*arg2*/);
extern eusinteger_t coerceintval(pointer /*x*/);
extern pointer fastvref(pointer /*vec*/, int /*index*/);
extern void fastvset(pointer /*vec*/, int /*index*/, pointer /*val*/);
extern pointer IDENTITY(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SUBSEQ(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer COPYSEQ(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer REVERSE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer NREVERSE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern int pushsequence(context */*ctx*/, pointer /*a*/, int /*offset*/, int /*count*/);
extern pointer makesequence(context */*ctx*/, int /*n*/, pointer /*resulttype*/);
extern pointer CONCATENATE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer COERCE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FILL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MAP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer POSITION(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer FIND(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer COUNT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer UNIREMOVE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer REMOVE_DUPLICATES(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer DELETE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SUBSTITUTE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer NSUBSTITUTE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VECREPLACE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern int compar(pointer */*x*/, pointer */*y*/);
extern pointer SORT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LENGTH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ELT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SETELT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void sequence(context */*ctx*/, pointer /*mod*/);
/* specials.c */
extern pointer quote(context */*ctx*/, pointer /*arg*/);
extern pointer EVAL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer PROGN(context */*ctx*/, pointer /*arg*/);
extern pointer PROG1(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer APPLY(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FUNCALL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FUNCTION_CLOSURE(context */*ctx*/, pointer /*arg*/);
extern pointer MACEXPAND2(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MAPC(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MAPCAR(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MAPCAN(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SETQ(context */*ctx*/, pointer /*arg*/);
extern pointer IF(context */*ctx*/, pointer /*arg*/);
extern pointer WHEN(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer WHILE(context */*ctx*/, pointer /*arg*/);
extern pointer COND(context */*ctx*/, pointer /*arg*/);
extern pointer PARLET(context */*ctx*/, pointer /*args*/);
extern pointer SEQLET(context */*ctx*/, pointer /*args*/);
extern pointer CATCH(context */*ctx*/, pointer /*arg*/);
extern void throw(context */*ctx*/, pointer /*tag*/, pointer /*result*/);
extern pointer THROW(context */*ctx*/, pointer /*arg*/);
extern pointer FLET(context */*ctx*/, pointer /*arg*/);
extern pointer LABELS(context */*ctx*/, pointer /*arg*/);
extern pointer RESET(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer EVALHOOK(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer BLOCK(context */*ctx*/, pointer /*arg*/);
extern pointer RETFROM(context */*ctx*/, pointer /*arg*/);
extern pointer RETURN(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer UNWINDPROTECT(context */*ctx*/, pointer /*arg*/);
extern pointer TAGBODY(context */*ctx*/, pointer /*arg*/);
extern pointer GO(context */*ctx*/, pointer /*arg*/);
extern pointer EVALWHEN(context */*ctx*/, pointer /*arg*/);
extern pointer THE(context */*ctx*/, pointer /*arg*/);
extern pointer AND(context */*ctx*/, pointer /*arg*/);
extern pointer OR(context */*ctx*/, pointer /*arg*/);
extern pointer PROCLAIM(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer DECLARE(pointer /*arg*/);
extern pointer ALLPACKAGES(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FINDPACKAGE(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MAKEPACKAGE(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern eusinteger_t sxhash(pointer /*x*/);
extern pointer SXHASH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SYMVALUE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SYMBNDVALUE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SETFUNC(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SYMFUNC(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MAKUNBOUND(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer FMAKUNBOUND(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern void set_special(context */*ctx*/, pointer /*var*/, pointer /*val*/);
extern pointer SETSPECIAL(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer DEFUN(context */*ctx*/, pointer /*arg*/);
extern pointer DEFMACRO(context */*ctx*/, pointer /*arg*/);
extern pointer FINDSYMBOL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer INTERN(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer gensym(context */*ctx*/);
extern pointer GENSYM(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETPROP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer EXPORT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer putprop(context */*ctx*/, pointer /*sym*/, pointer /*val*/, pointer /*attr*/);
extern pointer PUTPROP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void specials(context */*ctx*/, pointer /*mod*/);
/* sysfunc.c */
extern pointer GEESEE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SBCOUNT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer GCTIME(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ALLOC(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer NEWSTACK(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer DISPOSE_HOOK(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern int xmark(context */*ctx*/, pointer /*p*/);
extern int xcollect(context */*ctx*/, pointer /*p*/);
extern pointer RECLAIM(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer RECLTREE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer objsize1(pointer /*x*/);
extern void objsize2(pointer /*x*/);
extern pointer OBJSIZE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BKTRACE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MEMORY_REPORT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer CLEAR_ALLOCCOUNT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer ROOM(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FREE_COUNTS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer LIST_ALL_CHUNKS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer INSTANCELIST(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LISTALLREFERENCES(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ADDRESS(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer PEEK(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer POKE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LISTALLCATCHERS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer LISTBINDINGS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer LISTSPECIALBINDINGS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer LISTALLCLASSES(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer EXPORTALL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer NEXT_SPECIAL_INDEX(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer THREAD_SPECIALS(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void sysfunc(context */*ctx*/, pointer /*mod*/);
/* unixcall.c */
extern pointer PTIMES(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer RUNTIME(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LOCALTIME(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ASCTIME(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETRUSAGE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETPAGESIZE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETTIMEOFDAY(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETITIMER(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SETITIMER(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer KILL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SIGNAL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer WAIT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ALARM(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETPID(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETPPID(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETPGRP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SETPGRP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETUID(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETEUID(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETGID(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETEGID(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SETUID(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SETGID(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FORK(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer EXEC(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer EXIT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer UNIXREAD(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer UNIXWRITE(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer UNIXCLOSE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FCNTL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern int bytesize(pointer /*p*/);
extern pointer IOCTL_(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL_R(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL_W(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer IOCTL_WR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer DUP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer DUP2(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MKNOD(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer LINK(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer UNLINK(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer RENAME(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ACCESS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer STAT(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer DIRECTORY(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LSEEK(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer CHDIR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CHMOD(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer CHOWN(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer PIPE(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MSGGET(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MSGRCV(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MSGSND(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MSGCTL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SYSTEM(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETWD(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETENV(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SLEEP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SYSERRLIST(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer PAUSE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ISATTY(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SOCKET(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BIND(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer CONNECT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LISTEN(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ACCEPT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETPEERNAME(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern eusinteger_t *checkbitvec(pointer /*a*/, long *);
extern pointer SELECT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SELECT_READ(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SBRK(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MALLOC(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer FREE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETHOSTNAME(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer GETHOSTBYNAME(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer GETHOSTBYADDR(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer GETNETBYNAME(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer GETPROTOBYNAME(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer GETSERVBYNAME(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer ENVIRON(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer ERRNO(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer H2NS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer N2HS(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer LOCKF(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MKDIR(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer RMDIR(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MMAP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer MUNMAP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer PUTENV(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer RECVFROM(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SENDTO(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SIGADDSET(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SIGDELSET(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer SIGPROCMASK(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer UALARM(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer UNAME(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer USLEEP(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern pointer VFORK(context */*ctx*/, int /*n*/, pointer */*argv*/);
extern void unixcall(context */*ctx*/, pointer /*mod*/);
/* vectorarray.c */
extern pointer MKVECTOR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer MKINTVECTOR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer vref(pointer /*a*/, int /*n*/);
extern pointer SVREF(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer vset(pointer /*a*/, int /*n*/, pointer /*newval*/);
extern pointer SVSET(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern int arrayindex(pointer /*a*/, int /*n*/, pointer */*indices*/);
extern pointer AREF(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ASET(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer ARRAYP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VECTORPOP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VECTORPUSH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VECTOREXPUSH(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VECTORP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BIT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer SETBIT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BITAND(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BITIOR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BITXOR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BITEQV(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BITNAND(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BITNOR(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer BITNOT(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern void vectorarray(context */*ctx*/, pointer /*mod*/);
/* intersection.c */
extern pointer LINEINTERSECTION(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer LINEINTERSECTION3(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer VPCLIP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer HOMO_VPCLIP(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer HOMO2NORMAL(context */*ctx*/, int /*n*/, pointer /*argv*/*);
extern pointer HOMOGENIZE(context */*ctx*/, int /*n*/, pointer /*argv*/*);
/* setjmp.c */
extern pointer psetjmp(jmp_buf);
extern void plongjmp(jmp_buf,pointer);
#ifdef __cplusplus
}
#endif