History

20100112-0246

forsyth committed 16 years ago

Commit b19509e1 parent a1046f52 files · +1 −2013Browse files

Unified · Split

2 files
  1. include/version.h +1 −1
  2. limbo/runt.h +0 −2012
include/version.h+1−1
@@ -1 +1 @@
1#define VERSION "Fourth Edition (20100110)"1#define VERSION "Fourth Edition (20100112)"
limbo/runt.h+0−2012
@@ -1,2012 +0,0 @@
1typedef struct Sys_Qid Sys_Qid;
2typedef struct Sys_Dir Sys_Dir;
3typedef struct Sys_FD Sys_FD;
4typedef struct Sys_Connection Sys_Connection;
5typedef struct Sys_FileIO Sys_FileIO;
6typedef struct Draw_Point Draw_Point;
7typedef struct Draw_Rect Draw_Rect;
8typedef struct Draw_Image Draw_Image;
9typedef struct Draw_Font Draw_Font;
10typedef struct Draw_Display Draw_Display;
11typedef struct Draw_Screen Draw_Screen;
12typedef struct Draw_Pointer Draw_Pointer;
13typedef struct Draw_Context Draw_Context;
14typedef struct Prefab_Style Prefab_Style;
15typedef struct Prefab_Environ Prefab_Environ;
16typedef struct Prefab_Layout Prefab_Layout;
17typedef struct Prefab_Element Prefab_Element;
18typedef struct Prefab_Compound Prefab_Compound;
19typedef struct Tk_Toplevel Tk_Toplevel;
20typedef struct Keyring_SigAlg Keyring_SigAlg;
21typedef struct Keyring_PK Keyring_PK;
22typedef struct Keyring_SK Keyring_SK;
23typedef struct Keyring_Certificate Keyring_Certificate;
24typedef struct Keyring_DigestState Keyring_DigestState;
25struct Sys_Qid
26{
27 WORD path;
28 WORD vers;
29};
30#define Sys_Qid_size 8
31#define Sys_Qid_map {0}
32struct Sys_Dir
33{
34 String* name;
35 String* uid;
36 String* gid;
37 Sys_Qid qid;
38 WORD mode;
39 WORD atime;
40 WORD mtime;
41 WORD length;
42 WORD dtype;
43 WORD dev;
44};
45#define Sys_Dir_size 44
46#define Sys_Dir_map {0xe0,}
47struct Sys_FD
48{
49 WORD fd;
50};
51#define Sys_FD_size 4
52#define Sys_FD_map {0}
53struct Sys_Connection
54{
55 Sys_FD* dfd;
56 Sys_FD* cfd;
57 String* dir;
58};
59#define Sys_Connection_size 12
60#define Sys_Connection_map {0xe0,}
61struct Sys_FileIO
62{
63 Channel* rd_req;
64 Channel* rd_rep;
65 Channel* wr_req;
66 Channel* wr_rep;
67};
68typedef struct{ WORD t0; WORD t1; WORD t2; } Sys_FileIO_rd_req;
69#define Sys_FileIO_rd_req_size 12
70#define Sys_FileIO_rd_req_map {0}
71typedef struct{ Array* t0; String* t1; } Sys_FileIO_rd_rep;
72#define Sys_FileIO_rd_rep_size 8
73#define Sys_FileIO_rd_rep_map {0xc0,}
74typedef struct{ WORD t0; Array* t1; WORD t2; } Sys_FileIO_wr_req;
75#define Sys_FileIO_wr_req_size 12
76#define Sys_FileIO_wr_req_map {0x40,}
77typedef struct{ WORD t0; String* t1; } Sys_FileIO_wr_rep;
78#define Sys_FileIO_wr_rep_size 8
79#define Sys_FileIO_wr_rep_map {0x40,}
80#define Sys_FileIO_size 16
81#define Sys_FileIO_map {0xf0,}
82struct Draw_Point
83{
84 WORD x;
85 WORD y;
86};
87#define Draw_Point_size 8
88#define Draw_Point_map {0}
89struct Draw_Rect
90{
91 Draw_Point min;
92 Draw_Point max;
93};
94#define Draw_Rect_size 16
95#define Draw_Rect_map {0}
96struct Draw_Image
97{
98 Draw_Rect r;
99 Draw_Rect clipr;
100 WORD ldepth;
101 WORD repl;
102};
103#define Draw_Image_size 40
104#define Draw_Image_map {0}
105struct Draw_Font
106{
107 String* name;
108 WORD height;
109 WORD ascent;
110};
111#define Draw_Font_size 12
112#define Draw_Font_map {0x80,}
113struct Draw_Display
114{
115 Draw_Image* image;
116 Draw_Image* ones;
117 Draw_Image* zeros;
118};
119#define Draw_Display_size 12
120#define Draw_Display_map {0xe0,}
121struct Draw_Screen
122{
123 WORD id;
124 Draw_Image* image;
125 Draw_Image* fill;
126};
127#define Draw_Screen_size 12
128#define Draw_Screen_map {0x60,}
129struct Draw_Pointer
130{
131 WORD buttons;
132 Draw_Point xy;
133};
134#define Draw_Pointer_size 12
135#define Draw_Pointer_map {0}
136struct Draw_Context
137{
138 Draw_Screen* screen;
139 Draw_Display* display;
140 Channel* cir;
141 Channel* ckbd;
142 Channel* cptr;
143 Channel* ctoappl;
144 Channel* ctomux;
145};
146typedef WORD Draw_Context_cir;
147#define Draw_Context_cir_size 4
148#define Draw_Context_cir_map {0}
149typedef WORD Draw_Context_ckbd;
150#define Draw_Context_ckbd_size 4
151#define Draw_Context_ckbd_map {0}
152typedef Draw_Pointer* Draw_Context_cptr;
153#define Draw_Context_cptr_size 4
154#define Draw_Context_cptr_map {0x80,}
155typedef WORD Draw_Context_ctoappl;
156#define Draw_Context_ctoappl_size 4
157#define Draw_Context_ctoappl_map {0}
158typedef WORD Draw_Context_ctomux;
159#define Draw_Context_ctomux_size 4
160#define Draw_Context_ctomux_map {0}
161#define Draw_Context_size 28
162#define Draw_Context_map {0xfe,}
163struct Prefab_Style
164{
165 Draw_Font* titlefont;
166 Draw_Font* textfont;
167 Draw_Image* screencolor;
168 Draw_Image* elemcolor;
169 Draw_Image* edgecolor;
170 Draw_Image* titlecolor;
171 Draw_Image* textcolor;
172 Draw_Image* highlightcolor;
173};
174#define Prefab_Style_size 32
175#define Prefab_Style_map {0xff,}
176struct Prefab_Environ
177{
178 Draw_Screen* screen;
179 Prefab_Style* style;
180};
181#define Prefab_Environ_size 8
182#define Prefab_Environ_map {0xc0,}
183struct Prefab_Layout
184{
185 Draw_Font* font;
186 Draw_Image* color;
187 String* text;
188 Draw_Image* icon;
189 Draw_Image* mask;
190 String* tag;
191};
192#define Prefab_Layout_size 24
193#define Prefab_Layout_map {0xfc,}
194struct Prefab_Element
195{
196 WORD kind;
197 Draw_Rect r;
198 Prefab_Environ* environ;
199 String* tag;
200 List* kids;
201 String* str;
202 Draw_Image* mask;
203 Draw_Image* image;
204 Draw_Font* font;
205};
206#define Prefab_Element_size 48
207#define Prefab_Element_map {0x7,0xf0,}
208struct Prefab_Compound
209{
210 Draw_Image* image;
211 Prefab_Environ* environ;
212 Draw_Rect r;
213 Prefab_Element* title;
214 Prefab_Element* contents;
215};
216#define Prefab_Compound_size 32
217#define Prefab_Compound_map {0xc3,}
218struct Tk_Toplevel
219{
220 WORD id;
221};
222#define Tk_Toplevel_size 4
223#define Tk_Toplevel_map {0}
224struct Keyring_SigAlg
225{
226 String* name;
227};
228#define Keyring_SigAlg_size 4
229#define Keyring_SigAlg_map {0x80,}
230struct Keyring_PK
231{
232 Keyring_SigAlg* sa;
233 String* owner;
234};
235#define Keyring_PK_size 8
236#define Keyring_PK_map {0xc0,}
237struct Keyring_SK
238{
239 Keyring_SigAlg* sa;
240 String* owner;
241};
242#define Keyring_SK_size 8
243#define Keyring_SK_map {0xc0,}
244struct Keyring_Certificate
245{
246 Keyring_SigAlg* sa;
247 String* signer;
248 WORD exp;
249};
250#define Keyring_Certificate_size 12
251#define Keyring_Certificate_map {0xc0,}
252struct Keyring_DigestState
253{
254 WORD x;
255};
256#define Keyring_DigestState_size 4
257#define Keyring_DigestState_map {0}
258void Sys_announce(void*);
259typedef struct F_Sys_announce F_Sys_announce;
260struct F_Sys_announce
261{
262 WORD regs[NREG-1];
263 struct{ WORD t0; Sys_Connection t1; }* ret;
264 uchar temps[12];
265 String* addr;
266};
267void Sys_bind(void*);
268typedef struct F_Sys_bind F_Sys_bind;
269struct F_Sys_bind
270{
271 WORD regs[NREG-1];
272 WORD* ret;
273 uchar temps[12];
274 String* s;
275 String* on;
276 WORD flags;
277};
278void Sys_byte2char(void*);
279typedef struct F_Sys_byte2char F_Sys_byte2char;
280struct F_Sys_byte2char
281{
282 WORD regs[NREG-1];
283 struct{ WORD t0; WORD t1; WORD t2; }* ret;
284 uchar temps[12];
285 Array* buf;
286 WORD n;
287};
288void Sys_char2byte(void*);
289typedef struct F_Sys_char2byte F_Sys_char2byte;
290struct F_Sys_char2byte
291{
292 WORD regs[NREG-1];
293 WORD* ret;
294 uchar temps[12];
295 WORD c;
296 Array* buf;
297 WORD n;
298};
299void Sys_chdir(void*);
300typedef struct F_Sys_chdir F_Sys_chdir;
301struct F_Sys_chdir
302{
303 WORD regs[NREG-1];
304 WORD* ret;
305 uchar temps[12];
306 String* path;
307};
308void Sys_create(void*);
309typedef struct F_Sys_create F_Sys_create;
310struct F_Sys_create
311{
312 WORD regs[NREG-1];
313 Sys_FD** ret;
314 uchar temps[12];
315 String* s;
316 WORD mode;
317 WORD perm;
318};
319void Sys_dial(void*);
320typedef struct F_Sys_dial F_Sys_dial;
321struct F_Sys_dial
322{
323 WORD regs[NREG-1];
324 struct{ WORD t0; Sys_Connection t1; }* ret;
325 uchar temps[12];
326 String* addr;
327 String* local;
328};
329void Sys_dirread(void*);
330typedef struct F_Sys_dirread F_Sys_dirread;
331struct F_Sys_dirread
332{
333 WORD regs[NREG-1];
334 WORD* ret;
335 uchar temps[12];
336 Sys_FD* fd;
337 Array* dir;
338};
339void Sys_dup(void*);
340typedef struct F_Sys_dup F_Sys_dup;
341struct F_Sys_dup
342{
343 WORD regs[NREG-1];
344 WORD* ret;
345 uchar temps[12];
346 WORD old;
347 WORD new;
348};
349void Sys_export(void*);
350typedef struct F_Sys_export F_Sys_export;
351struct F_Sys_export
352{
353 WORD regs[NREG-1];
354 WORD* ret;
355 uchar temps[12];
356 Sys_FD* c;
357 WORD flag;
358};
359void Sys_fildes(void*);
360typedef struct F_Sys_fildes F_Sys_fildes;
361struct F_Sys_fildes
362{
363 WORD regs[NREG-1];
364 Sys_FD** ret;
365 uchar temps[12];
366 WORD fd;
367};
368void Sys_file2chan(void*);
369typedef struct F_Sys_file2chan F_Sys_file2chan;
370struct F_Sys_file2chan
371{
372 WORD regs[NREG-1];
373 Sys_FileIO** ret;
374 uchar temps[12];
375 String* dir;
376 String* file;
377 WORD flags;
378};
379void Sys_fprint(void*);
380typedef struct F_Sys_fprint F_Sys_fprint;
381struct F_Sys_fprint
382{
383 WORD regs[NREG-1];
384 WORD* ret;
385 uchar temps[12];
386 Sys_FD* fd;
387 String* s;
388 WORD vargs;
389};
390void Sys_fstat(void*);
391typedef struct F_Sys_fstat F_Sys_fstat;
392struct F_Sys_fstat
393{
394 WORD regs[NREG-1];
395 struct{ WORD t0; Sys_Dir t1; }* ret;
396 uchar temps[12];
397 Sys_FD* fd;
398};
399void Sys_fwstat(void*);
400typedef struct F_Sys_fwstat F_Sys_fwstat;
401struct F_Sys_fwstat
402{
403 WORD regs[NREG-1];
404 WORD* ret;
405 uchar temps[12];
406 Sys_FD* fd;
407 Sys_Dir d;
408};
409void Sys_listen(void*);
410typedef struct F_Sys_listen F_Sys_listen;
411struct F_Sys_listen
412{
413 WORD regs[NREG-1];
414 struct{ WORD t0; Sys_Connection t1; }* ret;
415 uchar temps[12];
416 Sys_Connection c;
417};
418void Sys_millisec(void*);
419typedef struct F_Sys_millisec F_Sys_millisec;
420struct F_Sys_millisec
421{
422 WORD regs[NREG-1];
423 WORD* ret;
424 uchar temps[12];
425};
426void Sys_mount(void*);
427typedef struct F_Sys_mount F_Sys_mount;
428struct F_Sys_mount
429{
430 WORD regs[NREG-1];
431 WORD* ret;
432 uchar temps[12];
433 Sys_FD* fd;
434 String* on;
435 WORD flags;
436 String* spec;
437};
438void Sys_open(void*);
439typedef struct F_Sys_open F_Sys_open;
440struct F_Sys_open
441{
442 WORD regs[NREG-1];
443 Sys_FD** ret;
444 uchar temps[12];
445 String* s;
446 WORD mode;
447};
448void Sys_pctl(void*);
449typedef struct F_Sys_pctl F_Sys_pctl;
450struct F_Sys_pctl
451{
452 WORD regs[NREG-1];
453 WORD* ret;
454 uchar temps[12];
455 WORD flags;
456};
457void Sys_print(void*);
458typedef struct F_Sys_print F_Sys_print;
459struct F_Sys_print
460{
461 WORD regs[NREG-1];
462 WORD* ret;
463 uchar temps[12];
464 String* s;
465 WORD vargs;
466};
467void Sys_read(void*);
468typedef struct F_Sys_read F_Sys_read;
469struct F_Sys_read
470{
471 WORD regs[NREG-1];
472 WORD* ret;
473 uchar temps[12];
474 Sys_FD* fd;
475 Array* buf;
476 WORD n;
477};
478void Sys_remove(void*);
479typedef struct F_Sys_remove F_Sys_remove;
480struct F_Sys_remove
481{
482 WORD regs[NREG-1];
483 WORD* ret;
484 uchar temps[12];
485 String* s;
486};
487void Sys_seek(void*);
488typedef struct F_Sys_seek F_Sys_seek;
489struct F_Sys_seek
490{
491 WORD regs[NREG-1];
492 WORD* ret;
493 uchar temps[12];
494 Sys_FD* fd;
495 WORD off;
496 WORD start;
497};
498void Sys_sleep(void*);
499typedef struct F_Sys_sleep F_Sys_sleep;
500struct F_Sys_sleep
501{
502 WORD regs[NREG-1];
503 WORD* ret;
504 uchar temps[12];
505 WORD period;
506};
507void Sys_sprint(void*);
508typedef struct F_Sys_sprint F_Sys_sprint;
509struct F_Sys_sprint
510{
511 WORD regs[NREG-1];
512 String** ret;
513 uchar temps[12];
514 String* s;
515 WORD vargs;
516};
517void Sys_stat(void*);
518typedef struct F_Sys_stat F_Sys_stat;
519struct F_Sys_stat
520{
521 WORD regs[NREG-1];
522 struct{ WORD t0; Sys_Dir t1; }* ret;
523 uchar temps[12];
524 String* s;
525};
526void Sys_stream(void*);
527typedef struct F_Sys_stream F_Sys_stream;
528struct F_Sys_stream
529{
530 WORD regs[NREG-1];
531 WORD* ret;
532 uchar temps[12];
533 Sys_FD* src;
534 Sys_FD* dst;
535 WORD bufsiz;
536};
537void Sys_tokenize(void*);
538typedef struct F_Sys_tokenize F_Sys_tokenize;
539struct F_Sys_tokenize
540{
541 WORD regs[NREG-1];
542 struct{ WORD t0; List* t1; }* ret;
543 uchar temps[12];
544 String* s;
545 String* delim;
546};
547void Sys_unmount(void*);
548typedef struct F_Sys_unmount F_Sys_unmount;
549struct F_Sys_unmount
550{
551 WORD regs[NREG-1];
552 WORD* ret;
553 uchar temps[12];
554 String* s1;
555 String* s2;
556};
557void Sys_utfbytes(void*);
558typedef struct F_Sys_utfbytes F_Sys_utfbytes;
559struct F_Sys_utfbytes
560{
561 WORD regs[NREG-1];
562 WORD* ret;
563 uchar temps[12];
564 Array* buf;
565 WORD n;
566};
567void Sys_write(void*);
568typedef struct F_Sys_write F_Sys_write;
569struct F_Sys_write
570{
571 WORD regs[NREG-1];
572 WORD* ret;
573 uchar temps[12];
574 Sys_FD* fd;
575 Array* buf;
576 WORD n;
577};
578void Sys_wstat(void*);
579typedef struct F_Sys_wstat F_Sys_wstat;
580struct F_Sys_wstat
581{
582 WORD regs[NREG-1];
583 WORD* ret;
584 uchar temps[12];
585 String* s;
586 Sys_Dir d;
587};
588#define Sys_ERRLEN 64
589#define Sys_WAITLEN 64
590#define Sys_OREAD 0
591#define Sys_OWRITE 1
592#define Sys_ORDWR 2
593#define Sys_CHDIR -2147483648
594#define Sys_MREPL 0
595#define Sys_MBEFORE 1
596#define Sys_MAFTER 2
597#define Sys_MCREATE 4
598#define Sys_NEWFD 1
599#define Sys_FORKFD 2
600#define Sys_NEWNS 4
601#define Sys_FORKNS 8
602#define Sys_NEWPGRP 16
603#define Sys_NODEVS 32
604#define Sys_EXPWAIT 0
605#define Sys_EXPASYNC 1
606#define Sys_UTFmax 3
607#define Sys_UTFerror 128
608void Point_add(void*);
609typedef struct F_Point_add F_Point_add;
610struct F_Point_add
611{
612 WORD regs[NREG-1];
613 Draw_Point* ret;
614 uchar temps[12];
615 Draw_Point p;
616 Draw_Point q;
617};
618void Point_sub(void*);
619typedef struct F_Point_sub F_Point_sub;
620struct F_Point_sub
621{
622 WORD regs[NREG-1];
623 Draw_Point* ret;
624 uchar temps[12];
625 Draw_Point p;
626 Draw_Point q;
627};
628void Point_mul(void*);
629typedef struct F_Point_mul F_Point_mul;
630struct F_Point_mul
631{
632 WORD regs[NREG-1];
633 Draw_Point* ret;
634 uchar temps[12];
635 Draw_Point p;
636 WORD i;
637};
638void Point_div(void*);
639typedef struct F_Point_div F_Point_div;
640struct F_Point_div
641{
642 WORD regs[NREG-1];
643 Draw_Point* ret;
644 uchar temps[12];
645 Draw_Point p;
646 WORD i;
647};
648void Point_eq(void*);
649typedef struct F_Point_eq F_Point_eq;
650struct F_Point_eq
651{
652 WORD regs[NREG-1];
653 WORD* ret;
654 uchar temps[12];
655 Draw_Point p;
656 Draw_Point q;
657};
658void Rect_canon(void*);
659typedef struct F_Rect_canon F_Rect_canon;
660struct F_Rect_canon
661{
662 WORD regs[NREG-1];
663 Draw_Rect* ret;
664 uchar temps[12];
665 Draw_Rect r;
666};
667void Rect_dx(void*);
668typedef struct F_Rect_dx F_Rect_dx;
669struct F_Rect_dx
670{
671 WORD regs[NREG-1];
672 WORD* ret;
673 uchar temps[12];
674 Draw_Rect r;
675};
676void Rect_dy(void*);
677typedef struct F_Rect_dy F_Rect_dy;
678struct F_Rect_dy
679{
680 WORD regs[NREG-1];
681 WORD* ret;
682 uchar temps[12];
683 Draw_Rect r;
684};
685void Rect_eq(void*);
686typedef struct F_Rect_eq F_Rect_eq;
687struct F_Rect_eq
688{
689 WORD regs[NREG-1];
690 WORD* ret;
691 uchar temps[12];
692 Draw_Rect r;
693 Draw_Rect s;
694};
695void Rect_Xrect(void*);
696typedef struct F_Rect_Xrect F_Rect_Xrect;
697struct F_Rect_Xrect
698{
699 WORD regs[NREG-1];
700 WORD* ret;
701 uchar temps[12];
702 Draw_Rect r;
703 Draw_Rect s;
704};
705void Rect_inrect(void*);
706typedef struct F_Rect_inrect F_Rect_inrect;
707struct F_Rect_inrect
708{
709 WORD regs[NREG-1];
710 WORD* ret;
711 uchar temps[12];
712 Draw_Rect r;
713 Draw_Rect s;
714};
715void Rect_clip(void*);
716typedef struct F_Rect_clip F_Rect_clip;
717struct F_Rect_clip
718{
719 WORD regs[NREG-1];
720 struct{ Draw_Rect t0; WORD t1; }* ret;
721 uchar temps[12];
722 Draw_Rect r;
723 Draw_Rect s;
724};
725void Rect_contains(void*);
726typedef struct F_Rect_contains F_Rect_contains;
727struct F_Rect_contains
728{
729 WORD regs[NREG-1];
730 WORD* ret;
731 uchar temps[12];
732 Draw_Rect r;
733 Draw_Point p;
734};
735void Rect_addpt(void*);
736typedef struct F_Rect_addpt F_Rect_addpt;
737struct F_Rect_addpt
738{
739 WORD regs[NREG-1];
740 Draw_Rect* ret;
741 uchar temps[12];
742 Draw_Rect r;
743 Draw_Point p;
744};
745void Rect_subpt(void*);
746typedef struct F_Rect_subpt F_Rect_subpt;
747struct F_Rect_subpt
748{
749 WORD regs[NREG-1];
750 Draw_Rect* ret;
751 uchar temps[12];
752 Draw_Rect r;
753 Draw_Point p;
754};
755void Rect_inset(void*);
756typedef struct F_Rect_inset F_Rect_inset;
757struct F_Rect_inset
758{
759 WORD regs[NREG-1];
760 Draw_Rect* ret;
761 uchar temps[12];
762 Draw_Rect r;
763 WORD n;
764};
765void Image_draw(void*);
766typedef struct F_Image_draw F_Image_draw;
767struct F_Image_draw
768{
769 WORD regs[NREG-1];
770 WORD noret;
771 uchar temps[12];
772 Draw_Image* dst;
773 Draw_Rect r;
774 Draw_Image* src;
775 Draw_Image* mask;
776 Draw_Point p;
777};
778void Image_line(void*);
779typedef struct F_Image_line F_Image_line;
780struct F_Image_line
781{
782 WORD regs[NREG-1];
783 WORD noret;
784 uchar temps[12];
785 Draw_Image* dst;
786 Draw_Point p0;
787 Draw_Point p1;
788 WORD radius;
789 Draw_Image* src;
790};
791void Image_text(void*);
792typedef struct F_Image_text F_Image_text;
793struct F_Image_text
794{
795 WORD regs[NREG-1];
796 Draw_Point* ret;
797 uchar temps[12];
798 Draw_Image* dst;
799 Draw_Point p;
800 Draw_Image* src;
801 Draw_Font* font;
802 String* str;
803};
804void Image_readpixels(void*);
805typedef struct F_Image_readpixels F_Image_readpixels;
806struct F_Image_readpixels
807{
808 WORD regs[NREG-1];
809 WORD* ret;
810 uchar temps[12];
811 Draw_Image* src;
812 Draw_Rect r;
813 Array* data;
814};
815void Image_writepixels(void*);
816typedef struct F_Image_writepixels F_Image_writepixels;
817struct F_Image_writepixels
818{
819 WORD regs[NREG-1];
820 WORD* ret;
821 uchar temps[12];
822 Draw_Image* dst;
823 Draw_Rect r;
824 Array* data;
825};
826void Image_top(void*);
827typedef struct F_Image_top F_Image_top;
828struct F_Image_top
829{
830 WORD regs[NREG-1];
831 WORD noret;
832 uchar temps[12];
833 Draw_Image* win;
834};
835void Image_bottom(void*);
836typedef struct F_Image_bottom F_Image_bottom;
837struct F_Image_bottom
838{
839 WORD regs[NREG-1];
840 WORD noret;
841 uchar temps[12];
842 Draw_Image* win;
843};
844void Image_setrefresh(void*);
845typedef struct F_Image_setrefresh F_Image_setrefresh;
846struct F_Image_setrefresh
847{
848 WORD regs[NREG-1];
849 WORD noret;
850 uchar temps[12];
851 Draw_Image* win;
852 WORD func;
853};
854void Font_open(void*);
855typedef struct F_Font_open F_Font_open;
856struct F_Font_open
857{
858 WORD regs[NREG-1];
859 Draw_Font** ret;
860 uchar temps[12];
861 Draw_Display* d;
862 String* name;
863};
864void Font_build(void*);
865typedef struct F_Font_build F_Font_build;
866struct F_Font_build
867{
868 WORD regs[NREG-1];
869 Draw_Font** ret;
870 uchar temps[12];
871 Draw_Display* d;
872 String* name;
873 String* desc;
874};
875void Font_width(void*);
876typedef struct F_Font_width F_Font_width;
877struct F_Font_width
878{
879 WORD regs[NREG-1];
880 WORD* ret;
881 uchar temps[12];
882 Draw_Font* f;
883 String* str;
884};
885void Display_allocate(void*);
886typedef struct F_Display_allocate F_Display_allocate;
887struct F_Display_allocate
888{
889 WORD regs[NREG-1];
890 Draw_Display** ret;
891 uchar temps[12];
892 String* dev;
893};
894void Display_startrefresh(void*);
895typedef struct F_Display_startrefresh F_Display_startrefresh;
896struct F_Display_startrefresh
897{
898 WORD regs[NREG-1];
899 WORD noret;
900 uchar temps[12];
901 Draw_Display* d;
902};
903void Display_publicscreen(void*);
904typedef struct F_Display_publicscreen F_Display_publicscreen;
905struct F_Display_publicscreen
906{
907 WORD regs[NREG-1];
908 Draw_Screen** ret;
909 uchar temps[12];
910 Draw_Display* d;
911 WORD id;
912};
913void Display_newimage(void*);
914typedef struct F_Display_newimage F_Display_newimage;
915struct F_Display_newimage
916{
917 WORD regs[NREG-1];
918 Draw_Image** ret;
919 uchar temps[12];
920 Draw_Display* d;
921 Draw_Rect r;
922 WORD ldepth;
923 WORD repl;
924 WORD color;
925};
926void Display_readimage(void*);
927typedef struct F_Display_readimage F_Display_readimage;
928struct F_Display_readimage
929{
930 WORD regs[NREG-1];
931 Draw_Image** ret;
932 uchar temps[12];
933 Draw_Display* d;
934 Sys_FD* fd;
935};
936void Display_open(void*);
937typedef struct F_Display_open F_Display_open;
938struct F_Display_open
939{
940 WORD regs[NREG-1];
941 Draw_Image** ret;
942 uchar temps[12];
943 Draw_Display* d;
944 String* name;
945};
946void Display_color(void*);
947typedef struct F_Display_color F_Display_color;
948struct F_Display_color
949{
950 WORD regs[NREG-1];
951 Draw_Image** ret;
952 uchar temps[12];
953 Draw_Display* d;
954 WORD color;
955};
956void Display_rgb(void*);
957typedef struct F_Display_rgb F_Display_rgb;
958struct F_Display_rgb
959{
960 WORD regs[NREG-1];
961 Draw_Image** ret;
962 uchar temps[12];
963 Draw_Display* d;
964 WORD r;
965 WORD g;
966 WORD b;
967};
968void Screen_allocate(void*);
969typedef struct F_Screen_allocate F_Screen_allocate;
970struct F_Screen_allocate
971{
972 WORD regs[NREG-1];
973 Draw_Screen** ret;
974 uchar temps[12];
975 Draw_Image* image;
976 Draw_Image* fill;
977 WORD public;
978};
979void Screen_newwindow(void*);
980typedef struct F_Screen_newwindow F_Screen_newwindow;
981struct F_Screen_newwindow
982{
983 WORD regs[NREG-1];
984 Draw_Image** ret;
985 uchar temps[12];
986 Draw_Screen* screen;
987 Draw_Rect r;
988};
989void Screen_top(void*);
990typedef struct F_Screen_top F_Screen_top;
991struct F_Screen_top
992{
993 WORD regs[NREG-1];
994 WORD noret;
995 uchar temps[12];
996 Draw_Screen* screen;
997 Array* wins;
998};
999#define Draw_Black 255
1000#define Draw_Blue 201
1001#define Draw_Red 15
1002#define Draw_Yellow 3
1003#define Draw_Green 192
1004#define Draw_White 0
1005#define Draw_Backup 0
1006#define Draw_Prefab 1
1007#define Draw_AMexit 10
1008#define Draw_AMstartir 11
1009#define Draw_AMstartkbd 12
1010#define Draw_AMstartptr 13
1011#define Draw_AMnewpin 14
1012#define Draw_MAtop 20
1013void Element_icon(void*);
1014typedef struct F_Element_icon F_Element_icon;
1015struct F_Element_icon
1016{
1017 WORD regs[NREG-1];
1018 Prefab_Element** ret;
1019 uchar temps[12];
1020 Prefab_Environ* env;
1021 Draw_Rect r;
1022 Draw_Image* icon;
1023 Draw_Image* mask;
1024};
1025void Element_text(void*);
1026typedef struct F_Element_text F_Element_text;
1027struct F_Element_text
1028{
1029 WORD regs[NREG-1];
1030 Prefab_Element** ret;
1031 uchar temps[12];
1032 Prefab_Environ* env;
1033 String* text;
1034 Draw_Rect r;
1035 WORD kind;
1036};
1037void Element_layout(void*);
1038typedef struct F_Element_layout F_Element_layout;
1039struct F_Element_layout
1040{
1041 WORD regs[NREG-1];
1042 Prefab_Element** ret;
1043 uchar temps[12];
1044 Prefab_Environ* env;
1045 List* lay;
1046 Draw_Rect r;
1047 WORD kind;
1048};
1049void Element_elist(void*);
1050typedef struct F_Element_elist F_Element_elist;
1051struct F_Element_elist
1052{
1053 WORD regs[NREG-1];
1054 Prefab_Element** ret;
1055 uchar temps[12];
1056 Prefab_Environ* env;
1057 Prefab_Element* elem;
1058 WORD kind;
1059};
1060void Element_separator(void*);
1061typedef struct F_Element_separator F_Element_separator;
1062struct F_Element_separator
1063{
1064 WORD regs[NREG-1];
1065 Prefab_Element** ret;
1066 uchar temps[12];
1067 Prefab_Environ* env;
1068 Draw_Rect r;
1069 Draw_Image* icon;
1070 Draw_Image* mask;
1071};
1072void Element_append(void*);
1073typedef struct F_Element_append F_Element_append;
1074struct F_Element_append
1075{
1076 WORD regs[NREG-1];
1077 WORD* ret;
1078 uchar temps[12];
1079 Prefab_Element* elist;
1080 Prefab_Element* elem;
1081};
1082void Element_adjust(void*);
1083typedef struct F_Element_adjust F_Element_adjust;
1084struct F_Element_adjust
1085{
1086 WORD regs[NREG-1];
1087 WORD noret;
1088 uchar temps[12];
1089 Prefab_Element* elem;
1090 WORD equal;
1091 WORD dir;
1092};
1093void Element_clip(void*);
1094typedef struct F_Element_clip F_Element_clip;
1095struct F_Element_clip
1096{
1097 WORD regs[NREG-1];
1098 WORD noret;
1099 uchar temps[12];
1100 Prefab_Element* elem;
1101 Draw_Rect r;
1102};
1103void Element_scroll(void*);
1104typedef struct F_Element_scroll F_Element_scroll;
1105struct F_Element_scroll
1106{
1107 WORD regs[NREG-1];
1108 WORD noret;
1109 uchar temps[12];
1110 Prefab_Element* elem;
1111 Draw_Point d;
1112};
1113void Element_translate(void*);
1114typedef struct F_Element_translate F_Element_translate;
1115struct F_Element_translate
1116{
1117 WORD regs[NREG-1];
1118 WORD noret;
1119 uchar temps[12];
1120 Prefab_Element* elem;
1121 Draw_Point d;
1122};
1123void Element_show(void*);
1124typedef struct F_Element_show F_Element_show;
1125struct F_Element_show
1126{
1127 WORD regs[NREG-1];
1128 WORD* ret;
1129 uchar temps[12];
1130 Prefab_Element* elist;
1131 Prefab_Element* elem;
1132};
1133void Compound_iconbox(void*);
1134typedef struct F_Compound_iconbox F_Compound_iconbox;
1135struct F_Compound_iconbox
1136{
1137 WORD regs[NREG-1];
1138 Prefab_Compound** ret;
1139 uchar temps[12];
1140 Prefab_Environ* env;
1141 Draw_Point p;
1142 String* title;
1143 Draw_Image* icon;
1144 Draw_Image* mask;
1145};
1146void Compound_textbox(void*);
1147typedef struct F_Compound_textbox F_Compound_textbox;
1148struct F_Compound_textbox
1149{
1150 WORD regs[NREG-1];
1151 Prefab_Compound** ret;
1152 uchar temps[12];
1153 Prefab_Environ* env;
1154 Draw_Rect r;
1155 String* title;
1156 String* text;
1157};
1158void Compound_layoutbox(void*);
1159typedef struct F_Compound_layoutbox F_Compound_layoutbox;
1160struct F_Compound_layoutbox
1161{
1162 WORD regs[NREG-1];
1163 Prefab_Compound** ret;
1164 uchar temps[12];
1165 Prefab_Environ* env;
1166 Draw_Rect r;
1167 String* title;
1168 List* lay;
1169};
1170void Compound_box(void*);
1171typedef struct F_Compound_box F_Compound_box;
1172struct F_Compound_box
1173{
1174 WORD regs[NREG-1];
1175 Prefab_Compound** ret;
1176 uchar temps[12];
1177 Prefab_Environ* env;
1178 Draw_Point p;
1179 Prefab_Element* title;
1180 Prefab_Element* elist;
1181};
1182void Compound_draw(void*);
1183typedef struct F_Compound_draw F_Compound_draw;
1184struct F_Compound_draw
1185{
1186 WORD regs[NREG-1];
1187 WORD noret;
1188 uchar temps[12];
1189 Prefab_Compound* comp;
1190};
1191void Compound_scroll(void*);
1192typedef struct F_Compound_scroll F_Compound_scroll;
1193struct F_Compound_scroll
1194{
1195 WORD regs[NREG-1];
1196 WORD noret;
1197 uchar temps[12];
1198 Prefab_Compound* comp;
1199 String* elem;
1200 Draw_Point d;
1201};
1202void Compound_show(void*);
1203typedef struct F_Compound_show F_Compound_show;
1204struct F_Compound_show
1205{
1206 WORD regs[NREG-1];
1207 WORD* ret;
1208 uchar temps[12];
1209 Prefab_Compound* comp;
1210 String* elem;
1211};
1212void Compound_select(void*);
1213typedef struct F_Compound_select F_Compound_select;
1214struct F_Compound_select
1215{
1216 WORD regs[NREG-1];
1217 struct{ WORD t0; WORD t1; Prefab_Element* t2; }* ret;
1218 uchar temps[12];
1219 Prefab_Compound* comp;
1220 String* elem;
1221 WORD i;
1222 Channel* c;
1223};
1224void Compound_tagselect(void*);
1225typedef struct F_Compound_tagselect F_Compound_tagselect;
1226struct F_Compound_tagselect
1227{
1228 WORD regs[NREG-1];
1229 struct{ WORD t0; WORD t1; Prefab_Element* t2; }* ret;
1230 uchar temps[12];
1231 Prefab_Compound* comp;
1232 String* elem;
1233 WORD i;
1234 Channel* c;
1235};
1236void Compound_highlight(void*);
1237typedef struct F_Compound_highlight F_Compound_highlight;
1238struct F_Compound_highlight
1239{
1240 WORD regs[NREG-1];
1241 WORD noret;
1242 uchar temps[12];
1243 Prefab_Compound* comp;
1244 String* elem;
1245 WORD on;
1246};
1247#define Prefab_EIcon 0
1248#define Prefab_EText 1
1249#define Prefab_ETitle 2
1250#define Prefab_EHorizontal 3
1251#define Prefab_EVertical 4
1252#define Prefab_ESeparator 5
1253#define Prefab_Adjpack 10
1254#define Prefab_Adjequal 11
1255#define Prefab_Adjfill 12
1256#define Prefab_Adjleft 20
1257#define Prefab_Adjup 20
1258#define Prefab_Adjcenter 21
1259#define Prefab_Adjright 22
1260#define Prefab_Adjdown 22
1261void Tk_toplevel(void*);
1262typedef struct F_Tk_toplevel F_Tk_toplevel;
1263struct F_Tk_toplevel
1264{
1265 WORD regs[NREG-1];
1266 Tk_Toplevel** ret;
1267 uchar temps[12];
1268 Draw_Screen* screen;
1269 String* arg;
1270};
1271void Tk_namechan(void*);
1272typedef struct F_Tk_namechan F_Tk_namechan;
1273struct F_Tk_namechan
1274{
1275 WORD regs[NREG-1];
1276 String** ret;
1277 uchar temps[12];
1278 Tk_Toplevel* t;
1279 Channel* c;
1280 String* n;
1281};
1282void Tk_cmd(void*);
1283typedef struct F_Tk_cmd F_Tk_cmd;
1284struct F_Tk_cmd
1285{
1286 WORD regs[NREG-1];
1287 String** ret;
1288 uchar temps[12];
1289 Tk_Toplevel* t;
1290 String* arg;
1291};
1292void Tk_mouse(void*);
1293typedef struct F_Tk_mouse F_Tk_mouse;
1294struct F_Tk_mouse
1295{
1296 WORD regs[NREG-1];
1297 WORD noret;
1298 uchar temps[12];
1299 WORD x;
1300 WORD y;
1301 WORD button;
1302};
1303void Tk_keyboard(void*);
1304typedef struct F_Tk_keyboard F_Tk_keyboard;
1305struct F_Tk_keyboard
1306{
1307 WORD regs[NREG-1];
1308 WORD noret;
1309 uchar temps[12];
1310 WORD key;
1311};
1312void Real_acos(void*);
1313typedef struct F_Real_acos F_Real_acos;
1314struct F_Real_acos
1315{
1316 WORD regs[NREG-1];
1317 REAL* ret;
1318 uchar temps[12];
1319 REAL x;
1320};
1321void Real_acosh(void*);
1322typedef struct F_Real_acosh F_Real_acosh;
1323struct F_Real_acosh
1324{
1325 WORD regs[NREG-1];
1326 REAL* ret;
1327 uchar temps[12];
1328 REAL x;
1329};
1330void Real_asin(void*);
1331typedef struct F_Real_asin F_Real_asin;
1332struct F_Real_asin
1333{
1334 WORD regs[NREG-1];
1335 REAL* ret;
1336 uchar temps[12];
1337 REAL x;
1338};
1339void Real_asinh(void*);
1340typedef struct F_Real_asinh F_Real_asinh;
1341struct F_Real_asinh
1342{
1343 WORD regs[NREG-1];
1344 REAL* ret;
1345 uchar temps[12];
1346 REAL x;
1347};
1348void Real_atan(void*);
1349typedef struct F_Real_atan F_Real_atan;
1350struct F_Real_atan
1351{
1352 WORD regs[NREG-1];
1353 REAL* ret;
1354 uchar temps[12];
1355 REAL x;
1356};
1357void Real_atan2(void*);
1358typedef struct F_Real_atan2 F_Real_atan2;
1359struct F_Real_atan2
1360{
1361 WORD regs[NREG-1];
1362 REAL* ret;
1363 uchar temps[12];
1364 REAL y;
1365 REAL x;
1366};
1367void Real_atanh(void*);
1368typedef struct F_Real_atanh F_Real_atanh;
1369struct F_Real_atanh
1370{
1371 WORD regs[NREG-1];
1372 REAL* ret;
1373 uchar temps[12];
1374 REAL x;
1375};
1376void Real_cbrt(void*);
1377typedef struct F_Real_cbrt F_Real_cbrt;
1378struct F_Real_cbrt
1379{
1380 WORD regs[NREG-1];
1381 REAL* ret;
1382 uchar temps[12];
1383 REAL x;
1384};
1385void Real_ceil(void*);
1386typedef struct F_Real_ceil F_Real_ceil;
1387struct F_Real_ceil
1388{
1389 WORD regs[NREG-1];
1390 REAL* ret;
1391 uchar temps[12];
1392 REAL x;
1393};
1394void Real_copysign(void*);
1395typedef struct F_Real_copysign F_Real_copysign;
1396struct F_Real_copysign
1397{
1398 WORD regs[NREG-1];
1399 REAL* ret;
1400 uchar temps[12];
1401 REAL x;
1402 REAL s;
1403};
1404void Real_cos(void*);
1405typedef struct F_Real_cos F_Real_cos;
1406struct F_Real_cos
1407{
1408 WORD regs[NREG-1];
1409 REAL* ret;
1410 uchar temps[12];
1411 REAL x;
1412};
1413void Real_cosh(void*);
1414typedef struct F_Real_cosh F_Real_cosh;
1415struct F_Real_cosh
1416{
1417 WORD regs[NREG-1];
1418 REAL* ret;
1419 uchar temps[12];
1420 REAL x;
1421};
1422void Real_dot(void*);
1423typedef struct F_Real_dot F_Real_dot;
1424struct F_Real_dot
1425{
1426 WORD regs[NREG-1];
1427 REAL* ret;
1428 uchar temps[12];
1429 Array* x;
1430 Array* y;
1431};
1432void Real_erf(void*);
1433typedef struct F_Real_erf F_Real_erf;
1434struct F_Real_erf
1435{
1436 WORD regs[NREG-1];
1437 REAL* ret;
1438 uchar temps[12];
1439 REAL x;
1440};
1441void Real_erfc(void*);
1442typedef struct F_Real_erfc F_Real_erfc;
1443struct F_Real_erfc
1444{
1445 WORD regs[NREG-1];
1446 REAL* ret;
1447 uchar temps[12];
1448 REAL x;
1449};
1450void Real_exp(void*);
1451typedef struct F_Real_exp F_Real_exp;
1452struct F_Real_exp
1453{
1454 WORD regs[NREG-1];
1455 REAL* ret;
1456 uchar temps[12];
1457 REAL x;
1458};
1459void Real_expm1(void*);
1460typedef struct F_Real_expm1 F_Real_expm1;
1461struct F_Real_expm1
1462{
1463 WORD regs[NREG-1];
1464 REAL* ret;
1465 uchar temps[12];
1466 REAL x;
1467};
1468void Real_fabs(void*);
1469typedef struct F_Real_fabs F_Real_fabs;
1470struct F_Real_fabs
1471{
1472 WORD regs[NREG-1];
1473 REAL* ret;
1474 uchar temps[12];
1475 REAL x;
1476};
1477void Real_fdim(void*);
1478typedef struct F_Real_fdim F_Real_fdim;
1479struct F_Real_fdim
1480{
1481 WORD regs[NREG-1];
1482 REAL* ret;
1483 uchar temps[12];
1484 REAL x;
1485 REAL y;
1486};
1487void Real_fmin(void*);
1488typedef struct F_Real_fmin F_Real_fmin;
1489struct F_Real_fmin
1490{
1491 WORD regs[NREG-1];
1492 REAL* ret;
1493 uchar temps[12];
1494 REAL x;
1495 REAL y;
1496};
1497void Real_fmax(void*);
1498typedef struct F_Real_fmax F_Real_fmax;
1499struct F_Real_fmax
1500{
1501 WORD regs[NREG-1];
1502 REAL* ret;
1503 uchar temps[12];
1504 REAL x;
1505 REAL y;
1506};
1507void Real_finite(void*);
1508typedef struct F_Real_finite F_Real_finite;
1509struct F_Real_finite
1510{
1511 WORD regs[NREG-1];
1512 WORD* ret;
1513 uchar temps[12];
1514 REAL x;
1515};
1516void Real_floor(void*);
1517typedef struct F_Real_floor F_Real_floor;
1518struct F_Real_floor
1519{
1520 WORD regs[NREG-1];
1521 REAL* ret;
1522 uchar temps[12];
1523 REAL x;
1524};
1525void Real_fmod(void*);
1526typedef struct F_Real_fmod F_Real_fmod;
1527struct F_Real_fmod
1528{
1529 WORD regs[NREG-1];
1530 REAL* ret;
1531 uchar temps[12];
1532 REAL x;
1533 REAL y;
1534};
1535void Real_gemm(void*);
1536typedef struct F_Real_gemm F_Real_gemm;
1537struct F_Real_gemm
1538{
1539 WORD regs[NREG-1];
1540 WORD noret;
1541 uchar temps[12];
1542 WORD transa;
1543 WORD transb;
1544 WORD m;
1545 WORD n;
1546 WORD k;
1547 WORD _pad52;
1548 REAL alpha;
1549 Array* a;
1550 WORD ai0;
1551 WORD aj0;
1552 WORD lda;
1553 Array* b;
1554 WORD bi0;
1555 WORD bj0;
1556 WORD ldb;
1557 REAL beta;
1558 Array* c;
1559 WORD ci0;
1560 WORD cj0;
1561 WORD ldc;
1562};
1563void Real_getFPcontrol(void*);
1564typedef struct F_Real_getFPcontrol F_Real_getFPcontrol;
1565struct F_Real_getFPcontrol
1566{
1567 WORD regs[NREG-1];
1568 WORD* ret;
1569 uchar temps[12];
1570};
1571void Real_getFPstatus(void*);
1572typedef struct F_Real_getFPstatus F_Real_getFPstatus;
1573struct F_Real_getFPstatus
1574{
1575 WORD regs[NREG-1];
1576 WORD* ret;
1577 uchar temps[12];
1578};
1579void Real_FPcontrol(void*);
1580typedef struct F_Real_FPcontrol F_Real_FPcontrol;
1581struct F_Real_FPcontrol
1582{
1583 WORD regs[NREG-1];
1584 WORD* ret;
1585 uchar temps[12];
1586 WORD r;
1587 WORD mask;
1588};
1589void Real_FPstatus(void*);
1590typedef struct F_Real_FPstatus F_Real_FPstatus;
1591struct F_Real_FPstatus
1592{
1593 WORD regs[NREG-1];
1594 WORD* ret;
1595 uchar temps[12];
1596 WORD r;
1597 WORD mask;
1598};
1599void Real_hypot(void*);
1600typedef struct F_Real_hypot F_Real_hypot;
1601struct F_Real_hypot
1602{
1603 WORD regs[NREG-1];
1604 REAL* ret;
1605 uchar temps[12];
1606 REAL x;
1607 REAL y;
1608};
1609void Real_iamax(void*);
1610typedef struct F_Real_iamax F_Real_iamax;
1611struct F_Real_iamax
1612{
1613 WORD regs[NREG-1];
1614 WORD* ret;
1615 uchar temps[12];
1616 Array* x;
1617};
1618void Real_ilogb(void*);
1619typedef struct F_Real_ilogb F_Real_ilogb;
1620struct F_Real_ilogb
1621{
1622 WORD regs[NREG-1];
1623 WORD* ret;
1624 uchar temps[12];
1625 REAL x;
1626};
1627void Real_isnan(void*);
1628typedef struct F_Real_isnan F_Real_isnan;
1629struct F_Real_isnan
1630{
1631 WORD regs[NREG-1];
1632 WORD* ret;
1633 uchar temps[12];
1634 REAL x;
1635};
1636void Real_j0(void*);
1637typedef struct F_Real_j0 F_Real_j0;
1638struct F_Real_j0
1639{
1640 WORD regs[NREG-1];
1641 REAL* ret;
1642 uchar temps[12];
1643 REAL x;
1644};
1645void Real_j1(void*);
1646typedef struct F_Real_j1 F_Real_j1;
1647struct F_Real_j1
1648{
1649 WORD regs[NREG-1];
1650 REAL* ret;
1651 uchar temps[12];
1652 REAL x;
1653};
1654void Real_jn(void*);
1655typedef struct F_Real_jn F_Real_jn;
1656struct F_Real_jn
1657{
1658 WORD regs[NREG-1];
1659 REAL* ret;
1660 uchar temps[12];
1661 WORD n;
1662 WORD _pad36;
1663 REAL x;
1664};
1665void Real_lgamma(void*);
1666typedef struct F_Real_lgamma F_Real_lgamma;
1667struct F_Real_lgamma
1668{
1669 WORD regs[NREG-1];
1670 struct{ WORD t0; REAL t1; }* ret;
1671 uchar temps[12];
1672 REAL x;
1673};
1674void Real_log(void*);
1675typedef struct F_Real_log F_Real_log;
1676struct F_Real_log
1677{
1678 WORD regs[NREG-1];
1679 REAL* ret;
1680 uchar temps[12];
1681 REAL x;
1682};
1683void Real_log10(void*);
1684typedef struct F_Real_log10 F_Real_log10;
1685struct F_Real_log10
1686{
1687 WORD regs[NREG-1];
1688 REAL* ret;
1689 uchar temps[12];
1690 REAL x;
1691};
1692void Real_log1p(void*);
1693typedef struct F_Real_log1p F_Real_log1p;
1694struct F_Real_log1p
1695{
1696 WORD regs[NREG-1];
1697 REAL* ret;
1698 uchar temps[12];
1699 REAL x;
1700};
1701void Real_modf(void*);
1702typedef struct F_Real_modf F_Real_modf;
1703struct F_Real_modf
1704{
1705 WORD regs[NREG-1];
1706 struct{ WORD t0; REAL t1; }* ret;
1707 uchar temps[12];
1708 REAL x;
1709};
1710void Real_nextafter(void*);
1711typedef struct F_Real_nextafter F_Real_nextafter;
1712struct F_Real_nextafter
1713{
1714 WORD regs[NREG-1];
1715 REAL* ret;
1716 uchar temps[12];
1717 REAL x;
1718 REAL y;
1719};
1720void Real_norm1(void*);
1721typedef struct F_Real_norm1 F_Real_norm1;
1722struct F_Real_norm1
1723{
1724 WORD regs[NREG-1];
1725 REAL* ret;
1726 uchar temps[12];
1727 Array* x;
1728};
1729void Real_norm2(void*);
1730typedef struct F_Real_norm2 F_Real_norm2;
1731struct F_Real_norm2
1732{
1733 WORD regs[NREG-1];
1734 REAL* ret;
1735 uchar temps[12];
1736 Array* x;
1737};
1738void Real_pow(void*);
1739typedef struct F_Real_pow F_Real_pow;
1740struct F_Real_pow
1741{
1742 WORD regs[NREG-1];
1743 REAL* ret;
1744 uchar temps[12];
1745 REAL x;
1746 REAL y;
1747};
1748void Real_pow10(void*);
1749typedef struct F_Real_pow10 F_Real_pow10;
1750struct F_Real_pow10
1751{
1752 WORD regs[NREG-1];
1753 REAL* ret;
1754 uchar temps[12];
1755 WORD p;
1756};
1757void Real_remainder(void*);
1758typedef struct F_Real_remainder F_Real_remainder;
1759struct F_Real_remainder
1760{
1761 WORD regs[NREG-1];
1762 REAL* ret;
1763 uchar temps[12];
1764 REAL x;
1765 REAL p;
1766};
1767void Real_rint(void*);
1768typedef struct F_Real_rint F_Real_rint;
1769struct F_Real_rint
1770{
1771 WORD regs[NREG-1];
1772 REAL* ret;
1773 uchar temps[12];
1774 REAL x;
1775};
1776void Real_scalbn(void*);
1777typedef struct F_Real_scalbn F_Real_scalbn;
1778struct F_Real_scalbn
1779{
1780 WORD regs[NREG-1];
1781 REAL* ret;
1782 uchar temps[12];
1783 REAL x;
1784 WORD n;
1785};
1786void Real_sin(void*);
1787typedef struct F_Real_sin F_Real_sin;
1788struct F_Real_sin
1789{
1790 WORD regs[NREG-1];
1791 REAL* ret;
1792 uchar temps[12];
1793 REAL x;
1794};
1795void Real_sinh(void*);
1796typedef struct F_Real_sinh F_Real_sinh;
1797struct F_Real_sinh
1798{
1799 WORD regs[NREG-1];
1800 REAL* ret;
1801 uchar temps[12];
1802 REAL x;
1803};
1804void Real_sqrt(void*);
1805typedef struct F_Real_sqrt F_Real_sqrt;
1806struct F_Real_sqrt
1807{
1808 WORD regs[NREG-1];
1809 REAL* ret;
1810 uchar temps[12];
1811 REAL x;
1812};
1813void Real_tan(void*);
1814typedef struct F_Real_tan F_Real_tan;
1815struct F_Real_tan
1816{
1817 WORD regs[NREG-1];
1818 REAL* ret;
1819 uchar temps[12];
1820 REAL x;
1821};
1822void Real_tanh(void*);
1823typedef struct F_Real_tanh F_Real_tanh;
1824struct F_Real_tanh
1825{
1826 WORD regs[NREG-1];
1827 REAL* ret;
1828 uchar temps[12];
1829 REAL x;
1830};
1831void Real_y0(void*);
1832typedef struct F_Real_y0 F_Real_y0;
1833struct F_Real_y0
1834{
1835 WORD regs[NREG-1];
1836 REAL* ret;
1837 uchar temps[12];
1838 REAL x;
1839};
1840void Real_y1(void*);
1841typedef struct F_Real_y1 F_Real_y1;
1842struct F_Real_y1
1843{
1844 WORD regs[NREG-1];
1845 REAL* ret;
1846 uchar temps[12];
1847 REAL x;
1848};
1849void Real_yn(void*);
1850typedef struct F_Real_yn F_Real_yn;
1851struct F_Real_yn
1852{
1853 WORD regs[NREG-1];
1854 REAL* ret;
1855 uchar temps[12];
1856 WORD n;
1857 WORD _pad36;
1858 REAL x;
1859};
1860#define Real_Infinity Infinity
1861#define Real_NaN NaN
1862#define Real_MachEps 2.220446049250313e-16
1863#define Real_Pi 3.141592653589793
1864#define Real_Degree .017453292519943295
1865#define Real_INVAL 1
1866#define Real_ZDIV 2
1867#define Real_OVFL 4
1868#define Real_UNFL 8
1869#define Real_INEX 16
1870#define Real_RND_NR 0
1871#define Real_RND_NINF 256
1872#define Real_RND_PINF 512
1873#define Real_RND_Z 768
1874#define Real_RND_MASK 768
1875void Keyring_certtostr(void*);
1876typedef struct F_Keyring_certtostr F_Keyring_certtostr;
1877struct F_Keyring_certtostr
1878{
1879 WORD regs[NREG-1];
1880 String** ret;
1881 uchar temps[12];
1882 Keyring_Certificate* c;
1883};
1884void Keyring_pktostr(void*);
1885typedef struct F_Keyring_pktostr F_Keyring_pktostr;
1886struct F_Keyring_pktostr
1887{
1888 WORD regs[NREG-1];
1889 String** ret;
1890 uchar temps[12];
1891 Keyring_PK* pk;
1892};
1893void Keyring_sktostr(void*);
1894typedef struct F_Keyring_sktostr F_Keyring_sktostr;
1895struct F_Keyring_sktostr
1896{
1897 WORD regs[NREG-1];
1898 String** ret;
1899 uchar temps[12];
1900 Keyring_SK* sk;
1901};
1902void Keyring_strtocert(void*);
1903typedef struct F_Keyring_strtocert F_Keyring_strtocert;
1904struct F_Keyring_strtocert
1905{
1906 WORD regs[NREG-1];
1907 Keyring_Certificate** ret;
1908 uchar temps[12];
1909 String* s;
1910};
1911void Keyring_strtopk(void*);
1912typedef struct F_Keyring_strtopk F_Keyring_strtopk;
1913struct F_Keyring_strtopk
1914{
1915 WORD regs[NREG-1];
1916 Keyring_PK** ret;
1917 uchar temps[12];
1918 String* s;
1919};
1920void Keyring_strtosk(void*);
1921typedef struct F_Keyring_strtosk F_Keyring_strtosk;
1922struct F_Keyring_strtosk
1923{
1924 WORD regs[NREG-1];
1925 Keyring_SK** ret;
1926 uchar temps[12];
1927 String* s;
1928};
1929void Keyring_sign(void*);
1930typedef struct F_Keyring_sign F_Keyring_sign;
1931struct F_Keyring_sign
1932{
1933 WORD regs[NREG-1];
1934 Keyring_Certificate** ret;
1935 uchar temps[12];
1936 Keyring_SK* sk;
1937 WORD exp;
1938 Keyring_DigestState* state;
1939 WORD alg;
1940};
1941void Keyring_verify(void*);
1942typedef struct F_Keyring_verify F_Keyring_verify;
1943struct F_Keyring_verify
1944{
1945 WORD regs[NREG-1];
1946 WORD* ret;
1947 uchar temps[12];
1948 Keyring_PK* pk;
1949 Keyring_Certificate* cert;
1950 Keyring_DigestState* state;
1951 WORD alg;
1952};
1953void Keyring_genSK(void*);
1954typedef struct F_Keyring_genSK F_Keyring_genSK;
1955struct F_Keyring_genSK
1956{
1957 WORD regs[NREG-1];
1958 Keyring_SK** ret;
1959 uchar temps[12];
1960 String* algname;
1961 String* owner;
1962 WORD length;
1963};
1964void Keyring_genSKfromPK(void*);
1965typedef struct F_Keyring_genSKfromPK F_Keyring_genSKfromPK;
1966struct F_Keyring_genSKfromPK
1967{
1968 WORD regs[NREG-1];
1969 Keyring_SK** ret;
1970 uchar temps[12];
1971 Keyring_PK* pk;
1972 String* owner;
1973};
1974void Keyring_sktopk(void*);
1975typedef struct F_Keyring_sktopk F_Keyring_sktopk;
1976struct F_Keyring_sktopk
1977{
1978 WORD regs[NREG-1];
1979 Keyring_PK** ret;
1980 uchar temps[12];
1981 Keyring_SK* sk;
1982};
1983void Keyring_sha(void*);
1984typedef struct F_Keyring_sha F_Keyring_sha;
1985struct F_Keyring_sha
1986{
1987 WORD regs[NREG-1];
1988 Keyring_DigestState** ret;
1989 uchar temps[12];
1990 Array* buf;
1991 WORD n;
1992 Array* digest;
1993 Keyring_DigestState* state;
1994};
1995void Keyring_md5(void*);
1996typedef struct F_Keyring_md5 F_Keyring_md5;
1997struct F_Keyring_md5
1998{
1999 WORD regs[NREG-1];
2000 Keyring_DigestState** ret;
2001 uchar temps[12];
2002 Array* buf;
2003 WORD n;
2004 Array* digest;
2005 Keyring_DigestState* state;
2006};
2007#define Keyring_DEScbc 0
2008#define Keyring_DESecb 1
2009#define Keyring_SHA 2
2010#define Keyring_MD5 3
2011#define Keyring_SHAdlen 20
2012#define Keyring_MD5dlen 16