1 /* BEGIN INCLUDE FILE ... hasp_srcb_scb_bytes.incl.pl1 */
  2 /* Created:  October 1979 by G. Palter */
  3 
  4 /* HASP End-Of-File record */
  5 
  6 dcl 1 TEMPLATE_HASP_EOF_RECORD_BITS aligned static options (constant),
  7     2 srcb bit (9) unaligned initial ("200"b3),             /* SRCB -- 200-bit is always ON */
  8     2 eor_scb bit (9) unaligned initial ("000"b3);          /* SCB -- end of record */
  9 
 10 dcl TEMPLATE_HASP_EOF_RECORD character (2) aligned based (addr (TEMPLATE_HASP_EOF_RECORD_BITS));
 11 
 12 
 13 /* HASP Sub-Record Control Byte (SRCB) -- operator's console */
 14 
 15 dcl  HASP_CONSOLE_SRCB_BITS bit (9) aligned static options (constant) initial ("200"b3);
 16 dcl  HASP_CONSOLE_SRCB character (1) aligned based (addr (HASP_CONSOLE_SRCB_BITS));
 17 
 18 
 19 /* HASP Sub-Record Control Byte (SRCB) -- reader/punch */
 20 
 21 dcl 1 hasp_card_srcb_byte unaligned based (hasp_card_srcb_byte_ptr),
 22     2 pad1 bit (1) unaligned,                               /* supplied by MCS */
 23     2 mbo1 bit (1) unaligned,                               /* always ON */
 24     2 count_units fixed binary (2) unaligned unsigned,      /* SCB count units: 0 => 1; 1 => 2; 2 => 4 */
 25     2 binary bit (1) unaligned,                             /* ON => binary data record */
 26     2 mbz1 bit (4) unaligned;                               /* always OFF */
 27 
 28 dcl  hasp_card_srcb_byte_ptr pointer;
 29 
 30 dcl 1 TEMPLATE_HASP_CARD_SRCB_BITS aligned static options (constant),
 31     2 pad1 bit (1) unaligned initial ("0"b),
 32     2 mbo1 bit (1) unaligned initial ("1"b),
 33     2 count_units fixed binary (2) unaligned unsigned initial (0),    /* SCB counts single characters */
 34     2 binary bit (1) unaligned initial ("0"b),              /* not binary card */
 35     2 mbz1 bit (4) unaligned initial ("0000"b);
 36 
 37 dcl  TEMPLATE_HASP_CARD_SRCB character (1) aligned based (addr (TEMPLATE_HASP_CARD_SRCB_BITS));
 38 
 39 
 40 /* HASP Sub-Record Control Byte (SRCB) -- printer */
 41 
 42 dcl 1 hasp_printer_srcb_byte unaligned based (hasp_printer_srcb_byte_ptr),
 43     2 pad1 bit (1) unaligned,                               /* supplied by MCS */
 44     2 mbo1 bit (1) unaligned,                               /* always ON */
 45     2 mbz1 bit (1) unaligned,                               /* always OFF */
 46     2 prespace bit (1) unaligned,                           /* ON => pre-spacing; OFF => post-spacing */
 47     2 skip_to_channel bit (1) unaligned,                    /* ON => skip to given channel; OFF => skip # lines */
 48     2 number fixed binary (4) unaligned unsigned;           /* channel # or # or lines to skip */
 49 
 50 dcl  hasp_printer_srcb_byte_ptr pointer;
 51 
 52 dcl 1 TEMPLATE_HASP_PRINTER_SRCB_BITS aligned static options (constant),
 53     2 pad1 bit (1) unaligned initial ("0"b),
 54     2 mbo1 bit (1) unaligned initial ("1"b),
 55     2 mbz1 bit (1) unaligned initial ("0"b),
 56     2 prespace bit (1) unaligned initial ("0"b),            /* post-spacing */
 57     2 skip_to_channel bit (1) unaligned initial ("0"b),     /* # of lines */
 58     2 number fixed binary (4) unaligned unsigned initial (1);
 59 
 60 dcl  TEMPLATE_HASP_PRINTER_SRCB character (1) aligned based (addr (TEMPLATE_HASP_PRINTER_SRCB_BITS));
 61 
 62 dcl  HASP_MAX_SLEW_COUNT fixed binary static options (constant) initial (3);
 63                                                             /* max slew of 3 insures proper operation with 370's */
 64 
 65 dcl 1 HASP_FORMS_CHANGE_SRCB_BITS aligned static options (constant),
 66     2 pad1 bit (1) unaligned initial ("0"b),
 67     2 mbo1 bit (1) unaligned initial ("1"b),
 68     2 mbz1 bit (1) unaligned initial ("0"b),
 69     2 change bit (6) unaligned initial ("16"b3);            /* change forms record */
 70 
 71 dcl  HASP_FORMS_CHANGE_SRCB character (1) aligned based (addr (HASP_FORMS_CHANGE_SRCB_BITS));
 72 
 73 
 74 /* HASP String Control Byte (SCB) */
 75 
 76 dcl 1 hasp_scb_byte unaligned based (hasp_scb_byte_ptr),
 77     2 pad1 bit (1) unaligned,                               /* supplied by MCS */
 78     2 not_eor bit (1) unaligned,                            /* ON => not an end of record indicator */
 79     2 not_compressed bit (1) unaligned,                     /* ON => this SCB refers to a non-compressed string */
 80     2 variant bit (6) unaligned;                            /* dependent on setting of hasp_scb_byte.not_compressed */
 81 
 82 dcl 1 hasp_not_compressed_scb_byte unaligned based (hasp_scb_byte_ptr),
 83     2 pad1 bit (1) unaligned,
 84     2 not_eor bit (1) unaligned,
 85     2 not_compressed bit (1) unaligned,                     /* ON */
 86     2 count fixed binary (6) unaligned unsigned;            /* # of characters in string following the SCB */
 87 
 88 dcl 1 hasp_compressed_scb_byte unaligned based (hasp_scb_byte_ptr),
 89     2 pad1 bit (1) unaligned,
 90     2 not_eor bit (1) unaligned,
 91     2 not_compressed bit (1) unaligned,                     /* OFF */
 92     2 not_blank bit (1) unaligned,                          /* ON => repeated character isn't a blank and follows SCB */
 93     2 count fixed binary (5) unaligned unsigned;            /* # of occurrences of the character */
 94 
 95 dcl  hasp_scb_byte_ptr pointer;
 96 
 97 dcl  HASP_EOR_SCB_BITS bit (9) aligned static options (constant) initial ("000"b3);
 98 dcl  HASP_EOR_SCB character (1) aligned based (addr (HASP_EOR_SCB_BITS));
 99 
100 dcl (HASP_MAX_NOT_COMPRESSED_TEXT_LTH   initial (62),       /* # of characters representable by a single SCB */
101      HASP_MAX_COMPRESSED_TEXT_LTH       initial (31))       /* # of occurences of a character representable by
102                                                                  a single SCB */
103           fixed binary static options (constant);
104 
105 /* END INCLUDE FILE ... hasp_srcb_scb_bytes.incl.pl1 */