1 /* BEGIN INCLUDE FILE ..... comp_output.incl.pl1 ..... 08/29/78 J Falksen */
 2 
 3 /* This include file describes the format of compout files. "Ordinary" compout
 4    files, i.e. printer or ascii, will be written to stream files. All others
 5    are not dprint-able and are written to sequential files.
 6 
 7    The first record is a file header which contains information necessary for
 8    processing by process_compout.
 9 
10    Each record thereafter contains one page image of data */
11 
12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */
13 
14      dcl filedata_version_2
15                         fixed bin static options (constant) init (2);
16      dcl filedata_version_3
17                         fixed bin static options (constant) init (3);
18      dcl filedata_version_4
19                         fixed bin static options (constant) init (4);
20 
21      dcl fileheader_ptr ptr init (null);
22      dcl 1 fileheader   aligned based (fileheader_ptr),
23            2 version    fixed bin,      /* version of this file */
24            2 device_class
25                         char (32),
26            2 device_name                /* generic device name */
27                         char (32),
28            2 device     char (32),      /* logical device name */
29            2 recleng    fixed bin,      /* mag tape record length */
30            2 max_pages  fixed bin,      /* max pages/record, -1=unlimited */
31                                         /* max_files not defined version 2 */
32            2 max_files  fixed bin,      /* max files/tape, -1=unlimited */
33                                         /* page_len not defined in version 3 */
34            2 page_len   fixed bin (21), /* page length */
35            2 cleanup_leng               /* device cleanup string */
36                         fixed bin,
37            2 cleanup    char (l_cleanup),
38            2 comment_leng               /* comment string - info for pco */
39                         fixed bin,
40            2 comment    char (l_comment);
41 
42      dcl l_comment      fixed bin;      /* comment length */
43      dcl l_cleanup      fixed bin;      /* cleanup length */
44                                         /* data record */
45      dcl record_ptr     ptr init (null);
46      dcl 1 record       aligned based (record_ptr),
47            2 header,
48              3 pageid   char (32),      /* page identification
49                                            ("-1" means a galley block) */
50              3 changed  bit (1) unal,   /* 1- this is a changed page */
51              3 front    bit (1) unal,   /* 1- this is a front page */
52              3 pending  bit (1) unal,   /* 1- page has been processed
53                                            but not printed */
54              3 blank    bit (1) unal,   /* 1- intentional blank page */
55              3 MBZ      bit (32) unal,  /* pad to word boundary */
56            2 page_record
57                         bit (36);       /* base location of output structure */
58 
59 /* The output writer returns a catenated set of text strings.  Each string has
60    a control preface. The last string in the list has output.nextref = "0"b */
61 
62      dcl page_record_ptr
63                         ptr init (null);
64      dcl 1 page_record  aligned based (page_record_ptr),
65            2 sws,
66              3 in_use   bit (1) unal,   /* 1- in use (so nextref ^= "0"b ) */
67              3 rawo     bit (1) unal,   /* 1- text needs raw mode */
68              3 halt     bit (1) unal,   /* 1- halt to change wheels */
69              3 halt2    bit (1) unal,   /* 1- halt AFTER changing wheels */
70              3 halt3    bit (1) unal,   /* reserved for future use */
71              3 halt4    bit (1) unal,   /* 1- mid-page wait                  */
72              3 preface  bit (1) unal,   /* 1- control preface, this text */
73                                         /*    must be processed whenever it */
74                                         /*    is different than the */
75                                         /*    previous one. */
76              3 id_preface               /* 1- identification preface, this */
77                         bit (1) unal,   /*    to be included only at the */
78                                         /*    beginning of an output file. */
79                                         /*    In general, they will never */
80                                         /*    match each other (unless page */
81                                         /*    ids are duplicated). */
82              3 pad      bit (22) unal,  /* pad to last byte */
83              3 pwheel   fixed bin (6) unal uns,
84            2 leng       fixed bin (24), /* actual output text */
85            2 text       char (16384 refer (page_record.leng)),
86            2 nextref    bit (36);       /* location of next if any */
87 
88 /* END INCLUDE FILE ..... comp_output.incl.pl1 ..... */