Pristine Ack-5.5
[Ack-5.5.git] / util / ego / share / put.h
1 /* $Id: put.h,v 1.6 1994/06/24 10:30:52 ceriel Exp $ */
2 /*
3  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
4  * See the copyright notice in the ACK home directory, in the file "Copyright".
5  */
6  /*  O U T P U T   R O U T I N E S */
7
8
9 extern FILE *curoutp;   /* current output file */
10
11 #define outbyte(b) putc(b,curoutp)
12 extern  outshort();             /* (short i)
13                                  * Write a short to curoutp
14                                  */
15 extern outoff();                /* (offset off)
16                                  * Write an offset to curoutp
17                                  */
18 extern  outproc();              /* (proc_p p)
19                                  * Write a procid to curoutp
20                                  */
21 extern  putdtable();            /* (dblock_p head, FILE *df)
22                                  * Write the data block table to file df,
23                                  * preceded by its length.
24                                  */
25 extern  putptable();            /* (proc_p head, FILE *pf, bool all)
26                                  * Write the proc table to file pf,
27                                  * preceded by its length. If all=false,
28                                  * the fields computed by CF will not be
29                                  * written (used by the IC phase).
30                                  */
31 extern  putunit();              /* (short kind; proc_p p; line_p l;
32                                  * FILE *gf, *lf)
33                                  * If kind = LTEXT, then write
34                                  * the control flow graph to file gf,
35                                  * preceded by its length (#basic blocks);
36                                  * write the EM code of every basic block
37                                  * in the graph to file lf, preceded by
38                                  * the number of instructions in the block.
39                                  * Else, (kind = LDATA) just write the
40                                  * list of instructions (data declarations)
41                                  * to lf.
42                                  */
43 extern short putlines();        /* (line_p l; FILE *lf)
44                                  * Output the list of em instructions
45                                  * headed by l. Return the number of
46                                  * instructions written.
47                                  */