000000 IDENTIFICATION DIVISION. ***************************************************************** * This program is provided for demonstration * and educational purposes * only by Ryan McFarland Corporation (a division * of Liant Software). * It is neither supported nor warranted by Ryan * McFarland Corporation. * (c) 1992, 1995 Ryan McFarland Corporation. All * rights reserved. ***************************************************************** 000000 PROGRAM-ID. WRTDEV. 000000 ENVIRONMENT DIVISION. 000000 CONFIGURATION SECTION. 000000 000000 INPUT-OUTPUT SECTION. 000000 FILE-CONTROL. 000000 SELECT TELEX ASSIGN TO DISPLAY, TELEX-NAME 000000 ORGANIZATION IS BINARY SEQUENTIAL 000000 ACCESS MODE IS SEQUENTIAL 000000 FILE STATUS IS TELEX-STATUS. 000000 000000 SELECT TUNIT ASSIGN TO KEYBOARD, TELEX-NAME 000000 ORGANIZATION IS BINARY SEQUENTIAL 000000 ACCESS MODE IS SEQUENTIAL 000000 FILE STATUS IS TELEX-STATUS. 000000* 000000 DATA DIVISION. 000000 FILE SECTION. 000000* ********** I/O PORT OUTPUT FILE ********** 000000 FD TELEX 000000 LABEL RECORDS ARE OMITTED. 000000 01 TELEX-RECORD PIC X. 000000 000000* ********** I/O PORT INPUT FILE ********** 000000 FD TUNIT 000000 LABEL RECORDS ARE OMITTED. 000000 01 TUNIT-RECORD PIC X. 000000* 000000 WORKING-STORAGE SECTION. 000000 01 FILE-ERROR-STATUS PIC XX. 000000 01 FILE-STATUS-CODE-TABLE. 000000 03 RECORD-ON-FILE PIC XX VALUE "00". 000000 03 I-O-OK PIC XX VALUE "00". 000000 03 DUP-OK PIC XX VALUE "02". 000000 03 AT-END PIC XX VALUE "10". 000000 03 INVALID-KEY PIC XX VALUE "21". 000000 03 DUPLICATE-KEY PIC XX VALUE "22". 000000 03 RECORD-NOT-FOUND PIC XX VALUE "23". 000000 03 BOUNDARY-ERROR PIC XX VALUE "24". 000000 03 HARDWARE-ERROR PIC XX VALUE "30". 000000 03 DISK-FULL PIC XX VALUE "34". 000000 03 OPEN-ERROR PIC XX VALUE "35". 000000 03 FD-ERROR PIC XX VALUE "39". 000000 03 MODE-ERROR PIC XX VALUE "90". 000000 03 USE-ERROR PIC XX VALUE "93". 000000 03 NO-DIRECTORY PIC XX VALUE "96". 000000 03 OVER-LOCK-LIMIT PIC XX VALUE "98". 000000 03 FILE-ERROR PIC XX VALUE "98". 000000 03 RECORD-LOCKED PIC XX VALUE "99". 000000 000000 01 ULINES PIC X(79) VALUE ALL "_". 000000 000000 01 TELEX-STATUS PIC XX. 000000 01 TELEX-NAME. 000000 03 FILLER PIC X(8) VALUE "/dev/tty". 000000 03 TELEX-NO PIC XXX. 000000 03 FILLER PIC X VALUE LOW-VALUE. 000000 01 TELEX-DATA. 000000 03 TLX-BIT PIC X OCCURS 130 TIMES. 000000* 000000 SCREEN SECTION. 000000 000000 01 INPUT-00. 000000 03 LINE 03 "I/O Port: /dev/tty". 000000 03 PIC X(3) USING TELEX-NO HIGHLIGHT. 000000* 000000 PROCEDURE DIVISION. 000000 MAIN-LOGIC SECTION. 000000 BEGIN. 000000 DISPLAY SPACE ERASE. 000000 ENTER-PORT. 000000 MOVE ULINES TO TELEX-NO. 000000 DISPLAY INPUT-00 ACCEPT INPUT-00. 000000 INSPECT TELEX-NAME REPLACING ALL SPACES BY LOW-VALUES. 000000 OPEN OUTPUT TELEX. 000000 OPEN INPUT TUNIT. 000000 DISPLAY "I/O Port OPEN" LINE 05. 000000 000000 Write-Telex. Move "A" to telex-record. Perform 10 times write telex-record End-perform. 000000 READ-TUNIT. 000000 READ TUNIT RECORD WITH NO LOCK AT END 000000 DISPLAY "** END OF FILE **", CLOSE TUNIT 000000 GO TO Exit-program. 000000 DISPLAY "Input = " TUNIT-RECORD. 000000 IF TUNIT-RECORD = "X" OR = "x" 000000 DISPLAY "Exit" erase 000000 CLOSE TUNIT, GO TO EXIT-PROGRAM. 000000 GO TO READ-TUNIT. 000000* 000000 EXIT-PROGRAM. 000000 CLOSE TELEX. 000000 STOP RUN.