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 ..... */