1 2 /* BEGIN INCLUDE FILE ... prt_conv_info.incl.pl1 */ 3 /* Modified: 12 September 1980 by G. Palter */ 4 5 6 /****^ HISTORY COMMENTS: 7 1) change(87-05-10,Gilcrease), approve(87-07-31,MCR7686), 8 audit(88-02-01,Farley), install(88-02-02,MR12.2-1019): 9 Add modes.line_nbrs, flags.(eol eof) bits for eor -nb. 10 END HISTORY COMMENTS */ 11 12 13 dcl pcip ptr; /* pointer to conversion info structure */ 14 15 dcl 1 pci based (pcip) aligned, /* printer conversion info structure */ 16 2 cv_proc ptr, /* pointer to character conversion procedure */ 17 2 lmarg fixed bin, /* left margin indentation */ 18 2 rmarg fixed bin, /* right margin limit */ 19 2 page_length fixed bin, /* number of lines on page */ 20 2 phys_line_length fixed bin, /* physical width of paper */ 21 2 phys_page_length fixed bin, /* physical length of paper */ 22 2 lpi fixed bin, /* lines per inch */ 23 2 sheets_per_page fixed bin, /* sheets of paper per logical page */ 24 2 line_count fixed bin, /* count of converted lines */ 25 2 page_count fixed bin, /* count of converted pages */ 26 2 func fixed bin, /* special conversion function */ 27 /* 0 => normal conversion */ 28 /* 1 => change NL to FF */ 29 /* 2 => change NL to top inside page */ 30 /* 3 => change NL to end of page */ 31 /* 4 => change NL to top of outside page */ 32 (2 modes, /* conversion modes */ 33 3 overflow_off bit (1), /* "1"b to suppress end of page overflow */ 34 3 single_space bit (1), /* "1"b to change all forms advance chars to NL */ 35 3 non_edited bit (1), /* "1"b to print ASCII control chars */ 36 3 truncate bit (1), /* "1"b to truncate lines that are too long */ 37 3 esc bit (1), /* "1"b to process ESC character */ 38 3 ctl_char bit (1), /* "1"b to output control characters */ 39 3 line_nbrs bit (1), /* "1"b to output line numbers */ 40 3 pci_pad bit (5), 41 2 flags, /* flags internal to prt_conv_ */ 42 3 ignore_next_ff bit (1), /* ON => prt_conv_ just output a FF; ignore next character if 43 it's a FF */ 44 3 eol bit (1), /* "1"b = end-of-line encountered */ 45 3 eof bit (1), /* "1"b = end-of-segment encountered */ 46 3 flags_pad bit (3), 47 2 coroutine_modes, 48 3 upper_case bit(1), /* "1"b to convert to upper case */ 49 3 ht bit(1), /* "1"b to skip tab conversion */ 50 3 coroutine_pad bit(13), 51 3 slew_table_idx bit(3) ) unal, /* slew table index */ 52 2 top_label_line char (136), /* contains an optional top of page label */ 53 2 bot_label_line char (136), /* contains an optional bottom of page label */ 54 2 top_label_length fixed bin, /* length of top label line */ 55 2 bot_label_length fixed bin, /* length of bottom label line */ 56 2 form_stops (256) unal, /* logical form stops */ 57 3 lbits bit (9), /* leftmost bits */ 58 3 rbits bit (9), /* rightmost bits */ 59 60 /* The following items are for internal use by the print conversion procedure. 61 They should be zeroed once and then never referenced again. */ 62 63 2 level fixed bin, /* overstrike level */ 64 2 pos fixed bin, /* print position at end of incomplete line */ 65 2 line fixed bin, /* current line number */ 66 2 slew_residue fixed bin, /* number of lines remaining to be slewed */ 67 2 label_nelem fixed bin, /* characters remaining in label */ 68 2 label_wksp ptr, /* pointer to label being processed */ 69 2 sav_pos fixed bin, /* position saved during label processing */ 70 2 esc_state fixed bin, /* state of ESC processing */ 71 2 esc_num fixed bin, /* number following ESC sequence */ 72 2 temp bit (36); /* conversion proc temporary */ 73 74 /* End of include file ...... prt_conv_info.incl.pl1 */ 75