COMPILATION LISTING OF SEGMENT iodd_hblp_banner_pages_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 11/14/88 1100.9 mst Mon Options: optimize map 1 /****^ ******************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* ******************************************** */ 6 7 8 /****^ HISTORY COMMENTS: 9* 1) change(88-07-25,Brunelle), approve(88-07-25,MCR7911), 10* audit(88-10-25,Wallman), install(88-11-08,MR12.2-1199): 11* Created 12* 2) change(88-11-03,Brunelle), approve(88-11-03,MCR7911), 13* audit(88-11-08,Wallman), install(88-11-08,MR12.2-1199): 14* Removed code to put box around charges on tail sheet. 15* 3) change(88-11-14,Brunelle), approve(88-11-14,PBF7911), 16* audit(88-11-14,Wallman), install(88-11-14,MR12.2-1212): 17* Handle null ptr to ordata if printing separator only and output the 18* separator only message in the aim display area. 19* END HISTORY COMMENTS */ 20 21 /* format: style4 */ 22 23 24 /* head and tail sheet programs for the Honeywell Bull model 80 laser printers 25* liberally taken from head_sheet_ and tail_sheet_ */ 26 27 iodd_hblp_banner_pages_: proc; 28 29 /* no entry here */ 30 return; 31 32 /* Parameters */ 33 34 dcl a_code fixed bin (35) parameter; /* Return error code */ 35 dcl a_message char (*) parameter; 36 dcl a_ordatap ptr parameter; /* ptr to output_request_data */ 37 dcl a_prt_ctl_ptr pointer parameter; /* pointer to prt_ctl */ 38 dcl a_switch pointer parameter; /* IOCB ptr for same */ 39 40 /* External Procedures & Variables */ 41 42 dcl bigletter_$five entry (char (*), entry); 43 dcl date_time_$format entry (char (*), fixed bin (71), char (*), char (*)) returns (char (250) var); 44 dcl hcs_$initiate_count entry (char (*), char (*), char (*), fixed bin (24), fixed bin (2), ptr, fixed bin (35)); 45 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 46 dcl hcs_$terminate_noname entry (ptr, fixed bin (35)); 47 dcl hcs_$truncate_seg entry (ptr, fixed bin, fixed bin (35)); 48 dcl ioa_$rsnnl entry options (variable); 49 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 50 dcl iox_$modes entry (pointer, char (*), char (*), fixed bin (35)); 51 dcl iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)); 52 dcl system_info_$installation_id entry (char (*) aligned); 53 dcl system_info_$max_rs_number entry (fixed bin); 54 dcl system_info_$rs_name entry (fixed bin, char (*), fixed bin (35)); 55 56 /* Builtins */ 57 58 dcl (addr, after, before, byte, divide, hbound, length, ltrim, max, null, reverse, rtrim, string, substr) builtin; 59 60 /* Internal Static */ 61 62 dcl CR char (1) defined CR_NL_FF position (1); 63 dcl CR_NL char (2) defined CR_NL_FF position (1); 64 dcl FF char (1) defined CR_NL_FF position (3); 65 66 /* The following line is defined with CR NL FF */ 67 dcl CR_NL_FF char (3) int static options (constant) init (" 68 "); 69 70 dcl HEAD fixed bin int static options (constant) init (1); 71 dcl SEPARATOR fixed bin int static options (constant) init (3); 72 dcl TAIL fixed bin int static options (constant) init (2); 73 dcl copy_offset fixed bin int static; /* where to put the copy number data for copy 2, 3,... */ 74 dcl installation char (32) aligned int static; /* Local installation ID */ 75 dcl last_request_no fixed bin int static; /* request number of the last request */ 76 dcl max_rs_number fixed bin int static init (-1); /* maximum rate structure number */ 77 dcl rs_names (-1:9) char (32) static int init ((11) ("tail_sheet_ uninitialized")); 78 dcl sysdir char (168) int static init (">daemon_dir_dir>io_daemon_dir"); 79 dcl templates_ptr ptr int static init (null); 80 dcl time_format char (64) internal static options (constant) init ("^dn, ^dm ^mn ^9999yc, ^Hd:^MH ^za"); 81 82 dcl TOP_RQT_LINE fixed bin internal static options (constant) init (1); 83 dcl BOTTOM_RQT_LINE fixed bin internal static options (constant) init (2); 84 dcl TOP_SHORT_PATH fixed bin internal static options (constant) init (3); 85 dcl BOTTOM_SHORT_PATH fixed bin internal static options (constant) init (4); 86 dcl TOP_LONG_PATH fixed bin internal static options (constant) init (5); 87 dcl BOTTOM_LONG_PATH fixed bin internal static options (constant) init (6); 88 dcl ACCESS_CLASS fixed bin internal static options (constant) init (7); 89 dcl BIG_ACCESS_CLASS fixed bin internal static options (constant) init (8); 90 dcl HS_DATE_INSTALLATION fixed bin internal static options (constant) init (9); 91 dcl HS_BIG_DESTINATION fixed bin internal static options (constant) init (10); 92 dcl HS_BIG_HEADER fixed bin internal static options (constant) init (11); 93 dcl HS_HEAD_DESTINATION fixed bin internal static options (constant) init (12); 94 dcl HS_LANDSCAPE_DEST fixed bin internal static options (constant) init (13); 95 dcl HS_LANDSCAPE_HEAD fixed bin internal static options (constant) init (14); 96 97 dcl TS_TIME_REQUESTED fixed bin internal static options (constant) init (15); 98 dcl TS_TIME_OUTPUT fixed bin internal static options (constant) init (16); 99 dcl TS_OUTPUT_MODE fixed bin internal static options (constant) init (17); 100 dcl TS_FORMS_CONTROL fixed bin internal static options (constant) init (18); 101 dcl TS_RQT_QUEUE fixed bin internal static options (constant) init (19); 102 dcl TS_HEAD_DESTINATION fixed bin internal static options (constant) init (20); 103 dcl TS_PAGE_CHARGE fixed bin internal static options (constant) init (21); 104 dcl TS_LINE_CHARGE fixed bin internal static options (constant) init (22); 105 dcl TS_CHARGE_TO fixed bin internal static options (constant) init (23); 106 dcl TS_RATE_STRUCTURE fixed bin internal static options (constant) init (24); 107 108 /* Automatic */ 109 110 dcl (i, j, n) fixed bin; /* misc indices */ 111 dcl advert_bc fixed bin (24); /* bitcount of advertising page */ 112 dcl advert_ptr ptr; /* ptr to advertising page */ 113 dcl buffer char (buffer_length) based (buffer_ptr); /* current output buffer */ 114 dcl buffer_length fixed bin (21) based (buffer_length_ptr);/* length of output buffer */ 115 dcl buffer_ptr ptr; /* ptr to current output buffer */ 116 dcl buffer_length_ptr ptr; /* ptr to current length of output buffer */ 117 dcl calc_page_charge float bin; /* temporary storage for page charge */ 118 dcl calc_line_charge float bin; /* temporary storage for line charge */ 119 dcl dest char (64) aligned; /* temp destination string */ 120 dcl head char (64) aligned; 121 dcl iocbp pointer; /* ptr to IOCB to output on */ 122 dcl line_75_chars char (75); 123 dcl line_90_chars char (90); 124 dcl message char (200) var; /* internal copy of message to output */ 125 dcl real_page_count fixed bin; /* Actual page count taking -no_separator into account. */ 126 dcl real_line_count fixed bin; /* Actual line count taking -no_separator into account. */ 127 dcl temp char (280) aligned; /* temp copy of message */ 128 dcl xcode fixed bin (35); 129 130 /* Based */ 131 132 dcl 1 templates based (templates_ptr), 133 2 head_sheet, 134 3 lngth fixed bin (21), 135 3 strng char (4096), 136 2 tail_sheet, 137 3 lngth fixed bin (21), 138 3 strng char (4096), 139 2 access_class, 140 3 lngth fixed bin (21), 141 3 strng char (1024), 142 2 current_head_sheet, 143 3 lngth fixed bin (21), 144 3 strng char (8192), 145 2 current_tail_sheet, 146 3 lngth fixed bin (21), 147 3 strng char (8192), 148 2 position (24), 149 3 horizontal fixed bin (17) unaligned, 150 3 vertical fixed bin (17) unaligned; 151 152 /* output the front banner page for the output request. 153* 154* the head_sheet_ entrypoint has not been reproduced here since it was an old 155* entrypoint used in the ios_ days */ 156 157 print_head_sheet: entry (a_switch, a_prt_ctl_ptr, a_ordatap, a_code); 158 159 iocbp = a_switch; 160 161 a_code = 0; /* no errors yet */ 162 ordatap = a_ordatap; /* locate data about the output request */ 163 dmp = ordata.dpmp; /* get ptr to dprint_msg */ 164 165 call create_head_sheet; 166 if a_code ^= 0 then return; 167 168 call print_the_banner_page (HEAD); 169 170 return; 171 172 /* output the back banner page for the output request. 173* 174* the tail_sheet_ entrypoint has not been reproduced here since it was an old 175* entrypoint used in the ios_ days */ 176 177 print_tail_sheet: entry (a_switch, a_prt_ctl_ptr, a_ordatap, a_code); 178 179 iocbp = a_switch; 180 181 a_code = 0; /* no errors yet */ 182 ordatap = a_ordatap; /* locate data about the output request */ 183 dmp = ordata.dpmp; /* get ptr to dprint_msg */ 184 185 call create_tail_sheet; 186 if a_code ^= 0 then return; 187 188 call print_the_banner_page (TAIL); 189 190 return; 191 192 /* output a separator page. 193* 194* the separator entrypoint has not been reproduced here since it was an old 195* entrypoint used in the ios_ days. */ 196 197 print_separator: entry (a_switch, a_prt_ctl_ptr, a_message, a_code); 198 199 iocbp = a_switch; 200 201 ordatap = null; /* this is not a real request for head_sheet */ 202 message = ltrim (rtrim (a_message)); /* copy and clean the message */ 203 a_code = 0; 204 205 call create_head_sheet; /* build a dummy head sheet page */ 206 if a_code ^= 0 then return; 207 208 last_request_no = -1; /* mark last head sheet as destroyed */ 209 copy_offset = 0; 210 211 /* if the message is real, center it using small bigletters */ 212 213 if message ^= "" then do; 214 temp = ltrim (rtrim (message)); /* strip leading & trailing spaces */ 215 i = length (temp); /* real message length */ 216 head = ""; /* clear the heading */ 217 218 /* Switch to 12 pitch and 8 LPI to make bigletters more readable. */ 219 Select_font.body = 2; 220 call output_string (string (Select_font)); 221 call output_string (Set_default_hmi); 222 Set_vmi.body = byte (7); 223 call output_string (string (Set_vmi)); 224 225 Absolute_vertical_position.body = templates.position (BIG_ACCESS_CLASS).vertical; 226 call output_string (string (Absolute_vertical_position)); 227 228 substr (head, max (1, divide (13 - i, 2, 17) + 1)) = substr (temp, 1, 13); 229 call bigletter_$five (substr (head, 1, 13), output_bigletters); 230 /* write the big message */ 231 end; 232 233 /* add control chars to make the head sheet print */ 234 call output_string (CR); 235 call output_string (FF); 236 237 call print_the_banner_page (SEPARATOR); 238 239 return; 240 241 242 /* tail_save.pl1 for the tail_sheet_ code goes here */ 243 244 245 /* ------- INIT ENTRY ------- */ 246 247 init: entry (); 248 249 last_request_no = 0; 250 return; 251 252 253 /* ------- SET CTL ENTRY ------- */ 254 255 set_ctl: entry (a_prt_ctl_ptr, a_code); 256 257 /* This entry is used to get data on how the head sheet is to be aligned and 258* how banner bars are to be printed */ 259 260 /* we ignore since it has no meaning for us */ 261 262 a_code = 0; 263 264 return; 265 266 267 /* ------- TEST ENTRY ------- */ 268 269 test: entry (a_sys_dir); 270 271 /* define new directory to locate the advertising page in */ 272 273 dcl a_sys_dir char (*); 274 275 sysdir = a_sys_dir; /* for testing the new notice mechanism */ 276 return; 277 278 279 build_templates: proc; 280 281 /* this internal proc will create the buffer and set all the internal static 282* values. It will create the head and tail sheet templates based on an 283* 8.5 X 11 inch paper specification. 284* 285* There are a lot of numeric literal values here being plugged into many 286* escape strings. These escape strings are for the Honeywell Bull Model 80 287* laser printer and are documented in the 288* . PRU7260/7261/7262 Printer Programming Handbook 289* . Order number HK12 */ 290 291 a_code = 0; /* start clean */ 292 293 if templates_ptr = null then do; /* initialize buffer seg in process dir */ 294 call hcs_$make_seg ("", "banner_pages_.template", "", 01010b, templates_ptr, a_code); 295 if templates_ptr = null then 296 return; /* if it didn't work, return code to caller */ 297 end; 298 call hcs_$truncate_seg (templates_ptr, 0, a_code); 299 if a_code ^= 0 then 300 return; 301 302 call system_info_$installation_id (installation); 303 304 buffer_ptr = addr (templates.head_sheet.strng); 305 buffer_length_ptr = addr (templates.head_sheet.lngth); 306 buffer_length = 0; 307 308 /* Both the head sheet and tail sheet have much in common, so we first 309* generate the common part. */ 310 311 /* initialize printer to known state */ 312 call output_string (Soft_reset); 313 314 /* Select Courier 10 font. */ 315 Select_font.body = 1; 316 call output_string (string (Select_font)); 317 318 /* Set page orientation to portrait. */ 319 Set_page_orientation.body = 1; /* Portrait */ 320 call output_string (string (Set_page_orientation)); 321 322 /* Set the left and right margins. */ 323 Set_left_margin.body = 42; 324 call output_string (string (Set_left_margin)); 325 326 Set_right_margin.body = 942; 327 call output_string (string (Set_right_margin)); 328 329 /* Draw border box. The border box is 18/720 inches in width and slightly 330* inside the page limits. */ 331 Draw_box.left_edge = 180; 332 Draw_box.top_edge = 0; 333 Draw_box.right_edge = 5526; 334 Draw_box.bottom_edge = 7542; 335 Draw_box.line_width = 18; 336 call output_string (string (Draw_box)); 337 338 /* Draw necessary horizontal lines. Each line is 18/720 inches thick and 339* begins just inside the left edge of the border box. All lines are the same 340* length, ending at the inside of the right edge of the border box. The only 341* difference in the lines is where they are drawn relative to the top limit. */ 342 Draw_line.left_edge = 198; /* same for all lines */ 343 Draw_line.right_edge = 5508; /* same for all lines */ 344 Draw_line.bottom_edge = 18; /* same for all lines */ 345 346 Draw_line.top_edge = 320; /* line 1 */ 347 call output_string (string (Draw_line)); 348 349 Draw_line.top_edge = 640; /* line 2 */ 350 call output_string (string (Draw_line)); 351 352 Draw_line.top_edge = 2364; /* line 5 */ 353 call output_string (string (Draw_line)); 354 355 Draw_line.top_edge = 2684; /* line 6 */ 356 call output_string (string (Draw_line)); 357 358 Draw_line.top_edge = 6902; /* line 7 */ 359 call output_string (string (Draw_line)); 360 361 Draw_line.top_edge = 7222; /* line 8 */ 362 call output_string (string (Draw_line)); 363 364 /* This is the end of the common head/tail sheet template. 365* Copy what's done to the tail sheet string. */ 366 367 templates.tail_sheet.lngth = buffer_length; 368 369 templates.tail_sheet.strng = buffer; 370 371 /* Add on the normal head sheet specific stuff. */ 372 373 Draw_line.left_edge = 198; /* same for all lines */ 374 Draw_line.right_edge = 5508; /* same for all lines */ 375 Draw_line.bottom_edge = 18; /* same for all lines */ 376 377 Draw_line.top_edge = 1342; /* line 3 */ 378 call output_string (string (Draw_line)); 379 380 Draw_line.top_edge = 1662; /* line 4 */ 381 call output_string (string (Draw_line)); 382 383 Assign_font.body.font_number = 5; 384 Assign_font.body.orientation = 2; 385 Assign_font.body.font_name = "LETTER GOTHIC 15"; 386 387 call output_string (string (Assign_font.header)); 388 call output_string (rtrim (string (Assign_font.body))); 389 call output_string (string (Assign_font.trailer)); 390 391 /* Generate normal tail sheet specific parts. */ 392 393 /**** buffer_ptr = addr (templates.tail_sheet.strng); 394* buffer_length_ptr = addr (templates.tail_sheet.lngth); 395* 396* Draw_box.left_edge = 430; 397* Draw_box.top_edge = 773; 398* Draw_box.right_edge = 4864; 399* Draw_box.bottom_edge = 1440; 400* Draw_box.line_width = 9; 401* call output_string (string (Draw_box)); ****/ 402 403 /* Now generate access class specific stuff. */ 404 405 buffer_ptr = addr (templates.access_class.strng); 406 buffer_length_ptr = addr (templates.access_class.lngth); 407 buffer_length = 0; 408 409 Draw_line.left_edge = 198; /* same for all lines */ 410 Draw_line.right_edge = 5508; /* same for all lines */ 411 Draw_line.bottom_edge = 18; /* same for all lines */ 412 413 Draw_line.top_edge = 3386; 414 call output_string (string (Draw_line)); 415 416 Draw_line.top_edge = 3706; 417 call output_string (string (Draw_line)); 418 419 /* Finally, store the horizontal and vertical positions for the various text 420* lines used in the head and tail sheets. */ 421 422 templates.position (*).horizontal = 0; 423 templates.position (*).vertical = 0; 424 425 templates.position (TOP_RQT_LINE).vertical = 14; 426 427 templates.position (BOTTOM_RQT_LINE).vertical = 494; 428 429 templates.position (TOP_SHORT_PATH).vertical = 35; 430 431 templates.position (BOTTOM_SHORT_PATH).vertical = 474; 432 433 templates.position (TOP_LONG_PATH).vertical = 32; 434 435 templates.position (BOTTOM_LONG_PATH).vertical = 470; 436 437 templates.position (ACCESS_CLASS).vertical = 239; 438 439 templates.position (BIG_ACCESS_CLASS).vertical = 193; 440 441 templates.position (HS_BIG_DESTINATION).vertical = 57; 442 templates.position (HS_HEAD_DESTINATION).vertical = 103; 443 444 templates.position (HS_DATE_INSTALLATION).vertical = 171; 445 446 templates.position (HS_BIG_HEADER).vertical = 125; 447 448 templates.position (HS_LANDSCAPE_DEST).vertical, 449 templates.position (HS_LANDSCAPE_HEAD).vertical = 8; 450 451 templates.position (HS_LANDSCAPE_HEAD).horizontal = 1260; 452 453 templates.position (TS_TIME_REQUESTED).horizontal = 120; 454 templates.position (TS_TIME_REQUESTED).vertical = 62; 455 456 templates.position (TS_TIME_OUTPUT).horizontal = 120; 457 templates.position (TS_TIME_OUTPUT).vertical = 70; 458 459 templates.position (TS_OUTPUT_MODE).horizontal = 120; 460 templates.position (TS_OUTPUT_MODE).vertical = 86; 461 462 templates.position (TS_FORMS_CONTROL).horizontal = 120; 463 templates.position (TS_FORMS_CONTROL).vertical = 94; 464 465 templates.position (TS_RQT_QUEUE).horizontal = 120; 466 templates.position (TS_RQT_QUEUE).vertical = 150; 467 468 templates.position (TS_PAGE_CHARGE).horizontal = 120; 469 templates.position (TS_PAGE_CHARGE).vertical = 110; 470 471 templates.position (TS_LINE_CHARGE).horizontal = 120; 472 templates.position (TS_LINE_CHARGE).vertical = 118; 473 474 templates.position (TS_CHARGE_TO).horizontal = 120; 475 templates.position (TS_CHARGE_TO).vertical = 126; 476 477 templates.position (TS_RATE_STRUCTURE).horizontal = 120; 478 templates.position (TS_RATE_STRUCTURE).vertical = 134; 479 480 481 templates.position (TS_HEAD_DESTINATION).vertical = 171; 482 483 templates.current_head_sheet.strng, templates.current_tail_sheet.strng = ""; 484 templates.current_head_sheet.lngth, templates.current_tail_sheet.lngth = 0; 485 486 /* if we've never done it before, get all the rate_structure names. 487* For RS numbers > max_rs_number, system_info_ will return a name 488* of the form " INVALID_RS_n". */ 489 490 if max_rs_number < 0 then do; 491 call system_info_$max_rs_number (max_rs_number); 492 do i = 0 to hbound (rs_names (i), 1); 493 call system_info_$rs_name (i, rs_names (i), (0)); 494 end; 495 end; 496 497 return; 498 499 end build_templates; 500 501 create_head_sheet: proc; 502 503 /* this is a special-purpose routine to generate the head sheet for the 504* Honeywell Bull laser printer */ 505 506 dcl copies_string char (22) aligned; /* temp string where we build "Copy X of Y" */ 507 dcl copies_string_len fixed bin; /* length of copies_string */ 508 dcl request_number char (20); /* space for the 1st header line */ 509 dcl request_number_len fixed bin; /* length of valid chars in request_number */ 510 511 if templates_ptr = null then do; 512 call build_templates; 513 if a_code ^= 0 then return; 514 end; 515 516 /* copy in the common portion of the head sheet into the buffer */ 517 buffer_ptr = addr (templates.current_head_sheet.strng); 518 buffer_length_ptr = addr (templates.current_head_sheet.lngth); 519 520 buffer_length = templates.head_sheet.lngth; 521 buffer = templates.head_sheet.strng; 522 523 /* get out of no output request data to process */ 524 if ordatap = null then return; 525 526 /* if we need to display the access class, add the access class specific strings */ 527 528 if ordata.access_class_string ^= "" then do; 529 i = buffer_length; 530 buffer_length = buffer_length + templates.access_class.lngth; 531 substr (buffer, i + 1) = substr (templates.access_class.strng, 1, templates.access_class.lngth); 532 end; 533 534 /* Build the line with the request number, requestor, and optional copies. */ 535 536 line_75_chars = ""; 537 call ioa_$rsnnl ("^d", request_number, request_number_len, ordata.request_no); 538 substr (line_75_chars, 1, request_number_len) = substr (request_number, 1, request_number_len); 539 substr (line_75_chars, length (line_75_chars) - request_number_len + 1) = substr (request_number, 1, request_number_len); 540 541 substr (line_75_chars, request_number_len + 5, 32) = ordata.requestor; 542 543 if ordata.copies > 1 544 then do; 545 if ordata.no_separator 546 then call ioa_$rsnnl ("^d copies", copies_string, copies_string_len, ordata.copies); 547 else call ioa_$rsnnl ("copy ^d of ^d", copies_string, copies_string_len, ordata.copy_no, ordata.copies); 548 substr (line_75_chars, length (line_75_chars) - copies_string_len - request_number_len - 3, copies_string_len) = substr (copies_string, 1, copies_string_len); 549 end; 550 551 Absolute_vertical_position.body = templates.position (TOP_RQT_LINE).vertical; 552 call output_string (string (Absolute_vertical_position)); 553 call output_string (CR); 554 call output_string (line_75_chars); 555 556 Absolute_vertical_position.body = templates.position (BOTTOM_RQT_LINE).vertical; 557 call output_string (string (Absolute_vertical_position)); 558 call output_string (CR); 559 call output_string (line_75_chars); 560 561 /* Output the full pathname. If the pathname is longer than can be displayed 562* on a single 10-pitch line (>75 characters), then switch to 12-pitch. If the 563* pathname is longer than can be displayed on a single 12-pitch line (>90 564* characters), then display the pathname on two lines. 565**/ 566 567 if length (rtrim (ordata.full_path)) > length (line_75_chars) 568 then do; /* switch to 12 pitch */ 569 Select_font.body = 2; /* Elite 12 font */ 570 call output_string (string (Select_font)); 571 call output_string (Set_default_hmi); /* 12 pitch */ 572 if length (rtrim (ordata.full_path)) > length (line_90_chars) 573 then do; /* 2-line pathname */ 574 Set_vmi.body = byte (7); /* 8 LPI */ 575 call output_string (string (Set_vmi)); 576 577 Absolute_vertical_position.body = templates.position (TOP_LONG_PATH).vertical; 578 call output_string (string (Absolute_vertical_position)); 579 call output_string (CR); 580 call output_string (substr (ordata.full_path, 1, length (line_90_chars))); 581 call output_string (CR_NL); 582 call output_string (rtrim (substr (ordata.full_path, length (line_90_chars) + 1))); 583 584 Absolute_vertical_position.body = templates.position (BOTTOM_LONG_PATH).vertical; 585 call output_string (string (Absolute_vertical_position)); 586 call output_string (CR); 587 call output_string (substr (ordata.full_path, 1, length (line_90_chars))); 588 call output_string (CR_NL); 589 call output_string (rtrim (substr (ordata.full_path, length (line_90_chars) + 1))); 590 end; 591 else do; /* 1-line pathname */ 592 Absolute_vertical_position.body = templates.position (TOP_SHORT_PATH).vertical; 593 call output_string (string (Absolute_vertical_position)); 594 call output_string (CR); 595 call output_string (string (Begin_auto_center_mode)); 596 call output_string (rtrim (ordata.full_path)); 597 call output_string (string (End_auto_center_mode)); 598 599 Absolute_vertical_position.body = templates.position (BOTTOM_SHORT_PATH).vertical; 600 call output_string (string (Absolute_vertical_position)); 601 call output_string (CR); 602 call output_string (string (Begin_auto_center_mode)); 603 call output_string (rtrim (ordata.full_path)); 604 call output_string (string (End_auto_center_mode)); 605 end; 606 607 Select_font.body = 1; /* Courier 10 */ 608 call output_string (string (Select_font)); 609 call output_string (Set_default_hmi); /* 10 pitch */ 610 end; 611 else do; /* 1-line pathname, 10 pitch */ 612 Absolute_vertical_position.body = templates.position (TOP_SHORT_PATH).vertical; 613 call output_string (string (Absolute_vertical_position)); 614 call output_string (CR); 615 call output_string (string (Begin_auto_center_mode)); 616 call output_string (rtrim (ordata.full_path)); 617 call output_string (string (End_auto_center_mode)); 618 619 Absolute_vertical_position.body = templates.position (BOTTOM_SHORT_PATH).vertical; 620 call output_string (string (Absolute_vertical_position)); 621 call output_string (CR); 622 call output_string (string (Begin_auto_center_mode)); 623 call output_string (rtrim (ordata.full_path)); 624 call output_string (string (End_auto_center_mode)); 625 end; 626 627 /* Build the date/time string and installation identifier. */ 628 629 line_75_chars = date_time_$format (time_format, ordata.time_start_request, "system_zone", "system_lang"); 630 substr (line_75_chars, length (line_75_chars) - length (rtrim (installation)) + 1) = rtrim (installation); 631 632 Absolute_vertical_position.body = templates.position (HS_DATE_INSTALLATION).vertical; 633 call output_string (string (Absolute_vertical_position)); 634 call output_string (CR); 635 call output_string (line_75_chars); 636 637 /* Print destination and header in shadowed big letters. */ 638 639 if dprint_msg.destination = "" 640 then dest = before (after (ordata.requestor, "."), "."); 641 else dest = dprint_msg.destination; 642 643 if dprint_msg.heading = "" 644 then head = before (ordata.requestor, "."); 645 else if substr (dprint_msg.heading, 1, 5) = " for " 646 then head = substr (dprint_msg.heading, 6); 647 else head = dprint_msg.heading; 648 649 /* Switch to 12 pitch and 8 LPI to make bigletters more readable. */ 650 651 Select_font.body = 2; 652 call output_string (string (Select_font)); 653 call output_string (Set_default_hmi); 654 Set_vmi.body = byte (7); 655 call output_string (string (Set_vmi)); 656 657 Absolute_vertical_position.body = templates.position (HS_BIG_DESTINATION).vertical; 658 call output_string (string (Absolute_vertical_position)); 659 call bigletter_$five (rtrim (substr (dest, 1, 13)), output_bigletters); 660 661 Absolute_vertical_position.body = templates.position (HS_BIG_HEADER).vertical; 662 call output_string (string (Absolute_vertical_position)); 663 call bigletter_$five (rtrim (substr (head, 1, 13)), output_bigletters); 664 665 if ordata.access_class_string ^= "" then do; 666 Absolute_vertical_position.body = templates.position (BIG_ACCESS_CLASS).vertical; 667 call output_string (string (Absolute_vertical_position)); 668 call bigletter_$five (rtrim (substr (ordata.access_class_string, 1, 13)), output_bigletters); 669 end; 670 671 Absolute_vertical_position.body = templates.position (HS_HEAD_DESTINATION).vertical; 672 call output_string (string (Absolute_vertical_position)); 673 674 if length (rtrim (head)) + length (rtrim (dest)) + 2 > length (line_75_chars) 675 then do; 676 line_90_chars = dest; 677 substr (line_90_chars, length (line_90_chars) - length (rtrim (head)) + 1) = rtrim (head); 678 call output_string (CR); 679 call output_string (line_90_chars); 680 end; 681 else do; 682 line_75_chars = dest; 683 substr (line_75_chars, length (line_75_chars) - length (rtrim (head)) + 1) = rtrim (head); 684 Select_font.body = 1; 685 call output_string (string (Select_font)); 686 call output_string (Set_default_hmi); 687 Set_vmi.body = byte (9); 688 call output_string (string (Set_vmi)); 689 call output_string (CR); 690 call output_string (line_75_chars); 691 end; 692 693 if ordata.access_class_string = "" 694 then ; 695 else do; 696 Select_font.body = 1; 697 call output_string (string (Select_font)); 698 call output_string (Set_default_hmi); 699 Set_vmi.body = byte (9); 700 call output_string (string (Set_vmi)); 701 Absolute_vertical_position.body = templates.position (ACCESS_CLASS).vertical; 702 call output_string (string (Absolute_vertical_position)); 703 call output_string (CR); 704 call output_string (string (Begin_auto_center_mode)); 705 call output_string (rtrim (ordata.access_class_string)); 706 call output_string (string (End_auto_center_mode)); 707 end; 708 709 /* Now switch to landscape orientation and print the destination/header. */ 710 711 Set_page_orientation.body = 2; 712 call output_string (string (Set_page_orientation)); 713 714 Select_font.body = 5; 715 call output_string (string (Select_font)); 716 717 /* call output_string (Begin_proportional_mode); */ 718 719 Absolute_horizontal_position.body = templates.position (HS_LANDSCAPE_DEST).horizontal; 720 call output_string (string (Absolute_horizontal_position)); 721 722 Absolute_vertical_position.body = templates.position (HS_LANDSCAPE_DEST).vertical; 723 call output_string (string (Absolute_vertical_position)); 724 725 call output_string (rtrim (dest)); 726 727 Absolute_horizontal_position.body = templates.position (HS_LANDSCAPE_HEAD).horizontal; 728 call output_string (string (Absolute_horizontal_position)); 729 730 call output_string (Begin_backward_print_mode); 731 732 call output_string (reverse (rtrim (head))); 733 734 call output_string (End_backward_print_mode); 735 736 /* call output_string (End_proportional_mode); */ 737 738 /* add control strings so printer notice will print out in a reasonable manner */ 739 Set_page_orientation.body = 1; 740 call output_string (string (Set_page_orientation)); 741 742 Select_font.body = 1; 743 call output_string (string (Select_font)); 744 745 call output_string (CR); 746 call output_string (FF); 747 748 return; 749 750 end create_head_sheet; 751 752 create_tail_sheet: proc; 753 754 /* this is a special-purpose routine to generate the tail sheet for the 755* Honeywell Bull laser printer */ 756 757 dcl copies_string char (22) aligned; /* temp string where we build "Copy X of Y" */ 758 dcl copies_string_len fixed bin; /* length of copies_string */ 759 dcl request_number char (20); /* space for the 1st header line */ 760 dcl request_number_len fixed bin; /* length of valid chars in request_number */ 761 762 if templates_ptr = null then do; 763 call build_templates; 764 if a_code ^= 0 then return; 765 end; 766 767 /* copy in the common portion of the tail sheet into the buffer */ 768 buffer_ptr = addr (templates.current_tail_sheet.strng); 769 buffer_length_ptr = addr (templates.current_tail_sheet.lngth); 770 771 buffer_length = templates.tail_sheet.lngth; 772 buffer = templates.tail_sheet.strng; 773 774 /* if we need to display the access class, add the access class specific strings */ 775 776 if ordata.access_class_string ^= "" then do; 777 i = buffer_length; 778 buffer_length = buffer_length + templates.access_class.lngth; 779 substr (buffer, i) = substr (templates.access_class.strng, 1, templates.access_class.lngth); 780 end; 781 782 /* Build the line with the request number, requestor, and optional copies. */ 783 784 line_75_chars = ""; 785 call ioa_$rsnnl ("^d", request_number, request_number_len, ordata.request_no); 786 substr (line_75_chars, 1, request_number_len) = substr (request_number, 1, request_number_len); 787 substr (line_75_chars, length (line_75_chars) - request_number_len + 1) = substr (request_number, 1, request_number_len); 788 789 substr (line_75_chars, request_number_len + 5, 32) = ordata.requestor; 790 791 if ordata.copies > 1 then do; 792 if ordata.no_separator then 793 call ioa_$rsnnl ("^d copies", copies_string, copies_string_len, ordata.copies); 794 else call ioa_$rsnnl ("copy ^d of ^d", copies_string, copies_string_len, ordata.copy_no, ordata.copies); 795 substr (line_75_chars, length (line_75_chars) - copies_string_len - request_number_len - 3, copies_string_len) = substr (copies_string, 1, copies_string_len); 796 end; 797 798 Absolute_vertical_position.body = templates.position (TOP_RQT_LINE).vertical; 799 call output_string (string (Absolute_vertical_position)); 800 call output_string (CR); 801 call output_string (line_75_chars); 802 803 Absolute_vertical_position.body = templates.position (BOTTOM_RQT_LINE).vertical; 804 call output_string (string (Absolute_vertical_position)); 805 call output_string (CR); 806 call output_string (line_75_chars); 807 808 /* Output the full pathname. If the pathname is longer than can be displayed 809* on a single 10-pitch line (>75 characters), then switch to 12-pitch. If 810* the pathname is longer than can be displayed on a single 12-pitch line (>90 811* characters), then display the pathname on two lines. */ 812 813 if length (rtrim (ordata.full_path)) > length (line_75_chars) then do; /* switch to 12 pitch */ 814 Select_font.body = 2; /* Elite 12 font */ 815 call output_string (string (Select_font)); 816 call output_string (Set_default_hmi); /* 12 pitch */ 817 if length (rtrim (ordata.full_path)) > length (line_90_chars) then do; /* 2-line pathname */ 818 Set_vmi.body = byte (7); /* 8 LPI */ 819 call output_string (string (Set_vmi)); 820 821 Absolute_vertical_position.body = templates.position (TOP_LONG_PATH).vertical; 822 call output_string (string (Absolute_vertical_position)); 823 call output_string (CR); 824 call output_string (substr (ordata.full_path, 1, length (line_90_chars))); 825 call output_string (CR_NL); 826 call output_string (rtrim (substr (ordata.full_path, length (line_90_chars) + 1))); 827 828 Absolute_vertical_position.body = templates.position (BOTTOM_LONG_PATH).vertical; 829 call output_string (string (Absolute_vertical_position)); 830 call output_string (CR); 831 call output_string (substr (ordata.full_path, 1, length (line_90_chars))); 832 call output_string (CR_NL); 833 call output_string (rtrim (substr (ordata.full_path, length (line_90_chars) + 1))); 834 end; 835 else do; /* 1-line pathname */ 836 Absolute_vertical_position.body = templates.position (TOP_SHORT_PATH).vertical; 837 call output_string (string (Absolute_vertical_position)); 838 call output_string (CR); 839 call output_string (string (Begin_auto_center_mode)); 840 call output_string (rtrim (ordata.full_path)); 841 call output_string (string (End_auto_center_mode)); 842 843 Absolute_vertical_position.body = templates.position (BOTTOM_SHORT_PATH).vertical; 844 call output_string (string (Absolute_vertical_position)); 845 call output_string (CR); 846 call output_string (string (Begin_auto_center_mode)); 847 call output_string (rtrim (ordata.full_path)); 848 call output_string (string (End_auto_center_mode)); 849 end; 850 851 Select_font.body = 1; /* Courier 10 */ 852 call output_string (string (Select_font)); 853 call output_string (Set_default_hmi); /* 10 pitch */ 854 end; 855 else do; /* 1-line pathname, 10 pitch */ 856 Absolute_vertical_position.body = templates.position (TOP_SHORT_PATH).vertical; 857 call output_string (string (Absolute_vertical_position)); 858 call output_string (CR); 859 call output_string (string (Begin_auto_center_mode)); 860 call output_string (rtrim (ordata.full_path)); 861 call output_string (string (End_auto_center_mode)); 862 863 Absolute_vertical_position.body = templates.position (BOTTOM_SHORT_PATH).vertical; 864 call output_string (string (Absolute_vertical_position)); 865 call output_string (CR); 866 call output_string (string (Begin_auto_center_mode)); 867 call output_string (rtrim (ordata.full_path)); 868 call output_string (string (End_auto_center_mode)); 869 end; 870 871 line_75_chars = "Requested: " || rtrim (date_time_$format (time_format, dprint_msg.msg_time, "system_zone", "system_lang")); 872 call output_position_and_string (TS_TIME_REQUESTED, rtrim (line_75_chars)); 873 874 line_75_chars = "Output: " || rtrim (date_time_$format (time_format, ordata.time_start_request, "system_zone", "system_lang")); 875 call output_position_and_string (TS_TIME_OUTPUT, rtrim (line_75_chars)); 876 877 if ordata.output_mode ^= "" then do; 878 call output_position_and_string (TS_OUTPUT_MODE, "Output mode: " || rtrim (ordata.output_mode)); 879 end; 880 881 if dprint_msg.version < dprint_msg_version_5 then do; 882 if dprint_msg.forms ^= "" then 883 call output_position_and_string (TS_FORMS_CONTROL, "Forms control: " || rtrim (dprint_msg.forms)); 884 end; 885 else if dprint_msg.forms_name_lth > 0 then 886 call output_position_and_string (TS_FORMS_CONTROL, "Forms control: " || dprint_msg.forms_name); 887 888 call ioa_$rsnnl ("^a queue ^d^12x^a", temp, j, ordata.request_type, ordata.queue, ordata.device_name); 889 call output_position_and_string (TS_RQT_QUEUE, rtrim (temp)); 890 891 if ordata.no_separator then 892 real_page_count = ordata.page_count * ordata.copies; 893 else real_page_count = ordata.page_count; 894 895 if ordata.charge > 0e0 then /* calculate the page charge */ 896 calc_page_charge = real_page_count * ordata.price_per_n_pages / ordata.n_pages_for_price; 897 else calc_page_charge = 0e0; 898 call ioa_$rsnnl ("^d pages^[ at $^.2f per ^d pages ^52t^10.2f^;^3s^]", 899 line_75_chars, n, real_page_count, (calc_page_charge > 0e0), 900 ordata.price_per_n_pages, ordata.n_pages_for_price, calc_page_charge); 901 call output_position_and_string (TS_PAGE_CHARGE, rtrim (line_75_chars)); 902 903 if ordata.no_separator then 904 real_line_count = ordata.line_count * ordata.copies; 905 else real_line_count = ordata.line_count; 906 907 if ordata.charge > 0e0 then 908 calc_line_charge = real_line_count * ordata.price_per_n_lines / ordata.n_lines_for_price; 909 else calc_line_charge = 0e0; 910 call ioa_$rsnnl ("^d lines^[ at $^.2f per ^d lines ^52t^10.2f^;^3s^]", 911 line_75_chars, n, real_line_count, (calc_line_charge > 0e0), 912 ordata.price_per_n_lines, ordata.n_lines_for_price, calc_line_charge); 913 call output_position_and_string (TS_LINE_CHARGE, rtrim (line_75_chars)); 914 915 call ioa_$rsnnl ("Charge to ^32a^52t^10.2f", 916 line_75_chars, n, ordata.requestor, ordata.charge); 917 call output_position_and_string (TS_CHARGE_TO, rtrim (line_75_chars)); 918 919 if max_rs_number > 0 | ^ordata.no_accounting then do; 920 call ioa_$rsnnl (" Rate structure ^[unknown, ^a used^;^a^].", 921 line_75_chars, n, ordata.rs_unavailable, rs_names ((ordata.rs_number))); 922 call output_position_and_string (TS_RATE_STRUCTURE, rtrim (line_75_chars)); 923 end; 924 925 if ordata.access_class_string ^= "" then do; 926 Absolute_vertical_position.body = templates.position (ACCESS_CLASS).vertical; 927 call output_string (string (Absolute_vertical_position)); 928 call output_string (CR); 929 call output_string (string (Begin_auto_center_mode)); 930 call output_string (rtrim (ordata.access_class_string)); 931 call output_string (string (End_auto_center_mode)); 932 933 Select_font.body = 2; 934 call output_string (string (Select_font)); 935 call output_string (Set_default_hmi); 936 Set_vmi.body = byte (7); 937 call output_string (string (Set_vmi)); 938 939 Absolute_vertical_position.body = templates.position (BIG_ACCESS_CLASS).vertical; 940 call output_string (string (Absolute_vertical_position)); 941 call bigletter_$five (rtrim (substr (ordata.access_class_string, 1, 13)), output_bigletters); 942 end; 943 944 Absolute_vertical_position.body = templates.position (TS_HEAD_DESTINATION).vertical; 945 call output_string (string (Absolute_vertical_position)); 946 947 if dprint_msg.destination = "" then 948 dest = before (after (ordata.requestor, "."), "."); 949 else dest = dprint_msg.destination; 950 951 if dprint_msg.heading = "" then 952 head = before (ordata.requestor, "."); 953 else if substr (dprint_msg.heading, 1, 5) = " for " then 954 head = substr (dprint_msg.heading, 6); 955 else head = dprint_msg.heading; 956 957 if length (rtrim (head)) + length (rtrim (dest)) + 2 > length (line_75_chars) then do; 958 Select_font.body = 2; 959 call output_string (string (Select_font)); 960 call output_string (Set_default_hmi); 961 Set_vmi.body = byte (7); 962 call output_string (string (Set_vmi)); 963 964 line_90_chars = dest; 965 substr (line_90_chars, length (line_90_chars) - length (rtrim (head)) + 1) = rtrim (head); 966 call output_string (CR); 967 call output_string (line_90_chars); 968 end; 969 else do; 970 Select_font.body = 1; 971 call output_string (string (Select_font)); 972 call output_string (Set_default_hmi); 973 Set_vmi.body = byte (9); 974 call output_string (string (Set_vmi)); 975 976 line_75_chars = dest; 977 substr (line_75_chars, length (line_75_chars) - length (rtrim (head)) + 1) = rtrim (head); 978 call output_string (CR); 979 call output_string (line_75_chars); 980 end; 981 982 call output_string (CR); 983 call output_string (FF); 984 985 return; 986 987 end create_tail_sheet; 988 989 output_bigletters: proc (strp, lth); 990 991 /* this is routine bigletter_ calls with the expanded line */ 992 993 dcl strp ptr; 994 dcl lth fixed bin; 995 dcl bcs char (lth) based (strp); 996 dcl i fixed bin; 997 dcl temp char (204) aligned; 998 999 temp = bcs; /* copy to a clean string */ 1000 i = length (rtrim (temp)); /* see how long it actually is */ 1001 1002 /* we must manually insert CR & NL characters on each line. Also, we surround 1003* the bigletter_ string with printer commands to make the asterisks appear in 1004* shadow mode to make them stand out a little more */ 1005 1006 call output_string (CR); 1007 call output_string (Begin_shadow_mode); 1008 call output_string (substr (temp, 1, i)); 1009 call output_string (End_bold_and_shadow_mode); 1010 call output_string (CR_NL); 1011 1012 return; 1013 1014 end output_bigletters; 1015 1016 output_position_and_string: proc (position_index, string_to_output); 1017 1018 dcl position_index fixed bin; 1019 dcl string_to_output char (*); 1020 1021 Absolute_horizontal_position.body = templates.position (position_index).horizontal; 1022 Absolute_vertical_position.body = templates.position (position_index).vertical; 1023 call output_string (string (Absolute_horizontal_position)); 1024 call output_string (string (Absolute_vertical_position)); 1025 1026 call output_string (string_to_output); 1027 1028 end output_position_and_string; 1029 1030 1031 output_string: proc (cs); 1032 1033 /* routine to copy the string it was passed into the current output buffer 1034* defined by buffer_ptr and buffer_length */ 1035 1036 dcl cs char (*) parameter; 1037 dcl start_char fixed bin; 1038 dcl num_chars fixed bin; 1039 1040 start_char = buffer_length + 1; 1041 num_chars = length (cs); 1042 buffer_length = buffer_length + num_chars; 1043 1044 substr (buffer, start_char, num_chars) = cs; 1045 1046 return; 1047 1048 end output_string; 1049 1050 print_the_banner_page: proc (which_page); 1051 1052 /* output the desired banner page */ 1053 1054 dcl which_page fixed bin; /* 1 = head sheet 1055* 2 = tailsheet 1056* 3 = separator */ 1057 1058 if which_page = HEAD | which_page = SEPARATOR then do; /* use head sheet buffer */ 1059 buffer_ptr = addr (templates.current_head_sheet.strng); 1060 buffer_length_ptr = addr (templates.current_head_sheet.lngth); 1061 end; 1062 else do; /* use tail sheet buffer */ 1063 buffer_ptr = addr (templates.current_tail_sheet.strng); 1064 buffer_length_ptr = addr (templates.current_tail_sheet.lngth); 1065 end; 1066 1067 /* The laser printer's banner pages requires rawo mode and no prt_conv_ 1068* intervention. 1069* 1070* Also, we must reenable print mode if a head sheet, since tail sheet code 1071* disables it when it's through outputing the tail sheet. This trick 1072* prevents any blank pages between the tail sheet of one request and the head 1073* sheet of the next. */ 1074 1075 if which_page = HEAD | which_page = SEPARATOR then 1076 call iox_$modes (iocbp, "print", "", xcode); /* enable printing */ 1077 call iox_$put_chars (iocbp, buffer_ptr, 0, xcode); 1078 call iox_$modes (iocbp, "rawo", "", xcode); 1079 call iox_$control (iocbp, "prt_conv_off", null (), xcode); 1080 call iox_$put_chars (iocbp, buffer_ptr, buffer_length, a_code); 1081 call iox_$control (iocbp, "prt_conv_on", null (), xcode); 1082 call iox_$modes (iocbp, "^rawo", "", xcode); 1083 if which_page = TAIL then do; /* if tail sheet page */ 1084 call iox_$modes (iocbp, "^print", "", xcode);/* disenable printing */ 1085 return; /* that all for tail sheet */ 1086 end; 1087 if a_code ^= 0 then 1088 return; 1089 1090 /* see if there is an printer notice page, if so print it if we are outputting the head sheet */ 1091 if which_page = SEPARATOR then return; 1092 1093 call hcs_$initiate_count (sysdir, "printer_notice", "", advert_bc, 0, advert_ptr, xcode); 1094 if advert_ptr ^= null then 1095 if advert_bc > 0 then do; 1096 call iox_$modes (iocbp, "default", (""), a_code); 1097 call iox_$put_chars (iocbp, advert_ptr, divide (advert_bc, 9, 21, 0), a_code); 1098 call hcs_$terminate_noname (advert_ptr, xcode); 1099 end; 1100 1101 a_code = 0; 1102 1103 return; 1104 end print_the_banner_page; 1105 /* BEGIN INCLUDE FILE ... dprint_msg.incl.pl1 */ 1 2 /* Modified: November 1983 by C. Marker Added no_separator. */ 1 3 1 4 /****^ HISTORY COMMENTS: 1 5* 1) change(87-05-10,Gilcrease), approve(87-05-13,MCR7686), 1 6* audit(88-02-01,Farley), install(88-02-02,MR12.2-1019): 1 7* Add line_nbrs bit for line-numbered printouts, version 4. 1 8* 2) change(88-02-05,Farley), approve(88-02-05,PBF7686), audit(88-02-05,GWMay), 1 9* install(88-02-05,MR12.2-1022): 1 10* Corrected alignment of line_nbrs, was aligned s/b unaligned.. 1 11* 3) change(88-08-23,Farley), approve(88-09-16,MCR7911), 1 12* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 1 13* Increased size of forms field to 64 characters (was only 24), which 1 14* updates the version to 5. 1 15* END HISTORY COMMENTS */ 1 16 1 17 1 18 dcl dmp ptr; /* ptr to message */ 1 19 1 20 dcl 1 dprint_msg based (dmp) aligned, /* structure of a IO daemon print or punch request */ 1 21 2 header like queue_msg_hdr, /* header for all standard queue messages */ 1 22 2 version fixed bin, /* version of the dprint_msg used */ 1 23 2 copies fixed bin, /* number of copies user requested */ 1 24 2 bit_count fixed bin (35), /* the bitcount of the segment at request time */ 1 25 2 output_module fixed bin, /* 1=print, 2=7punch, 3= mcc, 4=raw */ 1 26 2 control, /* control flags. */ 1 27 3 nep bit (1) unal, /* TRUE if printing over perforations */ 1 28 3 single bit (1) unal, /* TRUE if ignore FF and VT */ 1 29 3 non_edited bit (1) unal, /* TRUE if printing in non-edited mode */ 1 30 3 truncate bit (1) unal, /* TRUE if truncating lines at line length */ 1 31 3 esc bit (1) unal, /* TRUE if text escapes are to be processed */ 1 32 3 center_top_label bit (1) unal, /* TRUE if top label to be centered */ 1 33 3 center_bottom_label bit (1) unal, /* TRUE if bottom label to be centered */ 1 34 3 no_separator bit(1) unal, /* TRUE if the inner head a tail sheets of multiple copies are to be suppressed. */ 1 35 3 line_nbrs bit (1) unal, /* TRUE if line numbers wanted */ 1 36 3 padding bit (27) unal, 1 37 2 lmargin fixed bin, /* indent from the left */ 1 38 2 line_lth fixed bin, /* logical line length */ 1 39 2 page_lth fixed bin, /* logical page length */ 1 40 2 heading_lth fixed bin, /* number of chars in heading */ 1 41 2 top_label_lth fixed bin, /* number of chars in the top label */ 1 42 2 bottom_label_lth fixed bin, /* number of chars in bottom label */ 1 43 2 chan_stop_path_lth fixed bin, /* number of chars in channel stop pathname */ 1 44 2 forms_name_lth fixed bin, /* number of chars in forms name */ 1 45 2 future_fb_values (7) fixed bin, /* make future versions possible */ 1 46 2 forms char (24), /* name of special forms, or blank */ 1 47 2 destination char (24), /* routing for output */ 1 48 2 heading char (head_max_lth refer (dprint_msg.heading_lth)), /* heading on page 1 */ 1 49 2 top_label char (label_max_lth refer (dprint_msg.top_label_lth)), /* top page heading for each page */ 1 50 2 bottom_label char (label_max_lth refer (dprint_msg.bottom_label_lth)), /* bottom page heading */ 1 51 2 chan_stop_path char (path_max_lth refer (dprint_msg.chan_stop_path_lth)), /* path of rqti seg with channel stops */ 1 52 2 forms_name char (forms_max_lth refer (dprint_msg.forms_name_lth)); /* forms name string */ 1 53 1 54 1 55 dcl ( 1 56 head_max_lth init (64), /* allocation size for heading */ 1 57 label_max_lth init (136), /* allocation size for label fields */ 1 58 path_max_lth init (168), /* allocation size for pathname fields */ 1 59 forms_max_lth init (64) /* allocation size for forms name string */ 1 60 ) fixed bin int static options (constant); 1 61 1 62 dcl ( 1 63 dprint_msg_version_3 init (3), 1 64 dprint_msg_version_4 init (4), 1 65 dprint_msg_version_5 init (5) /* current version */ 1 66 ) fixed bin int static options (constant); 1 67 1 68 /* END INCLUDE FILE ... dprint_msg.incl.pl1 */ 1105 1106 /* BEGIN INCLUDE FILE ... output_request_data.incl.pl1 */ 2 2 2 3 /* Modified by R. McDonald May 1980 to include page charges (UNCA) */ 2 4 /* Modified by C. Marker October 1983 added no_separator */ 2 5 2 6 2 7 /****^ HISTORY COMMENTS: 2 8* 1) change(87-05-10,Gilcrease), approve(87-05-13,MCR7686), 2 9* audit(88-02-01,Farley), install(88-02-02,MR12.2-1019): 2 10* Add the line_nbrs bit for line-numbered output. 2 11* 2) change(88-08-19,Brunelle), approve(88-08-19,MCR7911), 2 12* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 2 13* Added single_sheet bit to denote if continuous paper. 2 14* END HISTORY COMMENTS */ 2 15 2 16 2 17 dcl 1 ordata based (ordatap) aligned, 2 18 2 dpmp ptr, /* Ptr to dprint_msg */ 2 19 2 requestor char (32), /* Person.Proj.tag requesting */ 2 20 2 full_path char (168), /* source of the output */ 2 21 2 queue fixed bin, /* Queue requested. */ 2 22 2 copies fixed bin, /* Copies requested. */ 2 23 2 copy_no fixed bin, /* Number this copy */ 2 24 2 request_no fixed bin (35), /* Number request assigned by coord */ 2 25 2 restart_no fixed bin (35), /* old number of restarted request (0 = not restarted) */ 2 26 2 request_type char (32), /* Name of device class wanted. */ 2 27 2 access_class_string char (280), /* Access class - size limit for two printer lines */ 2 28 2 punsw fixed bin, /* 0 = print, 1= punch */ 2 29 2 delete fixed bin, /* 1= delete, 0= don't */ 2 30 2 device_name char (32), /* Name of physical device used */ 2 31 2 output_mode char (128), /* user's mode string for ios_$changemode */ 2 32 2 time_start_request fixed bin (71), /* Clock time when picked request */ 2 33 2 date_time_start_request char (24), /* .. in chars too */ 2 34 2 line_count fixed bin (24), /* Line count returned by DIM */ 2 35 2 page_count fixed bin, /* Page count returned by DIM */ 2 36 2 cpu_time fixed bin (71), /* Total CPU usage while printing */ 2 37 2 real_time fixed bin (71), /* Total realtime while printing */ 2 38 2 page_waits fixed bin, /* Total page-waits while printing */ 2 39 2 pre_pages fixed bin, /* Total pre-pages (???) .. */ 2 40 2 bit_count fixed bin (24), /* Number of bits transmitted. */ 2 41 2 charge float bin, /* What the thing cost. */ 2 42 2 control_flags, 2 43 3 continued bit (1) unal, /* request started by one driver and given to another */ 2 44 3 restarted bit (1) unal, /* request is restarted */ 2 45 3 separator bit (1) unal, /* used to determine necessity of a separator page */ 2 46 3 notify bit (1) unal, /* if should confirm to user */ 2 47 3 saved bit (1) unal, /* request was suspended by operator, we'll save it */ 2 48 3 priority_request bit (1) unal, /* operator said run now!! */ 2 49 3 no_separator bit (1) unal, /* suppress inner head and tail sheets when printing multiple copies */ 2 50 3 line_nbrs bit (1) unal, /* if line-numbered output requested */ 2 51 3 single_sheet bit (1) unal, /* ON if single_sheet output */ 2 52 3 padding bit (27) unal, /* not used */ 2 53 2 contd_no fixed bin (35), /* old number of continued request (0 = not continued) */ 2 54 2 total_charge float bin, /* total charge for all copies */ 2 55 2 price_per_n_lines float bin, /* line price rate used to compute charge */ 2 56 2 n_lines_for_price fixed bin, /* number of lines price is based on */ 2 57 2 charge_queue fixed bin, /* base charge rate on this queue */ 2 58 2 price_per_n_pages float bin, /* page charge rate used to compute charge */ 2 59 2 n_pages_for_price fixed bin, /* number of pages price is based on */ 2 60 2 rs_number fixed bin (9) unsigned unaligned, /* rate_structure number used */ 2 61 2 rs_unavailable bit (1) unaligned, /* 1=>couldn't read SAT */ 2 62 2 no_accounting bit (1) unaligned, /* 1=>accounting:nothing in iod_tables */ 2 63 2 pad_bits bit (25) unaligned, 2 64 2 line_nbr fixed bin (35), /* current line number */ 2 65 2 pad_space (6) fixed bin (35); /* save some room to grow */ 2 66 2 67 dcl ordatap ptr; /* Ptr to above structure */ 2 68 2 69 dcl 1 REQUEST like ordata aligned; /* If wanted, a place to put the above thing */ 2 70 2 71 /* END INCLUDE FILE ... output_request_data.incl.pl1 */ 1106 1107 /* BEGIN INCLUDE FILE ... prt_ctl.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(88-02-23,Brunelle), approve(88-08-31,MCR7911), 3 6* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 3 7* Ancient History 3 8* Modified: 11 December 1981 by G. Palter to add force_ctl_char 3 9* Modified: November 1983 by C. Marker to add force_nsep 3 10* 2) change(88-02-23,Brunelle), approve(88-08-31,MCR7911), 3 11* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 3 12* Literals for banner type and banner bars type added. 3 13* END HISTORY COMMENTS */ 3 14 3 15 3 16 /* format: style4 */ 3 17 3 18 /* This structure is used by the IO Daemon to define the printer control functions */ 3 19 3 20 dcl prt_ctl_ptr ptr; 3 21 3 22 dcl 1 prt_ctl aligned based (prt_ctl_ptr), /* printer control values */ 3 23 2 flags, 3 24 3 force_nep bit (1) unal, /* set noskip for the user */ 3 25 3 force_esc bit (1) unal, /* set escape processing for the user */ 3 26 3 no_auto_print bit (1) unal, /* ask for a cmd before each request is printed */ 3 27 3 meter bit (1) unal, /* meter printer functions */ 3 28 3 force_ctl_char bit (1) unal, /* set ctl_char mode for the user */ 3 29 3 force_nsep bit (1) unal, /* supress printing of inner head and tail sheets for multiple copies */ 3 30 3 ctl_pad bit (30) unal, /* default for future values */ 3 31 2 banner_type fixed bin, /* 0 = no banners */ 3 32 /* 1 = normal head/tail sheets */ 3 33 /* 2 = brief head/tail sheets */ 3 34 /* 3 to 10 RESERVED */ 3 35 2 banner_bars fixed bin, /* 0 = normal overprinted separator bars */ 3 36 /* 1 = single print line bars (no overprint) */ 3 37 /* 2 = suppress the separator bars (no separator) */ 3 38 2 banner_indent fixed bin, /* how far to indent the banner (future) */ 3 39 2 banner_line fixed bin, /* what line to start the banner on (future) */ 3 40 3 41 2 paper_info, 3 42 3 phys_page_length fixed bin, 3 43 3 phys_line_length fixed bin, 3 44 3 lines_per_inch fixed bin, 3 45 2 channel_stops (256) bit (16) unal, /* logical stops for slew to channel */ 3 46 2 prt_ctl_pad (10) fixed bin; /* for future additions */ 3 47 3 48 /* constants for prt_ctl.banner_type */ 3 49 dcl (NO_BANNERS init (0), 3 50 NORMAL_BANNERS init (1), 3 51 BRIEF_BANNERS init (2)) fixed bin int static options (constant); 3 52 3 53 /* constants for prt_ctl.banner_bars */ 3 54 dcl (NORMAL_BANNER_BARS init (0), 3 55 SINGLE_BANNER_BARS init (1), 3 56 NO_BANNER_BARS init (2)) fixed bin int static options (constant); 3 57 3 58 /* END INCLUDE FILE ... prt_ctl.incl.pl1 */ 1107 1108 /* BEGIN INCLUDE FILE ... queue_msg_hdr.incl.pl1 */ 4 2 4 3 /* This is the message header used for standard system queue messages, namely: 4 4* IO daemon requests, absentee requests, retrieval requests. 4 5**/ 4 6 4 7 /* Written by Jerry Whitmore, Spring 1978. 4 8* Modified by T. Casey, November 1978, to add values for state. 4 9* Modified by R. Kovalcik, June 1982, defer_until_process_terminataion 4 10**/ 4 11 4 12 dcl 1 queue_msg_hdr based aligned, /* standard header for all system queue messages */ 4 13 2 msg_time fixed bin (71), /* date and time of request */ 4 14 2 hdr_version fixed bin, /* version of this declaration */ 4 15 2 dirname char (168), /* directory name */ 4 16 2 ename char (32), /* entry name of file requested */ 4 17 2 message_type fixed bin, /* message format descriptor */ 4 18 /* 0 = absentee request */ 4 19 /* 1 = print request */ 4 20 /* 2 = punch request */ 4 21 /* 3 = tape request */ 4 22 /* 4 = retrieval request */ 4 23 2 bit_flags, 4 24 3 delete_sw bit (1) unal, /* delete file when done */ 4 25 3 notify bit (1) unal, /* user wants to be notified */ 4 26 3 defer_until_process_termination bit (1) unal, /* don't process request until process terminates */ 4 27 3 padding bit (33) unal, 4 28 2 state fixed bin, /* stage of processing after being queued: 4 29* 0 = initial unprocessed state, 1 = deferred, 4 30* 2 = in state transition, 3 = eligible, 4 = running, 4 31* 5 = bumped, 6 = deferred_until_process_termination */ 4 32 2 orig_queue fixed bin, /* queue the request was submitted to */ 4 33 2 std_length fixed bin, /* length of std msg for this type */ 4 34 2 dupt_lock bit (36) aligned, /* lock word for defer until process termination */ 4 35 2 hdr_pad (3) fixed bin; 4 36 4 37 dcl queue_msg_hdr_version_1 fixed bin int static options (constant) init (1); /* current version of the header */ 4 38 4 39 /* Values for queue_msg_hdr.state */ 4 40 4 41 dcl STATE_UNPROCESSED fixed bin int static options (constant) init (0); 4 42 dcl STATE_DEFERRED fixed bin int static options (constant) init (1); 4 43 dcl STATE_TRANSITION fixed bin int static options (constant) init (2); 4 44 dcl STATE_ELIGIBLE fixed bin int static options (constant) init (3); 4 45 dcl STATE_RUNNING fixed bin int static options (constant) init (4); 4 46 dcl STATE_BUMPED fixed bin int static options (constant) init (5); 4 47 dcl STATE_DUPT fixed bin int static options (constant) init (6); 4 48 4 49 /* END INCLUDE FILE ... queue_msg_hdr.incl.pl1 */ 1108 1109 /* BEGIN INCLUDE FILE iodd_hblp_commands.incl.pl1. */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(88-08-31,Brunelle), approve(88-08-31,MCR7911), 5 6* audit(88-10-12,Wallman), install(88-10-28,MR12.2-1199): 5 7* Created. 5 8* END HISTORY COMMENTS */ 5 9 5 10 /* format: style4 */ 5 11 5 12 5 13 /* ******************************************************************** 5 14* * PAGE FORMAT COMMANDS * 5 15* ******************************************************************** */ 5 16 5 17 dcl 1 Set_page_orientation int static, 5 18 2 header char (3) unaligned init ("D"), /* ESC DC2 D */ 5 19 2 body pic "9" unaligned, /* 1 = portrait */ 5 20 /* 2 = landscape */ 5 21 2 trailer char (1) unaligned init (" "); /* SP */ 5 22 5 23 dcl 1 Set_page_length int static, 5 24 2 header char (2) unaligned /* ESC FF */ 5 25 init (" "), 5 26 2 body char (1) unaligned; /* xx */ 5 27 /* lines/page */ 5 28 5 29 dcl Set_top_margin_position char (2) int static init ("T"); /* ESC T */ 5 30 5 31 dcl 1 Set_top_margin_count int static, 5 32 2 header char (3) unaligned init ("T"), /* ESC DC4 T */ 5 33 2 body char (1) unaligned; /* xx */ 5 34 /* (xx-1) * VMI */ 5 35 5 36 dcl 1 Set_top_margin int static, /* 1/48 inches */ 5 37 2 header char (3) unaligned init ("T"), /* ESC DC2 T */ 5 38 2 body pic "9999" unaligned, /* n n n n */ 5 39 2 trailer char (1) unaligned init (" "); /* SP */ 5 40 5 41 dcl Set_bottom_margin_position char (2) int static init ("L"); /* ESC L */ 5 42 5 43 dcl 1 Set_bottom_margin_count int static, 5 44 2 header char (3) unaligned init ("L"), /* ESC DC4 L */ 5 45 2 body char (1) unaligned; /* xx */ 5 46 /* (xx-1) * VMI */ 5 47 5 48 dcl 1 Set_bottom_margin int static, /* 1/48 inches */ 5 49 2 header char (3) unaligned init ("L"), /* ESC DC2 L */ 5 50 2 body pic "9999" unaligned, /* n n n n */ 5 51 2 trailer char (1) unaligned init (" "); /* SP */ 5 52 5 53 dcl Set_left_margin_position char (2) int static init ("9"); /* ESC 9 */ 5 54 5 55 dcl 1 Set_left_margin_count int static, 5 56 2 header char (3) unaligned init ("9"), /* ESC DC4 9 */ 5 57 2 body char (1) unaligned; /* xx */ 5 58 /* (xx-1) * HMI */ 5 59 5 60 dcl 1 Set_left_margin int static, /* 1/120 inches */ 5 61 2 header char (3) unaligned init ("9"), /* ESC DC2 9 */ 5 62 2 body pic "9999" unaligned, /* n n n n */ 5 63 2 trailer char (1) unaligned init (" "); /* SP */ 5 64 5 65 dcl Set_right_margin_position char (2) int static init ("0"); /* ESC 0 */ 5 66 5 67 dcl 1 Set_right_margin_count int static, 5 68 2 header char (3) unaligned init ("0"), /* ESC DC4 0 */ 5 69 2 body char (1) unaligned; /* xx */ 5 70 /* (xx-1) * HMI */ 5 71 5 72 dcl 1 Set_right_margin int static, /* 1/120 inches */ 5 73 2 header char (3) unaligned init ("0"), /* ESC DC2 0 */ 5 74 2 body pic "9999" unaligned, /* n n n n */ 5 75 2 trailer char (1) unaligned init (" "); /* SP */ 5 76 5 77 5 78 dcl Clear_margins char (2) int static init ("C"); /* ESC C */ 5 79 /* resets top & */ 5 80 /* bottom only */ 5 81 5 82 /* ******************************************************************** 5 83* * REMOTE DIAGNOSTIC COMMANDS * 5 84* ******************************************************************** */ 5 85 5 86 dcl Initialize_printer char (3) int static init ("I"); /* ESC SUB I */ 5 87 5 88 dcl Soft_reset char (3) int static /* ESC CR P */ 5 89 init (" P"); 5 90 5 91 dcl Error_reset char (3) int static init ("R"); /* ESC SUB R */ 5 92 5 93 dcl Request_status_byte_1 char (3) int static init ("1");/* ESC SUB 1 */ 5 94 5 95 dcl Request_status_byte_3 char (3) int static init ("3");/* ESC SUB 3 */ 5 96 5 97 dcl Request_printer_status char (5) int static init ("#1 "); /* ESC SUB # 1 SP */ 5 98 5 99 dcl Request_paper_size_status char (5) int static init ("#2 "); /* ESC SUB # 2 SP */ 5 100 5 101 dcl Request_user_memeory_status char (5) int static init ("#4 "); /* ESC SUB # 4 SP */ 5 102 5 103 dcl Request_font_status char (5) int static init ("#5 ");/* ESC SUB # 5 SP */ 5 104 5 105 dcl Request_character_status char (5) int static init ("#6 "); /* ESC SUB # 6 SP */ 5 106 5 107 /* ******************************************************************** 5 108* * SPACING AND CHARACTER MOVEMENT COMMANDS * 5 109* ******************************************************************** */ 5 110 5 111 dcl 1 Set_hmi int static, 5 112 2 header char (2) unaligned init (""), /* ESC US */ 5 113 2 body char (1) unaligned; /* xx */ 5 114 /* (xx-1) / 120 */ 5 115 5 116 dcl Set_default_hmi char (2) int static init ("S"); /* ESC S */ 5 117 5 118 dcl 1 Set_vmi int static, 5 119 2 header char (2) unaligned init (""), /* ESC RS */ 5 120 2 body char (1) unaligned; /* xx */ 5 121 /* (xx-1) / 48 */ 5 122 5 123 dcl Begin_proportional_mode char (2) int static init ("P"); /* ESC P */ 5 124 5 125 dcl End_proportional_mode char (2) int static init ("Q"); /* ESC Q */ 5 126 5 127 dcl 1 Set_letterspace_offset int static, 5 128 2 header char (2) unaligned init (""), /* ESC DC1 */ 5 129 2 body char (1) unaligned; /* xx */ 5 130 /* xx / 120 */ 5 131 5 132 dcl Incremental_backspace char (2) int static init (""); /* ESC BS */ 5 133 5 134 dcl Begin_auto_justify_mode char (2) int static init ("M"); /* ESC M */ 5 135 5 136 dcl Begin_auto_center_mode char (2) int static init ("=");/* ESC = */ 5 137 5 138 dcl End_auto_center_mode char (1) int static /* CR */ 5 139 init (" "); 5 140 5 141 dcl Begin_program_mode char (3) int static init ("M"); /* ESC SO M */ 5 142 5 143 dcl Cancel char (2) int static init ("X"); /* ESC X */ 5 144 5 145 dcl Begin_newline_mode char (2) int static init ("?"); /* ESC ? */ 5 146 5 147 dcl End_newline_mode char (2) int static init ("!"); /* ESC ! */ 5 148 5 149 dcl Begin_reverse_print_mode char (2) int static init ("<"); /* ESC < */ 5 150 5 151 dcl End_reverse_print_mode char (2) int static init (">");/* ESC > */ 5 152 5 153 dcl Begin_backward_print_mode char (2) int static init ("6"); /* ESC 6 */ 5 154 5 155 dcl End_backward_print_mode char (2) int static init ("5"); /* ESC 5 */ 5 156 5 157 dcl Half_line_feed char (2) int static init ("U"); /* ESC U */ 5 158 5 159 dcl Negative_line_feed char (2) int static init (" 5 160 "); /* ESC LF */ 5 161 5 162 dcl Negative_half_line_feed char (2) int static init ("D"); /* ESC D */ 5 163 5 164 /* ******************************************************************** 5 165* * For the Define Movement command, n can be 1 to 8 as follows: * 5 166* * * 5 167* * CR LF FF (characters received) * 5 168* * * 5 169* * 1 CR LF FF (characters executed) * 5 170* * 2 CR+LF LF FF * 5 171* * 3 CR LF+CR FF * 5 172* * 4 CR+LF LF+CR FF * 5 173* * 5 CR LF FF+CR * 5 174* * 6 CR+LF LF FF+CR * 5 175* * 7 CR LF+CR FF+CR * 5 176* * 8 CR+LF LF+CR FF+CR * 5 177* ******************************************************************** */ 5 178 5 179 dcl 1 Define_movement int static, 5 180 2 header char (3) unaligned init ("M"), /* ESC DC2 M */ 5 181 2 body pic "9" unaligned, /* n (1 - 8) */ 5 182 2 trailer char (1) unaligned init (" "); /* SP */ 5 183 5 184 /* ******************************************************************** 5 185* * FONT COMMANDS * 5 186* ******************************************************************** */ 5 187 5 188 dcl 1 Assign_font int static, 5 189 2 header char (3) unaligned init ("A"), /* ESC DC2 A */ 5 190 2 body unaligned, 5 191 3 font_number pic "99" unaligned, /* n n */ 5 192 3 comma char (1) unaligned init (","), /* , */ 5 193 3 orientation pic "9" unaligned, /* 1 = portrait */ 5 194 /* 2 = landscape */ 5 195 3 commercial_at char (1) unaligned init ("@"), /* @ */ 5 196 3 font_name char (20) unaligned, /* ^ trailing SP */ 5 197 2 trailer char (2) unaligned init (" "); /* ESC SP */ 5 198 5 199 /* ******************************************************************** 5 200* * For the Select Font command, nn can be 00 to 31 as follows: * 5 201* * * 5 202* * 01 - Courier 10 (resident) * 5 203* * 02 - Prestige Elite 12 (resident) * 5 204* * 03 - Century PS (residnt) * 5 205* * 04 - Letter Gothic 15 (resident) * 5 206* * 11 - first font in upper cartridge * 5 207* * .. * 5 208* * 18 - last font in upper cartridge * 5 209* * 21 - first font in lower cartridge * 5 210* * .. * 5 211* * 28 - last font in upper cartridge * 5 212* * 30 - Linegraph * 5 213* ******************************************************************** */ 5 214 5 215 dcl 1 Select_font int static, 5 216 2 header char (3) unaligned init ("S"), /* ESC DC2 S */ 5 217 2 body pic "99" unaligned, /* n n */ 5 218 2 trailer char (1) unaligned init (" "); /* SP */ 5 219 5 220 /* ******************************************************************** 5 221* * CHARACTER ATTRIBUTE COMMANDS * 5 222* ******************************************************************** */ 5 223 5 224 dcl Begin_underline_mode char (2) int static init ("E"); /* ESC E */ 5 225 5 226 dcl End_underline_mode char (2) int static init ("R"); /* ESC R */ 5 227 5 228 dcl Begin_bold_mode char (2) int static init ("O"); /* ESC O */ 5 229 5 230 dcl Begin_shadow_mode char (2) int static init ("W"); /* ESC W */ 5 231 5 232 dcl End_bold_and_shadow_mode char (2) int static init ("&"); /* ESC & */ 5 233 5 234 dcl Begin_suppressed_print_mode char (2) int static init ("7"); /* ESC 7 */ 5 235 5 236 /* ******************************************************************** 5 237* * TAB COMMANDS * 5 238* ******************************************************************** */ 5 239 5 240 dcl Set_horizontal_tab char (2) int static init ("1"); /* ESC 1 */ 5 241 5 242 dcl Clear_single_horizontal_tab char (2) int static init ("8"); /* ESC 8 */ 5 243 5 244 dcl Set_vertical_tab char (2) int static init ("-"); /* ESC - */ 5 245 5 246 dcl Clear_all_tabs char (2) int static init ("2"); /* ESC 2 */ 5 247 5 248 /* ******************************************************************** 5 249* * DIRECT POSITIONING COMMANDS * 5 250* ******************************************************************** */ 5 251 5 252 dcl 1 Absolute_horizontal_position_count int static, 5 253 2 header char (2) unaligned init (" "), /* ESC HT */ 5 254 2 body char (1) unaligned; /* xx */ 5 255 /* (xx-1) * HMI */ 5 256 5 257 dcl 1 Absolute_horizontal_position int static, /* 1/120 inch */ 5 258 2 header char (3) unaligned init ("H"), /* ESC DC2 H */ 5 259 2 body pic "9999" unaligned, /* n n n n */ 5 260 2 trailer char (1) unaligned init (" "); /* SP */ 5 261 5 262 dcl 1 Relative_horizontal_position_count int static, 5 263 2 header char (3) unaligned init (" "), /* ESC DC4 SP */ 5 264 2 sign char (1) unaligned, /* + or - */ 5 265 2 body char (1) unaligned; /* xx */ 5 266 /* (xx-1) * HMI */ 5 267 5 268 dcl 1 Relative_horizontal_position int static, /* 1/120 inch */ 5 269 2 header char (3) unaligned init (" "), /* ESC DC2 SP */ 5 270 2 sign char (1) unaligned, /* + or - */ 5 271 2 body pic "9999" unaligned, /* n n n n */ 5 272 2 trailer char (1) unaligned init (" "); /* SP */ 5 273 5 274 dcl 1 Absolute_vertical_position_count int static, 5 275 2 header char (2) unaligned /* ESC VT */ 5 276 init (" "), 5 277 2 body char (1) unaligned; /* xx */ 5 278 /* (xx-1) * VMI */ 5 279 5 280 dcl 1 Absolute_vertical_position int static, /* 1/48 inch */ 5 281 2 header char (3) unaligned init ("V"), /* ESC DC2 V */ 5 282 2 body pic "9999" unaligned, /* n n n n */ 5 283 2 trailer char (1) unaligned init (" "); /* SP */ 5 284 5 285 dcl 1 Relative_vertical_position_count int static, 5 286 2 header char (3) unaligned init (" 5 287 "), /* ESC DC4 LF */ 5 288 2 sign char (1) unaligned, /* + or - */ 5 289 2 body char (1) unaligned; /* xx */ 5 290 /* (xx-1) * VMI */ 5 291 5 292 dcl 1 Relative_vertical_position int static, /* 1/48 inch */ 5 293 2 header char (3) unaligned init (" 5 294 "), /* ESC DC2 LF */ 5 295 2 sign char (1) unaligned, /* + or - */ 5 296 2 body pic "9999" unaligned, /* n n n n */ 5 297 2 trailer char (1) unaligned init (" "); /* SP */ 5 298 5 299 /* ******************************************************************** 5 300* * OTHER COMMANDS * 5 301* ******************************************************************** */ 5 302 5 303 dcl 1 Set_number_of_copies int static, 5 304 2 header char (3) unaligned init ("N"), /* ESC DC2 N */ 5 305 2 body pic "99" unaligned, /* n n */ 5 306 2 trailer char (1) unaligned init (" "); /* SP */ 5 307 5 308 dcl 1 Draw_box int static, 5 309 2 header char (3) unaligned init ("B"), /* ESC DC2 B */ 5 310 2 left_edge pic "9999" unaligned, /* n n n n */ 5 311 2 comma1 char (1) unaligned init (","), /* , */ 5 312 2 top_edge pic "9999" unaligned, /* n n n n */ 5 313 2 comma2 char (1) unaligned init (","), /* , */ 5 314 2 right_edge pic "9999" unaligned, /* n n n n */ 5 315 /* from left edge */ 5 316 2 comma3 char (1) unaligned init (","), /* , */ 5 317 2 bottom_edge pic "9999" unaligned, /* n n n n */ 5 318 /* from top edge */ 5 319 2 comma4 char (1) unaligned init (","), /* , */ 5 320 2 line_width pic "9999" unaligned, /* n n n n */ 5 321 2 trailer char (1) unaligned init (" "); /* SP */ 5 322 5 323 dcl 1 Draw_line int static, 5 324 2 header char (3) unaligned init ("R"), /* ESC DC2 R */ 5 325 2 left_edge pic "9999" unaligned, /* n n n n */ 5 326 2 comma1 char (1) unaligned init (","), /* , */ 5 327 2 top_edge pic "9999" unaligned, /* n n n n */ 5 328 2 comma2 char (1) unaligned init (","), /* , */ 5 329 2 right_edge pic "9999" unaligned, /* n n n n */ 5 330 /* from left edge */ 5 331 2 comma3 char (1) unaligned init (","), /* , */ 5 332 2 bottom_edge pic "9999" unaligned, /* n n n n */ 5 333 /* from top edge */ 5 334 2 trailer char (1) unaligned init (" "); /* SP */ 5 335 5 336 dcl Begin_graphics_mode char (2) int static init ("3"); /* ESC 3 */ 5 337 5 338 dcl End_graphics_mode char (2) int static init ("4"); /* ESC 4 */ 5 339 5 340 dcl Enter_vector_plot_mode_absolute_exclude char (2) int static init ("G"); /* ESC G */ 5 341 5 342 dcl Enter_vector_plot_mode_absolute_include char (3) int static init ("G"); /* ESC G BEL */ 5 343 5 344 dcl Enter_vector_plot_mode_relative_exclude char (2) int static init ("V"); /* ESC V */ 5 345 5 346 dcl Enter_vector_plot_mode_relative_include char (3) int static init ("V"); /* ESC V BEL */ 5 347 5 348 dcl 1 Change_plot_character int static, 5 349 2 header char (2) unaligned init ("."), /* ESC . */ 5 350 2 body char (1) unaligned; /* xx */ 5 351 5 352 dcl 1 Set_plot_precision int static, 5 353 2 header char (2) unaligned init (","), /* ESC , */ 5 354 2 xx char (1) unaligned, /* xx */ 5 355 2 yy char (1) unaligned; /* yy */ 5 356 /* (xx-32)/120 */ 5 357 /* (yy-32)/48 */ 5 358 5 359 dcl Exit_vector_plot_mode char (2) int static init ("4"); /* ESC 4 */ 5 360 5 361 /* END INCLUDE FILE iodd_hblp_commands.incl.pl1. */ 1109 1110 1111 end iodd_hblp_banner_pages_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/14/88 1100.1 iodd_hblp_banner_pages_.pl1 >spec>install>1212>iodd_hblp_banner_pages_.pl1 1105 1 11/09/88 0759.7 dprint_msg.incl.pl1 >ldd>include>dprint_msg.incl.pl1 1106 2 11/09/88 0759.7 output_request_data.incl.pl1 >ldd>include>output_request_data.incl.pl1 1107 3 11/09/88 0759.7 prt_ctl.incl.pl1 >ldd>include>prt_ctl.incl.pl1 1108 4 08/31/82 1636.3 queue_msg_hdr.incl.pl1 >ldd>include>queue_msg_hdr.incl.pl1 1109 5 11/09/88 0759.7 iodd_hblp_commands.incl.pl1 >ldd>include>iodd_hblp_commands.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. ACCESS_CLASS constant fixed bin(17,0) initial dcl 88 ref 437 701 926 Absolute_horizontal_position 000260 internal static structure level 1 packed packed unaligned dcl 5-257 set ref 720 720 728 728 1023 1023 Absolute_vertical_position 000262 internal static structure level 1 packed packed unaligned dcl 5-280 set ref 226 226 552 552 557 557 578 578 585 585 593 593 600 600 613 613 620 620 633 633 658 658 662 662 667 667 672 672 702 702 723 723 799 799 804 804 822 822 829 829 837 837 844 844 857 857 864 864 927 927 940 940 945 945 1024 1024 Assign_font 000243 internal static structure level 1 packed packed unaligned dcl 5-188 BIG_ACCESS_CLASS constant fixed bin(17,0) initial dcl 89 ref 225 439 666 939 BOTTOM_LONG_PATH constant fixed bin(17,0) initial dcl 87 ref 435 584 828 BOTTOM_RQT_LINE constant fixed bin(17,0) initial dcl 83 ref 427 556 803 BOTTOM_SHORT_PATH constant fixed bin(17,0) initial dcl 85 ref 431 599 619 843 863 Begin_auto_center_mode constant char(2) initial packed unaligned dcl 5-136 ref 595 595 602 602 615 615 622 622 704 704 839 839 846 846 859 859 866 866 929 929 Begin_backward_print_mode 000241 internal static char(2) initial packed unaligned dcl 5-153 set ref 730* Begin_shadow_mode 000256 internal static char(2) initial packed unaligned dcl 5-230 set ref 1007* CR defined char(1) packed unaligned dcl 62 set ref 234* 553* 558* 579* 586* 594* 601* 614* 621* 634* 678* 689* 703* 745* 800* 805* 823* 830* 838* 845* 858* 865* 928* 966* 978* 982* 1006* CR_NL defined char(2) packed unaligned dcl 63 set ref 581* 588* 825* 832* 1010* CR_NL_FF 000024 constant char(3) initial packed unaligned dcl 67 ref 234 234 235 235 553 553 558 558 579 579 581 581 586 586 588 588 594 594 601 601 614 614 621 621 634 634 678 678 689 689 703 703 745 745 746 746 800 800 805 805 823 823 825 825 830 830 832 832 838 838 845 845 858 858 865 865 928 928 966 966 978 978 982 982 983 983 1006 1006 1010 1010 Draw_box 000264 internal static structure level 1 packed packed unaligned dcl 5-308 set ref 336 336 Draw_line 000273 internal static structure level 1 packed packed unaligned dcl 5-323 set ref 347 347 350 350 353 353 356 356 359 359 362 362 378 378 381 381 414 414 417 417 End_auto_center_mode constant char(1) initial packed unaligned dcl 5-138 ref 597 597 604 604 617 617 624 624 706 706 841 841 848 848 861 861 868 868 931 931 End_backward_print_mode 000242 internal static char(2) initial packed unaligned dcl 5-155 set ref 734* End_bold_and_shadow_mode 000257 internal static char(2) initial packed unaligned dcl 5-232 set ref 1009* FF defined char(1) packed unaligned dcl 64 set ref 235* 746* 983* HEAD constant fixed bin(17,0) initial dcl 70 set ref 168* 1058 1075 HS_BIG_DESTINATION constant fixed bin(17,0) initial dcl 91 ref 441 657 HS_BIG_HEADER constant fixed bin(17,0) initial dcl 92 ref 446 661 HS_DATE_INSTALLATION constant fixed bin(17,0) initial dcl 90 ref 444 632 HS_HEAD_DESTINATION constant fixed bin(17,0) initial dcl 93 ref 442 671 HS_LANDSCAPE_DEST constant fixed bin(17,0) initial dcl 94 ref 448 719 722 HS_LANDSCAPE_HEAD constant fixed bin(17,0) initial dcl 95 ref 448 451 727 SEPARATOR constant fixed bin(17,0) initial dcl 71 set ref 237* 1058 1075 1091 Select_font 000254 internal static structure level 1 packed packed unaligned dcl 5-215 set ref 220 220 316 316 570 570 608 608 652 652 685 685 697 697 715 715 743 743 815 815 852 852 934 934 959 959 971 971 Set_default_hmi 000237 internal static char(2) initial packed unaligned dcl 5-116 set ref 221* 571* 609* 653* 686* 698* 816* 853* 935* 960* 972* Set_left_margin 000232 internal static structure level 1 packed packed unaligned dcl 5-60 set ref 324 324 Set_page_orientation 000230 internal static structure level 1 packed packed unaligned dcl 5-17 set ref 320 320 712 712 740 740 Set_right_margin 000234 internal static structure level 1 packed packed unaligned dcl 5-72 set ref 327 327 Set_vmi 000240 internal static structure level 1 packed packed unaligned dcl 5-118 set ref 223 223 575 575 655 655 688 688 700 700 819 819 937 937 962 962 974 974 Soft_reset 000236 internal static char(3) initial packed unaligned dcl 5-88 set ref 312* TAIL constant fixed bin(17,0) initial dcl 72 set ref 188* 1083 TOP_LONG_PATH constant fixed bin(17,0) initial dcl 86 ref 433 577 821 TOP_RQT_LINE constant fixed bin(17,0) initial dcl 82 ref 425 551 798 TOP_SHORT_PATH constant fixed bin(17,0) initial dcl 84 ref 429 592 612 836 856 TS_CHARGE_TO 000000 constant fixed bin(17,0) initial dcl 105 set ref 474 475 917* TS_FORMS_CONTROL 000003 constant fixed bin(17,0) initial dcl 100 set ref 462 463 882* 885* TS_HEAD_DESTINATION constant fixed bin(17,0) initial dcl 102 ref 481 944 TS_LINE_CHARGE 000001 constant fixed bin(17,0) initial dcl 104 set ref 471 472 913* TS_OUTPUT_MODE 000101 constant fixed bin(17,0) initial dcl 99 set ref 459 460 878* TS_PAGE_CHARGE 000025 constant fixed bin(17,0) initial dcl 103 set ref 468 469 901* TS_RATE_STRUCTURE 000062 constant fixed bin(17,0) initial dcl 106 set ref 477 478 922* TS_RQT_QUEUE 000002 constant fixed bin(17,0) initial dcl 101 set ref 465 466 889* TS_TIME_OUTPUT 000110 constant fixed bin(17,0) initial dcl 98 set ref 456 457 875* TS_TIME_REQUESTED 000046 constant fixed bin(17,0) initial dcl 97 set ref 453 454 872* a_code parameter fixed bin(35,0) dcl 34 set ref 157 161* 166 177 181* 186 197 203* 206 255 262* 291* 294* 298* 299 513 764 1080* 1087 1096* 1097* 1101* a_message parameter char packed unaligned dcl 35 ref 197 202 a_ordatap parameter pointer dcl 36 ref 157 162 177 182 a_prt_ctl_ptr parameter pointer dcl 37 ref 157 177 197 255 a_switch parameter pointer dcl 38 ref 157 159 177 179 197 199 a_sys_dir parameter char packed unaligned dcl 273 ref 269 275 access_class 4002 based structure level 2 unaligned dcl 132 access_class_string 101 based char(280) level 2 dcl 2-17 ref 528 665 668 668 693 705 705 776 925 930 930 941 941 addr builtin function dcl 58 ref 304 305 405 406 517 518 768 769 1059 1060 1063 1064 advert_bc 000103 automatic fixed bin(24,0) dcl 111 set ref 1093* 1094 1097 1097 advert_ptr 000104 automatic pointer dcl 112 set ref 1093* 1094 1097* 1098* after builtin function dcl 58 ref 639 947 bcs based char packed unaligned dcl 995 ref 999 before builtin function dcl 58 ref 639 643 947 951 bigletter_$five 000302 constant entry external dcl 42 ref 229 659 663 668 941 body 0(27) 000232 internal static picture(4) level 2 in structure "Set_left_margin" packed packed unaligned dcl 5-60 in procedure "iodd_hblp_banner_pages_" set ref 323* body 0(27) 000234 internal static picture(4) level 2 in structure "Set_right_margin" packed packed unaligned dcl 5-72 in procedure "iodd_hblp_banner_pages_" set ref 326* body 0(27) 000260 internal static picture(4) level 2 in structure "Absolute_horizontal_position" packed packed unaligned dcl 5-257 in procedure "iodd_hblp_banner_pages_" set ref 719* 727* 1021* body 0(27) 000230 internal static picture(1) level 2 in structure "Set_page_orientation" packed packed unaligned dcl 5-17 in procedure "iodd_hblp_banner_pages_" set ref 319* 711* 739* body 0(27) 000243 internal static structure level 2 in structure "Assign_font" packed packed unaligned dcl 5-188 in procedure "iodd_hblp_banner_pages_" set ref 388 388 body 0(18) 000240 internal static char(1) level 2 in structure "Set_vmi" packed packed unaligned dcl 5-118 in procedure "iodd_hblp_banner_pages_" set ref 222* 574* 654* 687* 699* 818* 936* 961* 973* body 0(27) 000254 internal static picture(2) level 2 in structure "Select_font" packed packed unaligned dcl 5-215 in procedure "iodd_hblp_banner_pages_" set ref 219* 315* 569* 607* 651* 684* 696* 714* 742* 814* 851* 933* 958* 970* body 0(27) 000262 internal static picture(4) level 2 in structure "Absolute_vertical_position" packed packed unaligned dcl 5-280 in procedure "iodd_hblp_banner_pages_" set ref 225* 551* 556* 577* 584* 592* 599* 612* 619* 632* 657* 661* 666* 671* 701* 722* 798* 803* 821* 828* 836* 843* 856* 863* 926* 939* 944* 1022* bottom_edge 4(18) 000264 internal static picture(4) level 2 in structure "Draw_box" packed packed unaligned dcl 5-308 in procedure "iodd_hblp_banner_pages_" set ref 334* bottom_edge 4(18) 000273 internal static picture(4) level 2 in structure "Draw_line" packed packed unaligned dcl 5-323 in procedure "iodd_hblp_banner_pages_" set ref 344* 375* 411* bottom_label_lth 110 based fixed bin(17,0) level 2 dcl 1-20 ref 885 buffer based char packed unaligned dcl 113 set ref 369 521* 531* 772* 779* 1044* buffer_length based fixed bin(21,0) dcl 114 set ref 306* 367 369 407* 520* 521 529 530* 530 531 771* 772 777 778* 778 779 1040 1042* 1042 1044 1080* buffer_length_ptr 000110 automatic pointer dcl 116 set ref 305* 306 367 369 406* 407 518* 520 521 529 530 530 531 769* 771 772 777 778 778 779 1040 1042 1042 1044 1060* 1064* 1080 buffer_ptr 000106 automatic pointer dcl 115 set ref 304* 369 405* 517* 521 531 768* 772 779 1044 1059* 1063* 1077* 1080* byte builtin function dcl 58 ref 222 574 654 687 699 818 936 961 973 calc_line_charge 000113 automatic float bin(27) dcl 118 set ref 907* 909* 910 910* calc_page_charge 000112 automatic float bin(27) dcl 117 set ref 895* 897* 898 898* chan_stop_path_lth 111 based fixed bin(17,0) level 2 dcl 1-20 ref 885 charge 303 based float bin(27) level 2 dcl 2-17 set ref 895 907 915* control_flags 304 based structure level 2 dcl 2-17 copies 65 based fixed bin(17,0) level 2 dcl 2-17 set ref 543 545* 547* 791 792* 794* 891 903 copies_string 000452 automatic char(22) dcl 506 in procedure "create_head_sheet" set ref 545* 547* 548 copies_string 000476 automatic char(22) dcl 757 in procedure "create_tail_sheet" set ref 792* 794* 795 copies_string_len 000504 automatic fixed bin(17,0) dcl 758 in procedure "create_tail_sheet" set ref 792* 794* 795 795 795 copies_string_len 000460 automatic fixed bin(17,0) dcl 507 in procedure "create_head_sheet" set ref 545* 547* 548 548 548 copy_no 66 based fixed bin(17,0) level 2 dcl 2-17 set ref 547* 794* copy_offset 000010 internal static fixed bin(17,0) dcl 73 set ref 209* cs parameter char packed unaligned dcl 1036 ref 1031 1041 1044 current_head_sheet 4403 based structure level 2 unaligned dcl 132 current_tail_sheet 10404 based structure level 2 unaligned dcl 132 date_time_$format 000304 constant entry external dcl 43 ref 629 871 874 dest 000114 automatic char(64) dcl 119 set ref 639* 641* 659 659 674 676 682 725 725 947* 949* 957 964 976 destination 130 based char(24) level 2 dcl 1-20 ref 639 641 947 949 device_name 211 based char(32) level 2 dcl 2-17 set ref 888* divide builtin function dcl 58 ref 228 1097 1097 dmp 000424 automatic pointer dcl 1-18 set ref 163* 183* 639 641 643 645 645 647 871 881 882 882 885 885 947 949 951 953 953 955 dpmp based pointer level 2 dcl 2-17 ref 163 183 dprint_msg based structure level 1 dcl 1-20 dprint_msg_version_5 constant fixed bin(17,0) initial dcl 1-62 ref 881 font_name 2 000243 internal static char(20) level 3 packed packed unaligned dcl 5-188 set ref 385* font_number 0(27) 000243 internal static picture(2) level 3 packed packed unaligned dcl 5-188 set ref 383* forms 122 based char(24) level 2 dcl 1-20 ref 882 882 forms_name based char level 2 dcl 1-20 ref 885 forms_name_lth 112 based fixed bin(17,0) level 2 dcl 1-20 ref 885 885 full_path 12 based char(168) level 2 dcl 2-17 ref 567 572 580 580 582 582 587 587 589 589 596 596 603 603 616 616 623 623 813 817 824 824 826 826 831 831 833 833 840 840 847 847 860 860 867 867 hbound builtin function dcl 58 ref 492 hcs_$initiate_count 000306 constant entry external dcl 44 ref 1093 hcs_$make_seg 000310 constant entry external dcl 45 ref 294 hcs_$terminate_noname 000312 constant entry external dcl 46 ref 1098 hcs_$truncate_seg 000314 constant entry external dcl 47 ref 298 head 000134 automatic char(64) dcl 120 set ref 216* 228* 229 229 643* 645* 647* 663 663 674 677 677 683 683 732 732 951* 953* 955* 957 965 965 977 977 head_sheet based structure level 2 unaligned dcl 132 header 000243 internal static char(3) initial level 2 in structure "Assign_font" packed packed unaligned dcl 5-188 in procedure "iodd_hblp_banner_pages_" ref 387 387 header based structure level 2 in structure "dprint_msg" dcl 1-20 in procedure "iodd_hblp_banner_pages_" heading 136 based char level 2 dcl 1-20 ref 643 645 645 647 951 953 953 955 heading_lth 106 based fixed bin(17,0) level 2 dcl 1-20 ref 643 645 645 647 885 951 953 953 955 horizontal 14405 based fixed bin(17,0) array level 3 packed packed unaligned dcl 132 set ref 422* 451* 453* 456* 459* 462* 465* 468* 471* 474* 477* 719 727 1021 i 000100 automatic fixed bin(17,0) dcl 110 in procedure "iodd_hblp_banner_pages_" set ref 215* 228 492* 492* 493* 493* 529* 531 777* 779 i 000100 automatic fixed bin(17,0) dcl 996 in procedure "output_bigletters" set ref 1000* 1008 1008 installation 000011 internal static char(32) dcl 74 set ref 302* 630 630 ioa_$rsnnl 000316 constant entry external dcl 48 ref 537 545 547 785 792 794 888 898 910 915 920 iocbp 000154 automatic pointer dcl 121 set ref 159* 179* 199* 1075* 1077* 1078* 1079* 1080* 1081* 1082* 1084* 1096* 1097* iox_$control 000320 constant entry external dcl 49 ref 1079 1081 iox_$modes 000322 constant entry external dcl 50 ref 1075 1078 1082 1084 1096 iox_$put_chars 000324 constant entry external dcl 51 ref 1077 1080 1097 j 000101 automatic fixed bin(17,0) dcl 110 set ref 888* last_request_no 000021 internal static fixed bin(17,0) dcl 75 set ref 208* 249* left_edge 0(27) 000264 internal static picture(4) level 2 in structure "Draw_box" packed packed unaligned dcl 5-308 in procedure "iodd_hblp_banner_pages_" set ref 331* left_edge 0(27) 000273 internal static picture(4) level 2 in structure "Draw_line" packed packed unaligned dcl 5-323 in procedure "iodd_hblp_banner_pages_" set ref 342* 373* 409* length builtin function dcl 58 ref 215 539 548 567 567 572 572 580 580 582 582 587 587 589 589 630 630 674 674 674 677 677 683 683 787 795 813 813 817 817 824 824 826 826 831 831 833 833 957 957 957 965 965 977 977 1000 1041 line_75_chars 000156 automatic char(75) packed unaligned dcl 122 set ref 536* 538* 539 539* 541* 548 548* 554* 559* 567 629* 630 630* 635* 674 682* 683 683* 690* 784* 786* 787 787* 789* 795 795* 801* 806* 813 871* 872 872 874* 875 875 898* 901 901 910* 913 913 915* 917 917 920* 922 922 957 976* 977 977* 979* line_90_chars 000201 automatic char(90) packed unaligned dcl 123 set ref 572 580 580 582 582 587 587 589 589 676* 677 677* 679* 817 824 824 826 826 831 831 833 833 964* 965 965* 967* line_count 272 based fixed bin(24,0) level 2 dcl 2-17 ref 903 905 line_width 5(27) 000264 internal static picture(4) level 2 packed packed unaligned dcl 5-308 set ref 335* lngth 2001 based fixed bin(21,0) level 3 in structure "templates" dcl 132 in procedure "iodd_hblp_banner_pages_" set ref 367* 771 lngth 10404 based fixed bin(21,0) level 3 in structure "templates" dcl 132 in procedure "iodd_hblp_banner_pages_" set ref 484* 769 1064 lngth based fixed bin(21,0) level 3 in structure "templates" dcl 132 in procedure "iodd_hblp_banner_pages_" set ref 305 520 lngth 4403 based fixed bin(21,0) level 3 in structure "templates" dcl 132 in procedure "iodd_hblp_banner_pages_" set ref 484* 518 1060 lngth 4002 based fixed bin(21,0) level 3 in structure "templates" dcl 132 in procedure "iodd_hblp_banner_pages_" set ref 406 530 531 778 779 lth parameter fixed bin(17,0) dcl 994 ref 989 999 ltrim builtin function dcl 58 ref 202 214 max builtin function dcl 58 ref 228 max_rs_number 000022 internal static fixed bin(17,0) initial dcl 76 set ref 490 491* 919 message 000230 automatic varying char(200) dcl 124 set ref 202* 213 214 msg_time based fixed bin(71,0) level 3 dcl 1-20 set ref 871* n 000102 automatic fixed bin(17,0) dcl 110 set ref 898* 910* 915* 920* n_lines_for_price 310 based fixed bin(17,0) level 2 dcl 2-17 set ref 907 910* n_pages_for_price 313 based fixed bin(17,0) level 2 dcl 2-17 set ref 895 898* no_accounting 314(10) based bit(1) level 2 packed packed unaligned dcl 2-17 ref 919 no_separator 304(06) based bit(1) level 3 packed packed unaligned dcl 2-17 ref 545 792 891 903 null builtin function dcl 58 ref 201 293 295 511 524 762 1079 1079 1081 1081 1094 num_chars 000101 automatic fixed bin(17,0) dcl 1038 set ref 1041* 1042 1044 ordata based structure level 1 dcl 2-17 ordatap 000426 automatic pointer dcl 2-67 set ref 162* 163 182* 183 201* 524 528 537 541 543 545 545 547 547 567 572 580 580 582 582 587 587 589 589 596 596 603 603 616 616 623 623 629 639 643 665 668 668 693 705 705 776 785 789 791 792 792 794 794 813 817 824 824 826 826 831 831 833 833 840 840 847 847 860 860 867 867 874 877 878 888 888 888 891 891 891 893 895 895 895 898 898 903 903 903 905 907 907 907 910 910 915 915 919 920 920 925 930 930 941 941 947 951 orientation 1(18) 000243 internal static picture(1) level 3 packed packed unaligned dcl 5-188 set ref 384* output_mode 221 based char(128) level 2 dcl 2-17 ref 877 878 page_count 273 based fixed bin(17,0) level 2 dcl 2-17 ref 891 893 position 14405 based structure array level 2 packed packed unaligned dcl 132 position_index parameter fixed bin(17,0) dcl 1018 ref 1016 1021 1022 price_per_n_lines 307 based float bin(27) level 2 dcl 2-17 set ref 907 910* price_per_n_pages 312 based float bin(27) level 2 dcl 2-17 set ref 895 898* queue 64 based fixed bin(17,0) level 2 dcl 2-17 set ref 888* queue_msg_hdr based structure level 1 dcl 4-12 real_line_count 000314 automatic fixed bin(17,0) dcl 126 set ref 903* 905* 907 910* real_page_count 000313 automatic fixed bin(17,0) dcl 125 set ref 891* 893* 895 898* request_no 67 based fixed bin(35,0) level 2 dcl 2-17 set ref 537* 785* request_number 000461 automatic char(20) packed unaligned dcl 508 in procedure "create_head_sheet" set ref 537* 538 539 request_number 000505 automatic char(20) packed unaligned dcl 759 in procedure "create_tail_sheet" set ref 785* 786 787 request_number_len 000512 automatic fixed bin(17,0) dcl 760 in procedure "create_tail_sheet" set ref 785* 786 786 787 787 789 795 request_number_len 000466 automatic fixed bin(17,0) dcl 509 in procedure "create_head_sheet" set ref 537* 538 538 539 539 541 548 request_type 71 based char(32) level 2 dcl 2-17 set ref 888* requestor 2 based char(32) level 2 dcl 2-17 set ref 541 639 643 789 915* 947 951 reverse builtin function dcl 58 ref 732 732 right_edge 3(09) 000264 internal static picture(4) level 2 in structure "Draw_box" packed packed unaligned dcl 5-308 in procedure "iodd_hblp_banner_pages_" set ref 333* right_edge 3(09) 000273 internal static picture(4) level 2 in structure "Draw_line" packed packed unaligned dcl 5-323 in procedure "iodd_hblp_banner_pages_" set ref 343* 374* 410* rs_names 000023 internal static char(32) initial array packed unaligned dcl 77 set ref 492 493* 920* rs_number 314 based fixed bin(9,0) level 2 packed packed unsigned unaligned dcl 2-17 ref 920 rs_unavailable 314(09) based bit(1) level 2 packed packed unaligned dcl 2-17 set ref 920* rtrim builtin function dcl 58 ref 202 214 388 388 567 572 582 582 589 589 596 596 603 603 616 616 623 623 630 630 659 659 663 663 668 668 674 674 677 677 683 683 705 705 725 725 732 732 813 817 826 826 833 833 840 840 847 847 860 860 867 867 871 872 872 874 875 875 878 882 889 889 901 901 913 913 917 917 922 922 930 930 941 941 957 957 965 965 977 977 1000 start_char 000100 automatic fixed bin(17,0) dcl 1037 set ref 1040* 1044 string builtin function dcl 58 ref 220 220 223 223 226 226 316 316 320 320 324 324 327 327 336 336 347 347 350 350 353 353 356 356 359 359 362 362 378 378 381 381 387 387 388 388 389 389 414 414 417 417 552 552 557 557 570 570 575 575 578 578 585 585 593 593 595 595 597 597 600 600 602 602 604 604 608 608 613 613 615 615 617 617 620 620 622 622 624 624 633 633 652 652 655 655 658 658 662 662 667 667 672 672 685 685 688 688 697 697 700 700 702 702 704 704 706 706 712 712 715 715 720 720 723 723 728 728 740 740 743 743 799 799 804 804 815 815 819 819 822 822 829 829 837 837 839 839 841 841 844 844 846 846 848 848 852 852 857 857 859 859 861 861 864 864 866 866 868 868 927 927 929 929 931 931 934 934 937 937 940 940 945 945 959 959 962 962 971 971 974 974 1023 1023 1024 1024 string_to_output parameter char packed unaligned dcl 1019 set ref 1016 1026* strng 10405 based char(8192) level 3 in structure "templates" packed packed unaligned dcl 132 in procedure "iodd_hblp_banner_pages_" set ref 483* 768 1063 strng 1 based char(4096) level 3 in structure "templates" packed packed unaligned dcl 132 in procedure "iodd_hblp_banner_pages_" set ref 304 521 strng 4404 based char(8192) level 3 in structure "templates" packed packed unaligned dcl 132 in procedure "iodd_hblp_banner_pages_" set ref 483* 517 1059 strng 2002 based char(4096) level 3 in structure "templates" packed packed unaligned dcl 132 in procedure "iodd_hblp_banner_pages_" set ref 369* 772 strng 4003 based char(1024) level 3 in structure "templates" packed packed unaligned dcl 132 in procedure "iodd_hblp_banner_pages_" set ref 405 531 779 strp parameter pointer dcl 993 ref 989 999 substr builtin function dcl 58 set ref 228* 228 229 229 531* 531 538* 538 539* 539 541* 548* 548 580 580 582 582 587 587 589 589 630* 645 645 659 659 663 663 668 668 677* 683* 779* 779 786* 786 787* 787 789* 795* 795 824 824 826 826 831 831 833 833 941 941 953 953 965* 977* 1008 1008 1044* sysdir 000153 internal static char(168) initial packed unaligned dcl 78 set ref 275* 1093* system_info_$installation_id 000326 constant entry external dcl 52 ref 302 system_info_$max_rs_number 000330 constant entry external dcl 53 ref 491 system_info_$rs_name 000332 constant entry external dcl 54 ref 493 tail_sheet 2001 based structure level 2 unaligned dcl 132 temp 000101 automatic char(204) dcl 997 in procedure "output_bigletters" set ref 999* 1000 1008 1008 temp 000315 automatic char(280) dcl 127 in procedure "iodd_hblp_banner_pages_" set ref 214* 215 228 888* 889 889 templates based structure level 1 unaligned dcl 132 templates_ptr 000226 internal static pointer initial dcl 79 set ref 225 293 294* 295 298* 304 305 367 369 405 406 422 423 425 427 429 431 433 435 437 439 441 442 444 446 448 448 451 453 454 456 457 459 460 462 463 465 466 468 469 471 472 474 475 477 478 481 483 483 484 484 511 517 518 520 521 530 531 531 551 556 577 584 592 599 612 619 632 657 661 666 671 701 719 722 727 762 768 769 771 772 778 779 779 798 803 821 828 836 843 856 863 926 939 944 1021 1022 1059 1060 1063 1064 time_format 000004 constant char(64) initial packed unaligned dcl 80 set ref 629* 871* 874* time_start_request 262 based fixed bin(71,0) level 2 dcl 2-17 set ref 629* 874* top_edge 2 000264 internal static picture(4) level 2 in structure "Draw_box" packed packed unaligned dcl 5-308 in procedure "iodd_hblp_banner_pages_" set ref 332* top_edge 2 000273 internal static picture(4) level 2 in structure "Draw_line" packed packed unaligned dcl 5-323 in procedure "iodd_hblp_banner_pages_" set ref 346* 349* 352* 355* 358* 361* 377* 380* 413* 416* top_label_lth 107 based fixed bin(17,0) level 2 dcl 1-20 ref 885 trailer 7 000243 internal static char(2) initial level 2 packed packed unaligned dcl 5-188 ref 389 389 version 76 based fixed bin(17,0) level 2 dcl 1-20 ref 881 vertical 14405(18) based fixed bin(17,0) array level 3 packed packed unaligned dcl 132 set ref 225 423* 425* 427* 429* 431* 433* 435* 437* 439* 441* 442* 444* 446* 448* 448* 454* 457* 460* 463* 466* 469* 472* 475* 478* 481* 551 556 577 584 592 599 612 619 632 657 661 666 671 701 722 798 803 821 828 836 843 856 863 926 939 944 1022 which_page parameter fixed bin(17,0) dcl 1054 ref 1050 1058 1058 1075 1075 1083 1091 xcode 000423 automatic fixed bin(35,0) dcl 128 set ref 1075* 1077* 1078* 1079* 1081* 1082* 1084* 1093* 1098* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Absolute_horizontal_position_count internal static structure level 1 packed packed unaligned dcl 5-252 Absolute_vertical_position_count internal static structure level 1 packed packed unaligned dcl 5-274 BRIEF_BANNERS internal static fixed bin(17,0) initial dcl 3-49 Begin_auto_justify_mode internal static char(2) initial packed unaligned dcl 5-134 Begin_bold_mode internal static char(2) initial packed unaligned dcl 5-228 Begin_graphics_mode internal static char(2) initial packed unaligned dcl 5-336 Begin_newline_mode internal static char(2) initial packed unaligned dcl 5-145 Begin_program_mode internal static char(3) initial packed unaligned dcl 5-141 Begin_proportional_mode internal static char(2) initial packed unaligned dcl 5-123 Begin_reverse_print_mode internal static char(2) initial packed unaligned dcl 5-149 Begin_suppressed_print_mode internal static char(2) initial packed unaligned dcl 5-234 Begin_underline_mode internal static char(2) initial packed unaligned dcl 5-224 Cancel internal static char(2) initial packed unaligned dcl 5-143 Change_plot_character internal static structure level 1 packed packed unaligned dcl 5-348 Clear_all_tabs internal static char(2) initial packed unaligned dcl 5-246 Clear_margins internal static char(2) initial packed unaligned dcl 5-78 Clear_single_horizontal_tab internal static char(2) initial packed unaligned dcl 5-242 Define_movement internal static structure level 1 packed packed unaligned dcl 5-179 End_graphics_mode internal static char(2) initial packed unaligned dcl 5-338 End_newline_mode internal static char(2) initial packed unaligned dcl 5-147 End_proportional_mode internal static char(2) initial packed unaligned dcl 5-125 End_reverse_print_mode internal static char(2) initial packed unaligned dcl 5-151 End_underline_mode internal static char(2) initial packed unaligned dcl 5-226 Enter_vector_plot_mode_absolute_exclude internal static char(2) initial packed unaligned dcl 5-340 Enter_vector_plot_mode_absolute_include internal static char(3) initial packed unaligned dcl 5-342 Enter_vector_plot_mode_relative_exclude internal static char(2) initial packed unaligned dcl 5-344 Enter_vector_plot_mode_relative_include internal static char(3) initial packed unaligned dcl 5-346 Error_reset internal static char(3) initial packed unaligned dcl 5-91 Exit_vector_plot_mode internal static char(2) initial packed unaligned dcl 5-359 Half_line_feed internal static char(2) initial packed unaligned dcl 5-157 Incremental_backspace internal static char(2) initial packed unaligned dcl 5-132 Initialize_printer internal static char(3) initial packed unaligned dcl 5-86 NORMAL_BANNERS internal static fixed bin(17,0) initial dcl 3-49 NORMAL_BANNER_BARS internal static fixed bin(17,0) initial dcl 3-54 NO_BANNERS internal static fixed bin(17,0) initial dcl 3-49 NO_BANNER_BARS internal static fixed bin(17,0) initial dcl 3-54 Negative_half_line_feed internal static char(2) initial packed unaligned dcl 5-162 Negative_line_feed internal static char(2) initial packed unaligned dcl 5-159 REQUEST automatic structure level 1 dcl 2-69 Relative_horizontal_position internal static structure level 1 packed packed unaligned dcl 5-268 Relative_horizontal_position_count internal static structure level 1 packed packed unaligned dcl 5-262 Relative_vertical_position internal static structure level 1 packed packed unaligned dcl 5-292 Relative_vertical_position_count internal static structure level 1 packed packed unaligned dcl 5-285 Request_character_status internal static char(5) initial packed unaligned dcl 5-105 Request_font_status internal static char(5) initial packed unaligned dcl 5-103 Request_paper_size_status internal static char(5) initial packed unaligned dcl 5-99 Request_printer_status internal static char(5) initial packed unaligned dcl 5-97 Request_status_byte_1 internal static char(3) initial packed unaligned dcl 5-93 Request_status_byte_3 internal static char(3) initial packed unaligned dcl 5-95 Request_user_memeory_status internal static char(5) initial packed unaligned dcl 5-101 SINGLE_BANNER_BARS internal static fixed bin(17,0) initial dcl 3-54 STATE_BUMPED internal static fixed bin(17,0) initial dcl 4-46 STATE_DEFERRED internal static fixed bin(17,0) initial dcl 4-42 STATE_DUPT internal static fixed bin(17,0) initial dcl 4-47 STATE_ELIGIBLE internal static fixed bin(17,0) initial dcl 4-44 STATE_RUNNING internal static fixed bin(17,0) initial dcl 4-45 STATE_TRANSITION internal static fixed bin(17,0) initial dcl 4-43 STATE_UNPROCESSED internal static fixed bin(17,0) initial dcl 4-41 Set_bottom_margin internal static structure level 1 packed packed unaligned dcl 5-48 Set_bottom_margin_count internal static structure level 1 packed packed unaligned dcl 5-43 Set_bottom_margin_position internal static char(2) initial packed unaligned dcl 5-41 Set_hmi internal static structure level 1 packed packed unaligned dcl 5-111 Set_horizontal_tab internal static char(2) initial packed unaligned dcl 5-240 Set_left_margin_count internal static structure level 1 packed packed unaligned dcl 5-55 Set_left_margin_position internal static char(2) initial packed unaligned dcl 5-53 Set_letterspace_offset internal static structure level 1 packed packed unaligned dcl 5-127 Set_number_of_copies internal static structure level 1 packed packed unaligned dcl 5-303 Set_page_length internal static structure level 1 packed packed unaligned dcl 5-23 Set_plot_precision internal static structure level 1 packed packed unaligned dcl 5-352 Set_right_margin_count internal static structure level 1 packed packed unaligned dcl 5-67 Set_right_margin_position internal static char(2) initial packed unaligned dcl 5-65 Set_top_margin internal static structure level 1 packed packed unaligned dcl 5-36 Set_top_margin_count internal static structure level 1 packed packed unaligned dcl 5-31 Set_top_margin_position internal static char(2) initial packed unaligned dcl 5-29 Set_vertical_tab internal static char(2) initial packed unaligned dcl 5-244 dprint_msg_version_3 internal static fixed bin(17,0) initial dcl 1-62 dprint_msg_version_4 internal static fixed bin(17,0) initial dcl 1-62 forms_max_lth internal static fixed bin(17,0) initial dcl 1-55 head_max_lth internal static fixed bin(17,0) initial dcl 1-55 label_max_lth internal static fixed bin(17,0) initial dcl 1-55 path_max_lth internal static fixed bin(17,0) initial dcl 1-55 prt_ctl based structure level 1 dcl 3-22 prt_ctl_ptr automatic pointer dcl 3-20 queue_msg_hdr_version_1 internal static fixed bin(17,0) initial dcl 4-37 NAMES DECLARED BY EXPLICIT CONTEXT. build_templates 001057 constant entry internal dcl 279 ref 512 763 create_head_sheet 002265 constant entry internal dcl 501 ref 165 205 create_tail_sheet 005474 constant entry internal dcl 752 ref 185 init 001001 constant entry external dcl 247 iodd_hblp_banner_pages_ 000344 constant entry external dcl 27 output_bigletters 011324 constant entry internal dcl 989 ref 229 229 659 659 663 663 668 668 941 941 output_position_and_string 011443 constant entry internal dcl 1016 ref 872 875 878 882 885 889 901 913 917 922 output_string 011552 constant entry internal dcl 1031 ref 220 221 223 226 234 235 312 316 320 324 327 336 347 350 353 356 359 362 378 381 387 388 389 414 417 552 553 554 557 558 559 570 571 575 578 579 580 581 582 585 586 587 588 589 593 594 595 596 597 600 601 602 603 604 608 609 613 614 615 616 617 620 621 622 623 624 633 634 635 652 653 655 658 662 667 672 678 679 685 686 688 689 690 697 698 700 702 703 704 705 706 712 715 720 723 725 728 730 732 734 740 743 745 746 799 800 801 804 805 806 815 816 819 822 823 824 825 826 829 830 831 832 833 837 838 839 840 841 844 845 846 847 848 852 853 857 858 859 860 861 864 865 866 867 868 927 928 929 930 931 934 935 937 940 945 959 960 962 966 967 971 972 974 978 979 982 983 1006 1007 1008 1009 1010 1023 1024 1026 print_head_sheet 000357 constant entry external dcl 157 print_separator 000452 constant entry external dcl 197 print_tail_sheet 000413 constant entry external dcl 177 print_the_banner_page 011604 constant entry internal dcl 1050 ref 168 188 237 set_ctl 001015 constant entry external dcl 255 test 001034 constant entry external dcl 269 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 12574 13130 12310 12604 Length 13626 12310 334 461 264 272 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME iodd_hblp_banner_pages_ 784 external procedure is an external procedure. build_templates internal procedure shares stack frame of external procedure iodd_hblp_banner_pages_. create_head_sheet internal procedure shares stack frame of external procedure iodd_hblp_banner_pages_. create_tail_sheet internal procedure shares stack frame of external procedure iodd_hblp_banner_pages_. output_bigletters 128 internal procedure is assigned to an entry variable. output_position_and_string 76 internal procedure is called during a stack extension. output_string 67 internal procedure is called during a stack extension. print_the_banner_page internal procedure shares stack frame of external procedure iodd_hblp_banner_pages_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 copy_offset iodd_hblp_banner_pages_ 000011 installation iodd_hblp_banner_pages_ 000021 last_request_no iodd_hblp_banner_pages_ 000022 max_rs_number iodd_hblp_banner_pages_ 000023 rs_names iodd_hblp_banner_pages_ 000153 sysdir iodd_hblp_banner_pages_ 000226 templates_ptr iodd_hblp_banner_pages_ 000230 Set_page_orientation iodd_hblp_banner_pages_ 000232 Set_left_margin iodd_hblp_banner_pages_ 000234 Set_right_margin iodd_hblp_banner_pages_ 000236 Soft_reset iodd_hblp_banner_pages_ 000237 Set_default_hmi iodd_hblp_banner_pages_ 000240 Set_vmi iodd_hblp_banner_pages_ 000241 Begin_backward_print_mode iodd_hblp_banner_pages_ 000242 End_backward_print_mode iodd_hblp_banner_pages_ 000243 Assign_font iodd_hblp_banner_pages_ 000254 Select_font iodd_hblp_banner_pages_ 000256 Begin_shadow_mode iodd_hblp_banner_pages_ 000257 End_bold_and_shadow_mode iodd_hblp_banner_pages_ 000260 Absolute_horizontal_position iodd_hblp_banner_pages_ 000262 Absolute_vertical_position iodd_hblp_banner_pages_ 000264 Draw_box iodd_hblp_banner_pages_ 000273 Draw_line iodd_hblp_banner_pages_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME iodd_hblp_banner_pages_ 000100 i iodd_hblp_banner_pages_ 000101 j iodd_hblp_banner_pages_ 000102 n iodd_hblp_banner_pages_ 000103 advert_bc iodd_hblp_banner_pages_ 000104 advert_ptr iodd_hblp_banner_pages_ 000106 buffer_ptr iodd_hblp_banner_pages_ 000110 buffer_length_ptr iodd_hblp_banner_pages_ 000112 calc_page_charge iodd_hblp_banner_pages_ 000113 calc_line_charge iodd_hblp_banner_pages_ 000114 dest iodd_hblp_banner_pages_ 000134 head iodd_hblp_banner_pages_ 000154 iocbp iodd_hblp_banner_pages_ 000156 line_75_chars iodd_hblp_banner_pages_ 000201 line_90_chars iodd_hblp_banner_pages_ 000230 message iodd_hblp_banner_pages_ 000313 real_page_count iodd_hblp_banner_pages_ 000314 real_line_count iodd_hblp_banner_pages_ 000315 temp iodd_hblp_banner_pages_ 000423 xcode iodd_hblp_banner_pages_ 000424 dmp iodd_hblp_banner_pages_ 000426 ordatap iodd_hblp_banner_pages_ 000452 copies_string create_head_sheet 000460 copies_string_len create_head_sheet 000461 request_number create_head_sheet 000466 request_number_len create_head_sheet 000476 copies_string create_tail_sheet 000504 copies_string_len create_tail_sheet 000505 request_number create_tail_sheet 000512 request_number_len create_tail_sheet output_bigletters 000100 i output_bigletters 000101 temp output_bigletters output_string 000100 start_char output_string 000101 num_chars output_string THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 r_g_a r_e_as alloc_char_temp call_ext_out_desc call_ext_out call_int_this_desc call_int_other_desc return_mac shorten_stack ext_entry ext_entry_desc int_entry int_entry_desc reverse_cs set_chars_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. bigletter_$five date_time_$format hcs_$initiate_count hcs_$make_seg hcs_$terminate_noname hcs_$truncate_seg ioa_$rsnnl iox_$control iox_$modes iox_$put_chars system_info_$installation_id system_info_$max_rs_number system_info_$rs_name NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 27 000343 30 000351 157 000352 159 000371 161 000375 162 000376 163 000401 165 000403 166 000404 168 000406 170 000410 177 000411 179 000425 181 000431 182 000432 183 000435 185 000437 186 000440 188 000442 190 000444 197 000445 199 000472 201 000476 202 000500 203 000535 205 000536 206 000537 208 000541 209 000544 213 000545 214 000552 215 000602 216 000604 219 000607 220 000613 221 000626 222 000637 223 000644 225 000657 226 000675 228 000707 229 000727 234 000753 235 000763 237 000775 239 000777 247 001000 249 001006 250 001010 255 001011 262 001027 264 001030 269 001031 275 001047 276 001056 279 001057 291 001060 293 001061 294 001066 295 001131 298 001137 299 001152 302 001155 304 001166 305 001172 306 001174 312 001175 315 001205 316 001212 319 001225 320 001232 323 001245 324 001252 326 001264 327 001271 331 001303 332 001310 333 001314 334 001320 335 001324 336 001330 342 001343 343 001350 344 001354 346 001360 347 001364 349 001377 350 001404 352 001417 353 001424 355 001437 356 001444 358 001457 359 001464 361 001477 362 001504 367 001517 369 001523 373 001531 374 001535 375 001541 377 001545 378 001551 380 001564 381 001571 383 001604 384 001611 385 001615 387 001620 388 001633 389 001664 405 001700 406 001704 407 001707 409 001710 410 001714 411 001720 413 001724 414 001730 416 001743 417 001750 422 001763 423 002000 425 002014 427 002020 429 002024 431 002030 433 002034 435 002040 437 002044 439 002050 441 002054 442 002060 444 002064 446 002070 448 002074 451 002104 453 002107 454 002113 456 002116 457 002122 459 002125 460 002131 462 002134 463 002140 465 002143 466 002147 468 002152 469 002156 471 002161 472 002165 474 002170 475 002174 477 002177 478 002203 481 002206 483 002212 484 002221 490 002223 491 002225 492 002233 493 002237 494 002262 497 002264 501 002265 511 002266 512 002273 513 002274 517 002277 518 002303 520 002306 521 002310 524 002315 528 002322 529 002327 530 002331 531 002333 536 002342 537 002345 538 002373 539 002377 541 002410 543 002415 545 002420 547 002454 548 002511 551 002520 552 002536 553 002550 554 002560 556 002570 557 002606 558 002620 559 002630 567 002640 569 002654 570 002661 571 002674 572 002705 574 002721 575 002726 577 002741 578 002757 579 002771 580 003001 581 003015 582 003025 584 003060 585 003077 586 003111 587 003121 588 003135 589 003145 590 003177 592 003201 593 003217 594 003231 595 003241 596 003253 597 003304 599 003317 600 003335 601 003347 602 003357 603 003371 604 003422 607 003435 608 003442 609 003455 610 003466 612 003467 613 003505 614 003517 615 003527 616 003541 617 003572 619 003605 620 003623 621 003635 622 003645 623 003657 624 003710 629 003723 630 003771 632 004020 633 004035 634 004047 635 004057 639 004067 641 004121 643 004124 645 004143 647 004156 651 004161 652 004166 653 004201 654 004212 655 004217 657 004232 658 004250 659 004262 661 004322 662 004341 663 004353 665 004413 666 004421 667 004437 668 004451 669 004512 671 004513 672 004531 674 004543 676 004573 677 004576 678 004612 679 004622 680 004632 682 004633 683 004636 684 004652 685 004657 686 004672 687 004703 688 004710 689 004723 690 004733 693 004743 696 004751 697 004756 698 004771 699 005002 700 005007 701 005022 702 005040 703 005052 704 005062 705 005074 706 005125 711 005140 712 005145 714 005160 715 005165 719 005200 720 005215 722 005227 723 005245 725 005257 727 005307 728 005325 730 005337 732 005350 734 005377 739 005411 740 005416 742 005431 743 005436 745 005451 746 005461 748 005473 752 005474 762 005475 763 005502 764 005503 768 005506 769 005512 771 005515 772 005520 776 005524 777 005531 778 005532 779 005534 784 005546 785 005551 786 005577 787 005603 789 005614 791 005621 792 005624 794 005660 795 005715 798 005724 799 005742 800 005754 801 005764 803 005774 804 006012 805 006024 806 006034 813 006044 814 006060 815 006065 816 006100 817 006111 818 006125 819 006132 821 006145 822 006163 823 006175 824 006205 825 006221 826 006231 828 006264 829 006303 830 006315 831 006325 832 006341 833 006351 834 006403 836 006405 837 006423 838 006435 839 006445 840 006457 841 006510 843 006523 844 006541 845 006553 846 006563 847 006575 848 006626 851 006641 852 006646 853 006661 854 006672 856 006673 857 006711 858 006723 859 006733 860 006745 861 006776 863 007011 864 007027 865 007041 866 007051 867 007063 868 007114 871 007127 872 007217 874 007254 875 007346 877 007403 878 007411 879 007453 881 007454 882 007460 884 007526 885 007530 888 007607 889 007647 891 007703 893 007714 895 007716 897 007731 898 007733 901 010002 903 010036 905 010047 907 010051 909 010064 910 010066 913 010135 915 010171 917 010232 919 010266 920 010276 922 010337 923 010373 925 010374 926 010401 927 010417 928 010431 929 010441 930 010453 931 010504 933 010517 934 010524 935 010537 936 010550 937 010555 939 010570 940 010606 941 010620 942 010661 944 010662 945 010700 947 010712 949 010744 951 010747 953 010766 955 011001 957 011004 958 011033 959 011040 960 011053 961 011064 962 011071 964 011104 965 011107 966 011135 967 011145 968 011155 970 011156 971 011163 972 011176 973 011207 974 011214 976 011227 977 011232 978 011260 979 011270 982 011300 983 011310 985 011322 989 011323 999 011331 1000 011340 1006 011352 1007 011363 1008 011375 1009 011415 1010 011430 1012 011441 1016 011442 1021 011456 1022 011473 1023 011506 1024 011521 1026 011535 1028 011550 1031 011551 1040 011565 1041 011571 1042 011573 1044 011574 1046 011603 1050 011604 1058 011606 1059 011617 1060 011623 1061 011626 1063 011627 1064 011633 1075 011636 1077 011665 1078 011703 1079 011732 1080 011765 1081 012002 1082 012034 1083 012063 1084 012067 1085 012116 1087 012117 1091 012122 1093 012126 1094 012176 1096 012204 1097 012233 1098 012253 1101 012264 1103 012265 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved