DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 1 1 /* 1 BEGIN DOCUMENTATION 1 1 Name: TCMTEST.PLI: Created: 10/10/83 DTS 1 Last Update: 05/22/84 1 Title: Test program for TCM system. 1 1 Index: TCM, Text Collection Management System 1 1 Abstract: Tests all calls to TCM via FMS screen that prompts for all 1 parameters. 1 1 Usage: 1 1 Parameters: Inputs Command Function: I)nit, E)dit, R)etreive, F)ile, D)elete, 1 K)ill text, S)how, Q)uit, X)it. 1 1 Environment: MMR PL/I - FMS interface 1 1 See Also: TCMPLI.C, TCM.DOC, TCM.C 1 1 Description: 1 1 Example(s): 1 1 Uses: 1 1 Internal: 1 1 Update History: 01/17/84 DTS - Change TCOLL call for options structure 1 1 END DOCUMENTATION 1 */ 1 1 TCMTST: PROC OPTIONS (MAIN); 2 2 %INCLUDE 'LB:[1,2]FMS.PLI'; 3 % /***********************************/ 3 % /* PL/I FMS CALLING SEQUENCES */ 3 % /***********************************/ 3 % 3 %DCL FCLRSH ENTRY(CHAR(*), FIXED BIN(15)), 3 % FGCF ENTRY(CHAR(*), FIXED BIN(15)), 3 % FGET ENTRY(CHAR(*), FIXED BIN(15), CHAR(*), FIXED BIN(15)), 3 % FGETAF ENTRY(CHAR(*), FIXED BIN(15), CHAR(*), FIXED BIN(15)), 3 % FGETAL ENTRY(CHAR(*), FIXED BIN(15)), 3 % FIDATA ENTRY(FIXED BIN(15), CHAR(*)), 3 % FINIT ENTRY(CHAR(*), FIXED BIN(15), FIXED BIN(15)), 3 % FINLN ENTRY(CHAR(*), CHAR(*), FIXED BIN(15)), 3 % FLCHAN ENTRY(FIXED BIN(15)), 3 % FLCLOS ENTRY, 3 % FLEN ENTRY(FIXED BIN(15), CHAR(*), FIXED BIN(15)), 3 % FLOPEN ENTRY(CHAR(*)), 3 % FNDATA ENTRY(CHAR(*), CHAR(*)), 3 % FOUTLN ENTRY(CHAR(*), CHAR(*)), DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 2 3 % FPFT ENTRY(FIXED BIN(15), CHAR(*), CHAR(*)), 3 % FPUT ENTRY(CHAR(*), CHAR(*), FIXED BIN(15)), 3 % FPUTAL ENTRY(CHAR(*)), 3 % FPUTL ENTRY(CHAR(*)), 3 % FRETAL ENTRY(CHAR(*)), 3 % FRETN ENTRY(CHAR(*), CHAR(*), FIXED BIN(15)), 3 % FSHOW ENTRY(CHAR(*), FIXED BIN(15)), 3 % FSPOFF ENTRY, 3 % FSPON ENTRY, 3 % FSTAT ENTRY(FIXED BIN(15), FIXED BIN(15)), 3 % FSETST ENTRY(FIXED BIN(15), FIXED BIN(15)), 3 % WTQIO ENTRY(FIXED BIN(15), FIXED BIN(15), FIXED BIN(15)); 4 %INCLUDE 'SY:TCME.PLI'; 5 %/* TCMENT: Entries for TCM System */ 5 % 5 % DCL TINIT ENTRY(FIXED BIN(15),FIXED BIN(15)); 6 % DCL TWINCR ENTRY(CHAR(8),CHAR(*),POINTER,FIXED BIN(15)); 7 % DCL TCOLL ENTRY(CHAR(8),POINTER,FIXED BIN(15),FIXED BIN(15),FIXED BIN(15),FIXED BIN(15)); 8 % DCL TWINSA ENTRY(CHAR(8),CHAR(*) VARYING,FIXED BIN(15),FIXED BIN(15),FIXED BIN(15)); 9 % DCL TRETRV ENTRY(CHAR(8),CHAR(*) VARYING,FIXED BIN(15),FIXED BIN(15)); 10 % DCL TWINDE ENTRY(CHAR(8),FIXED BIN(15)); 11 % DCL TWINRF ENTRY(CHAR(8),FIXED BIN(15)); 12 % DCL TSTOP ENTRY(FIXED BIN(15)); 13 % DCL TXTDEL ENTRY(CHAR(8),POINTER,POINTER,FIXED BIN(15)); 14 % DCL TXTINS ENTRY(CHAR(8),CHAR(*) VARYING,POINTER,FIXED BIN(15)); 15 %INCLUDE 'SY:TCMERR.PLI'; 16 %/* TCMERR.PLI: Include file for TCM error and status codes */ 16 % 16 %DCL TCMDSW EXTERNAL FIXED BIN(15); /* Dsw of last TCM system call */ 17 % 17 %/* TCM ERROR CODES */ 17 % 17 %DCL 1 TCMERR STATIC EXTERNAL, 17 % 2 TE_BDH FIXED BIN(7) INIT(-1), /* Bad Height Parameter (height > maximum or < 1) */ 17 % 2 TE_INS FIXED BIN(7) INIT(-2), /* ...TCM not installed */ 17 % 2 TE_BDW FIXED BIN(7) INIT(-3), /* Bad Parameter (out of range) */ 17 % 2 TE_BDP FIXED BIN(7) INIT(-4), /* Bad Width Parameter (width > maximum or < 2) */ 17 % 2 TE_CRT FIXED BIN(7) INIT(-5), /* Invalid CRT terminal type */ 17 % 2 TE_IDS FIXED BIN(7) INIT(-6), /* Insufficient Dynamic Storage, no buffer space */ 17 % 2 TE_ACT FIXED BIN(7) INIT(-7), /* TCM not active (aborted) */ 17 % 2 TE_NSW FIXED BIN(7) INIT(-8), /* No such window */ 17 % 2 TE_OTF FIXED BIN(7) INIT(-9), /* Cannot open text_save file */ 17 % 2 TE_EOL FIXED BIN(7) INIT(-10),/* No more lines */ 17 % 2 TE_SRV FIXED BIN(7) INIT(-11),/* Send or Receive error */ 17 % 2 TE_AST FIXED BIN(7) INIT(-12),/* Receive AST initialization error */ 17 % 2 TE_STA FIXED BIN(7) INIT(-13),/* TCM not started */ 17 % 2 TE_EVF FIXED BIN(7) INIT(-14),/* Event flag directive error */ 17 % 2 TE_TMO FIXED BIN(7) INIT(-15),/* Timeout on no CRT activity */ 17 % 2 TE_INF FIXED BIN(7) INIT(-26),/* Init_data file not found */ 17 % 2 TE_FIO FIXED BIN(7) INIT(-59),/* File I/O error */ 17 % 17 %/* TCM STATUS CODES (Editing errors & warnings) */ 17 % 17 % 2 TS_SUC FIXED BIN(7) INIT(1), /* Success, valid completion */ 17 % 2 TS_LSL FIXED BIN(7) INIT(2), /* Last line */ DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 3 17 % 2 TS_XFR FIXED BIN(7) INIT(3), /* Exit forward */ 17 % 2 TS_XBK FIXED BIN(7) INIT(4), /* Exit backward */ 17 % 2 TS_ABO FIXED BIN(7) INIT(5), /* Abort key pressed, user screen exit */ 17 % 2 TS_ENT FIXED BIN(7) INIT(10), /* Enter key pressed */ 17 % 2 TS_IKY FIXED BIN(7) INIT(11), /* Invalid key pressed in read only mode */ 17 % 2 TS_UKY FIXED BIN(7) INIT(12), /* Undefined function key pressed */ 17 % 2 TS_BFI FIXED BIN(7) INIT(20), /* Buffer full - char or line insert */ 17 % 2 TS_BFP FIXED BIN(7) INIT(21), /* Buffer full - paste or undelete */ 17 % 2 TS_MCI FIXED BIN(7) INIT(23), /* Maximum lines - char or line insert */ 17 % 2 TS_MCP FIXED BIN(7) INIT(24), /* Maximum lines - paste of undelete */ 17 % 2 TS_RFS FIXED BIN(7) INIT(30), /* Refresh screen key pressed */ 17 % 2 TS_HLP FIXED BIN(7) INIT(31), /* Help key pressed */ 17 % 2 TS_CUT FIXED BIN(7) INIT(40), /* Cut too large */ 17 % 2 TS_APE FIXED BIN(7) INIT(50), /* Advance past end of text */ 17 % 2 TS_BPS FIXED BIN(7) INIT(51), /* Backup past start of text */ 17 % 2 TS_SNF FIXED BIN(7) INIT(52), /* String not found */ 17 % 2 TS_WTL FIXED BIN(7) INIT(53); /* Word too long for line */ 18 18 DCL SYSPRINT FILE; 19 DCL WRTPAS ENTRY (FILE,CHAR(*)) ; 20 DCL TRIM ENTRY(CHAR(*)) RETURNS (CHAR(255) VARYING); 21 DCL ASCII ENTRY (FIXED BIN(7)) RETURNS (CHAR(1)); 22 DCL IMPURE_AREA CHAR(2500) STATIC; 23 DCL IMPURE_SIZE FIXED BIN(15) STATIC INIT(2500); 24 DCL FLB_LUN FIXED BIN(15); 25 DCL FNDLUN ENTRY(FIXED BIN(15)); 26 DCL (STAT1,STAT2) FIXED BIN(15) STATIC; 27 DCL R_FLAG FIXED BIN(15) STATIC INIT(6); 28 DCL TERM FIXED BIN(15); 29 DCL LINENO FIXED BIN(15); 30 DCL LINESTRNG CHAR(9) VAR; 31 DCL ZERO FIXED BIN(15) INIT(0); 32 DCL NAME CHAR(8); /* WINDOW NAME */ 33 DCL TEXT CHAR(255) VARYING; /* Line buffer or File spec */ 34 DCL 1 W_DEF STATIC, 34 2 ROW FIXED BIN(15), /* Window position */ 34 2 COL FIXED BIN(15), 34 2 HEIGHT FIXED BIN(15), /* Window size */ 34 2 WIDTH FIXED BIN(15), 34 2 FILL_CHAR CHAR(1), /* Background character */ 34 2 BORDERS FIXED BIN(1), 34 2 VIRT_LINES FIXED BIN(15), /* Maximum lines in buffer */ 34 2 MAX_CHARS FIXED BIN(15); /* Maximum buffer size */ 35 DCL 1 OPTIONS STATIC, 35 2 ERR_LEVEL FIXED BIN(15), /* Severity level for editing */ 35 2 MAX_TIME FIXED BIN(15), /* Timeout on no activity in sec */ 35 2 C_POS, /* Cursor postion for edit */ 35 3 LINE FIXED BIN(15), /* Relative line of text (IN & OUT) */ 35 3 COLUMN FIXED BIN(15), 35 2 STATUS_LINE FIXED BIN(1), /* Display status line if true */ 35 2 READ_ONLY FIXED BIN(1), /* Display only mode if true */ 35 2 INSERT FIXED BIN(1); /* Default to insert mode */ 36 36 DCL 1 DELSTART, 36 2 LINE FIXED BIN(15), /* Start of delete text */ DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 4 36 2 COLUMN FIXED BIN(15); 37 37 DCL 1 DELEND, 37 2 LINE FIXED BIN(15), /* End of delete text */ 37 2 COLUMN FIXED BIN(15); 38 38 DCL E_FLAG FIXED BIN(15); /* Event flag for async calls */ 39 DCL (RC,EXIT_STAT) FIXED BIN(15); /* Return codes */ 40 DCL CMD CHAR(1) STATIC INIT(' '); 41 41 /********************************************************************/ 41 41 CALL FMSINIT; 42 CALL FCLRSH('TCMTST',ZERO); 43 CALL STATUS; 44 DO WHILE (CMD ^= 'X'); 45 1 RC = 0; EXIT_STAT = TS_SUC; TERM = 0; 48 1 ROW = 0; COL = 0; WIDTH = 0; HEIGHT = 0; 52 1 VIRT_LINES = 0; MAX_CHARS = 0; 54 1 MAX_TIME = 0; E_FLAG = 0; 56 1 CALL FGET(CMD,TERM,'CMD',ZERO); 57 1 CALL STATUS; 58 1 IF CMD = 'i' ! CMD = 'I' THEN DO; 60 2 CALL TINIT(R_FLAG,RC); /* FIXED EVENT FLAG */ 61 2 END; 62 1 ELSE IF CMD = 'c' ! CMD = 'C' THEN DO; 64 2 CALL FGET(NAME,TERM,'NAME',ZERO); 65 2 CALL STATUS; 66 2 CALL FGET(TEXT,TERM,'ROW',ZERO); 67 2 CALL STATUS; 68 2 IF LENGTH(TEXT) > 0 THEN ROW = TEXT; 70 2 CALL FGET(TEXT,TERM,'COL',ZERO); 71 2 CALL STATUS; 72 2 IF LENGTH(TEXT) > 0 THEN COL = TEXT; 74 2 CALL FGET(TEXT,TERM,'HEIGHT',ZERO); 75 2 CALL STATUS; 76 2 IF LENGTH(TEXT) > 0 THEN HEIGHT = TEXT; 78 2 CALL FGET(TEXT,TERM,'WIDTH',ZERO); 79 2 CALL STATUS; 80 2 IF LENGTH(TEXT) > 0 THEN WIDTH = TEXT; 82 2 CALL FGET(TEXT,TERM,'VIRTL',ZERO); 83 2 CALL STATUS; 84 2 IF LENGTH(TEXT) > 0 THEN VIRT_LINES = TEXT; 86 2 CALL FGET(TEXT,TERM,'MAXC',ZERO); 87 2 CALL STATUS; 88 2 IF LENGTH(TEXT) > 0 THEN MAX_CHARS = TEXT; 90 2 call fget(TEXT,term,'BORDER',ZERO); 91 2 call status; 92 2 if text = 'Y' then 92 2 borders = 1; 94 2 else 94 2 borders = 0; 95 2 CALL FGET(FILL_CHAR,TERM,'FILL',ZERO); 96 2 CALL STATUS; 97 2 CALL FGET(TEXT,TERM,'INITD',ZERO); DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 5 98 2 CALL STATUS; 99 2 TEXT = TRIM(TEXT); 100 2 CALL TWINCR(NAME,TEXT,ADDR(W_DEF),RC); 101 2 END; 102 1 ELSE IF CMD = 'e' ! CMD = 'E' THEN DO; 104 2 CALL FGET(NAME,TERM,'NAME',ZERO); 105 2 CALL STATUS; 106 2 CALL FGET(TEXT,TERM,'CPOS',ZERO); 107 2 CALL STATUS; 108 2 IF TEXT = 'B' ! TEXT = 'b' THEN DO; 110 3 OPTIONS.COLUMN = 1; 111 3 OPTIONS.LINE = 1; 112 3 END; 113 2 ELSE IF TEXT = 'E' ! TEXT = 'e' THEN DO; 115 3 OPTIONS.COLUMN = 0; 116 3 OPTIONS.LINE = 0; 117 3 END; 118 2 CALL FGET(TEXT,TERM,'ERRLV',ZERO); 119 2 CALL STATUS; 120 2 IF LENGTH(TEXT) > 0 THEN OPTIONS.ERR_LEVEL = TEXT; 122 2 CALL FGET(TEXT,TERM,'MAXTIM',ZERO); 123 2 CALL STATUS; 124 2 IF LENGTH(TEXT) > 0 THEN OPTIONS.MAX_TIME = TEXT; 126 2 CALL FGET(TEXT,TERM,'STALIN',ZERO); 127 2 CALL STATUS; 128 2 IF TEXT = 'T' ! TEXT = 'Y' THEN 128 2 OPTIONS.STATUS_LINE = 1; 130 2 ELSE OPTIONS.STATUS_LINE = 0; 131 2 CALL FGET(TEXT,TERM,'RDONLY',ZERO); 132 2 CALL STATUS; 133 2 IF TEXT = 'T' ! TEXT = 'Y' THEN 133 2 OPTIONS.READ_ONLY = 1; 135 2 ELSE OPTIONS.READ_ONLY = 0; 136 2 CALL FGET(TEXT,TERM,'INSERT',ZERO); 137 2 CALL STATUS; 138 2 IF TEXT = 'T' ! TEXT = 'Y' THEN 138 2 OPTIONS.INSERT = 1; 140 2 ELSE OPTIONS.INSERT = 0; 141 2 CALL FGET(TEXT,TERM,'EFLAG',ZERO); 142 2 CALL STATUS; 143 2 IF LENGTH(TEXT) > 0 THEN E_FLAG = TEXT; 145 2 IF OPTIONS.ERR_LEVEL = 1 THEN DO; 147 3 CALL FGET(TEXT,TERM,'INITD',ZERO); 148 3 CALL STATUS; 149 3 TEXT = TRIM(TEXT); 150 3 END; 151 2 EXIT_STAT = TS_UKY; 152 2 DO WHILE(EXIT_STAT = TS_UKY); 153 3 CALL TCOLL(NAME,ADDR(OPTIONS),E_FLAG,TERM,RC,EXIT_STAT); 154 3 IF EXIT_STAT = TS_UKY & TERM > 128 THEN 154 3 CALL TXTINS(NAME,TEXT,ADDR(OPTIONS.C_POS),RC); 156 3 IF RC ^= 0 THEN 156 3 CALL WRTPAS(SYSPRINT,ASCII(27)!!'[23;1HCMD = T RC ='!!RC!!' Exit Status ='!!EXIT_STAT!!' Term ='!!TERM); 158 3 END; 159 2 LINENO = OPTIONS.C_POS.LINE; DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 6 160 2 LINESTRNG = LINENO; 161 2 CALL FPUT(TRIM(LINESTRNG),'LINENO'); 162 2 CALL STATUS; 163 2 LINESTRNG = OPTIONS.C_POS.COLUMN; 164 2 CALL FPUT(TRIM(LINESTRNG),'COLNO'); 165 2 CALL STATUS; 166 2 END; 167 1 ELSE IF CMD = 'k' ! CMD = 'K' THEN DO; 169 2 CALL FGET(NAME,TERM,'NAME',ZERO); 170 2 CALL STATUS; 171 2 CALL FGET(TEXT,TERM,'LINENO',ZERO); 172 2 CALL STATUS; 173 2 DELSTART.LINE = TRIM(TEXT); 174 2 CALL FGET(TEXT,TERM,'COLNO',ZERO); 175 2 CALL STATUS; 176 2 DELSTART.COLUMN = TRIM(TEXT); 177 2 CALL FGET(TEXT,TERM,'LINENO',ZERO); 178 2 CALL STATUS; 179 2 DELEND.LINE = TRIM(TEXT); 180 2 CALL FGET(TEXT,TERM,'COLNO',ZERO); 181 2 CALL STATUS; 182 2 DELEND.COLUMN = TRIM(TEXT); 183 2 CALL TXTDEL(NAME,ADDR(DELSTART),ADDR(DELEND),RC); 184 2 END; 185 1 ELSE IF CMD = 'r' ! CMD = 'R' THEN DO; 187 2 CALL FGET(NAME,TERM,'NAME',ZERO); 188 2 CALL STATUS; 189 2 CALL FGET(TEXT,TERM,'LINENO',ZERO); 190 2 CALL STATUS; 191 2 TEXT = TRIM(TEXT); 192 2 IF LENGTH(TEXT) > 0 THEN 192 2 LINENO = TEXT; 194 2 CALL TRETRV(NAME,TEXT,LINENO,RC); 195 2 CALL WRTPAS(SYSPRINT,ASCII(27)!!'[21;1HLine '!!LINENO); 196 2 CALL WRTPAS(SYSPRINT,ASCII(27)!!'[22;1H"'!!TEXT!!'"'!!ASCII(27)!!'[K'); 197 2 LINESTRNG = LINENO; 198 2 CALL FPUT(TRIM(LINESTRNG),'LINENO'); 199 2 CALL STATUS; 200 2 END; 201 1 ELSE IF CMD = 'f' ! CMD = 'F' THEN DO; 203 2 CALL FGET(NAME,TERM,'NAME',ZERO); 204 2 CALL STATUS; 205 2 CALL FGET(TEXT,TERM,'EFLAG',ZERO); 206 2 CALL STATUS; 207 2 IF LENGTH(TEXT) > 0 THEN E_FLAG = TEXT; 209 2 CALL FGET(TEXT,TERM,'FILE',ZERO); 210 2 CALL STATUS; 211 2 IF E_FLAG > 0 THEN 211 2 CALL TWINSA(NAME,TEXT,E_FLAG,RC,EXIT_STAT); 213 2 ELSE 213 2 CALL TWINSA(NAME,TEXT,RC,EXIT_STAT); 214 2 END; 215 1 ELSE IF CMD = 'd' ! CMD = 'D' THEN DO; 217 2 CALL FGET(NAME,TERM,'NAME',ZERO); 218 2 CALL STATUS; DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 7 219 2 CALL TWINDE(NAME,RC); 220 2 END; 221 1 ELSE IF CMD = 's' ! CMD = 'S' THEN DO; 223 2 CALL FGET(NAME,TERM,'NAME',ZERO); 224 2 CALL STATUS; 225 2 CALL TWINRF(NAME,RC); 226 2 END; 227 1 ELSE IF CMD = 'q' ! CMD = 'Q' THEN 227 1 CALL TSTOP(RC); 229 1 ELSE IF CMD ^= 'x' & CMD ^= 'X' THEN 229 1 CALL FPUTL('Invalid Command, Use I,C,E,R,F,D,S,Q, or X only.'); 231 1 IF (RC ^= TS_SUC) & (TCMDSW < 0) THEN 231 1 CALL FPUTL('TCM Error, RC = '!!RC!!' TCMDSW = '!!TCMDSW); 233 1 IF RC ^= 0 THEN 233 1 CALL WRTPAS(SYSPRINT,ASCII(27)!!'[23;1HCMD = '!!CMD!!' RC ='!!RC!!' Exit Status ='!!EXIT_STAT!!' Term ='!!TERM); 235 1 END; 236 CALL FLCLOS; 237 /********************************************************************/ 237 237 FMSINIT: PROC; 238 CALL ATTACH; 239 CALL FINIT(IMPURE_AREA,IMPURE_SIZE,STAT1); 240 CALL STATUS; 241 CALL FNDLUN(FLB_LUN); 242 CALL STATUS; 243 CALL FLCHAN(FLB_LUN); 244 CALL STATUS; 245 CALL FLOPEN('TCMTST.FLB'); 246 CALL STATUS; 247 CALL WRTPAS(SYSPRINT,ASCII(27)!!'='); 248 END FMSINIT; 249 /*******************************************************************/ 249 249 ATTACH: PROC; 250 CALL WTQIO(768,5,5); /* ATTACH TERMINAL */ 251 END ATTACH; 252 252 DETACH: PROC; 253 CALL WTQIO(1024,5,5); /* ATTACH TERMINAL */ 254 END DETACH; 255 255 STATUS: PROC; 256 CALL FSTAT(STAT1,STAT2); 257 IF STAT1 < 0 THEN DO; 259 1 CALL FPUTL('Error Status 1 = '!!STAT1!!' Status 2 = '!!STAT2); 260 1 CALL FGET; 261 1 END; 262 END STATUS; 263 /*******************************************************************/ 263 END TCMTST; DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 8 PSECT Octal Bytes Decimal Bytes ----- ----------- ------------- $TCMTS 7040 3616 SYSPRI 34 28 TCMDSW 2 2 TCMERR 154 108 TCMTST 11264 4788 AUTOMATIC: Octal Bytes Decimal Bytes ---------- ----------- ------------- TCMTST 2646 1446 FMSINIT 24 20 ATTACH 10 8 DETACH 10 8 STATUS 244 164 Symbol Space Octal Bytes Decimal Bytes ------------ ----------- ------------- Used: 12730 5592 Remaining: 23174 9852 DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 9 IDENTIFIER ATTRIBUTES ADDR BUILTIN 100#, 153, 155, 183 ASCII ENTRY EXTERNAL CHARACTER (1) 21#, 157, 195, 196, 234, 247 ATTACH ENTRY 238, 249#, 251 BORDERS IN W_DEF, STATIC FIXED BINARY (1) 34#, 93, 94 CMD STATIC CHARACTER (1) 40#, 44, 56, 58, 62, 102, 167, 185, 201, 215, 221, 227 229, 234 COL IN W_DEF, STATIC FIXED BINARY (15) 34#, 49, 73 COLUMN IN C_POS, STATIC FIXED BINARY (15) 35#, 110, 115, 163 COLUMN IN DELSTART, AUTOMATIC FIXED BINARY (15) 36#, 176 COLUMN IN DELEND, AUTOMATIC FIXED BINARY (15) 37#, 182 C_POS IN OPTIONS, STATIC MEMBER 35#, 110, 111, 115, 116, 155, 159, 163 DELEND AUTOMATIC STRUCTURE 37#, 179, 182, 183 DELSTART AUTOMATIC STRUCTURE 36#, 173, 176, 183 DETACH ENTRY 252#, 254 ERR_LEVEL IN OPTIONS, STATIC FIXED BINARY (15) 35#, 121, 145 EXIT_STAT AUTOMATIC FIXED BINARY (15) 39#, 46, 151, 152, 153, 154, 157, 212, 213, 234 E_FLAG AUTOMATIC FIXED BINARY (15) 38#, 55, 144, 153, 208, 211, 212 DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 10 IDENTIFIER ATTRIBUTES FCLRSH ENTRY EXTERNAL 3#, 42 FGCF ENTRY EXTERNAL 3# FGET ENTRY EXTERNAL 3#, 56, 64, 66, 70, 74, 78, 82, 86, 90, 95, 97, 104 106, 118, 122, 126, 131, 136, 141, 147, 169, 171, 174 177, 180, 187, 189, 203, 205, 209, 217, 223, 260 FGETAF ENTRY EXTERNAL 3# FGETAL ENTRY EXTERNAL 3# FIDATA ENTRY EXTERNAL 3# FILL_CHAR IN W_DEF, STATIC CHARACTER (1) 34#, 95 FINIT ENTRY EXTERNAL 3#, 239 FINLN ENTRY EXTERNAL 3# FLB_LUN AUTOMATIC FIXED BINARY (15) 24#, 241, 243 FLCHAN ENTRY EXTERNAL 3#, 243 FLCLOS ENTRY EXTERNAL 3#, 236 FLEN ENTRY EXTERNAL 3# FLOPEN ENTRY EXTERNAL 3#, 245 FMSINIT ENTRY 41, 237#, 248 FNDATA ENTRY EXTERNAL 3# DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 11 IDENTIFIER ATTRIBUTES FNDLUN ENTRY EXTERNAL 25#, 241 FOUTLN ENTRY EXTERNAL 3# FPFT ENTRY EXTERNAL 3# FPUT ENTRY EXTERNAL 3#, 161, 164, 198 FPUTAL ENTRY EXTERNAL 3# FPUTL ENTRY EXTERNAL 3#, 230, 232, 259 FRETAL ENTRY EXTERNAL 3# FRETN ENTRY EXTERNAL 3# FSETST ENTRY EXTERNAL 3# FSHOW ENTRY EXTERNAL 3# FSPOFF ENTRY EXTERNAL 3# FSPON ENTRY EXTERNAL 3# FSTAT ENTRY EXTERNAL 3#, 256 HEIGHT IN W_DEF, STATIC FIXED BINARY (15) 34#, 51, 77 IMPURE_AREA STATIC CHARACTER (2500) 22#, 239 IMPURE_SIZE STATIC FIXED BINARY (15) 23#, 239 INSERT IN OPTIONS, STATIC FIXED BINARY (1) 35#, 139, 140 DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 12 IDENTIFIER ATTRIBUTES LENGTH BUILTIN 68#, 72, 76, 80, 84, 88, 120, 124, 143, 192, 207 LINE IN C_POS, STATIC FIXED BINARY (15) 35#, 111, 116, 159 LINE IN DELSTART, AUTOMATIC FIXED BINARY (15) 36#, 173 LINE IN DELEND, AUTOMATIC FIXED BINARY (15) 37#, 179 LINENO AUTOMATIC FIXED BINARY (15) 29#, 159, 160, 193, 194, 195, 197 LINESTRNG AUTOMATIC CHARACTER (9) VARYING 30#, 160, 161, 163, 164, 197, 198 MAX_CHARS IN W_DEF, STATIC FIXED BINARY (15) 34#, 53, 89 MAX_TIME IN OPTIONS, STATIC FIXED BINARY (15) 35#, 54, 125 NAME AUTOMATIC CHARACTER (8) 32#, 64, 100, 104, 153, 155, 169, 183, 187, 194, 203 212, 213, 217, 219, 223, 225 OPTIONS STATIC STRUCTURE 35#, 54, 110, 111, 115, 116, 121, 125, 129, 130, 134 135, 139, 140, 145, 153, 155, 159, 163 RC AUTOMATIC FIXED BINARY (15) 39#, 45, 60, 100, 153, 155, 156, 157, 183, 194, 212 213, 219, 225, 228, 231, 232, 233, 234 READ_ONLY IN OPTIONS, STATIC FIXED BINARY (1) 35#, 134, 135 ROW IN W_DEF, STATIC FIXED BINARY (15) 34#, 48, 69 R_FLAG STATIC FIXED BINARY (15) 27#, 60 STAT1 STATIC FIXED BINARY (15) 26#, 239, 256, 257, 259 STAT2 STATIC FIXED BINARY (15) 26#, 256, 259 DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 13 IDENTIFIER ATTRIBUTES STATUS ENTRY 43, 57, 65, 67, 71, 75, 79, 83, 87, 91, 96, 98, 105 107, 119, 123, 127, 132, 137, 142, 148, 162, 165, 170 172, 175, 178, 181, 188, 190, 199, 204, 206, 210, 218 224, 240, 242, 244, 246, 255#, 262 STATUS_LINE IN OPTIONS, STATIC FIXED BINARY (1) 35#, 129, 130 SYSPRINT EXTERNAL STATIC FILE 18#, 157, 195, 196, 234, 247 TCMDSW EXTERNAL STATIC FIXED BINARY (15) 16#, 231, 232 TCMERR EXTERNAL STATIC STRUCTURE 17#, 46, 151, 152, 154, 231 TCMTST ENTRY EXTERNAL 1#, 263 TCOLL ENTRY EXTERNAL 7#, 153 TERM AUTOMATIC FIXED BINARY (15) 28#, 47, 56, 64, 66, 70, 74, 78, 82, 86, 90, 95, 97 104, 106, 118, 122, 126, 131, 136, 141, 147, 153, 154 157, 169, 171, 174, 177, 180, 187, 189, 203, 205, 209 217, 223, 234 TEXT AUTOMATIC CHARACTER (255) VARYING 33#, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81 82, 84, 85, 86, 88, 89, 90, 92, 97, 99, 100, 106, 108 113, 118, 120, 121, 122, 124, 125, 126, 128, 131, 133 136, 138, 141, 143, 144, 147, 149, 155, 171, 173, 174 176, 177, 179, 180, 182, 189, 191, 192, 193, 194, 196 205, 207, 208, 209, 212, 213 TE_ACT IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_AST IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_BDH IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_BDP IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 14 IDENTIFIER ATTRIBUTES TE_BDW IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_CRT IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_EOL IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_EVF IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_FIO IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_IDS IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_INF IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_INS IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_NSW IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_OTF IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_SRV IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_STA IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TE_TMO IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TINIT ENTRY EXTERNAL 5#, 60 TRETRV ENTRY EXTERNAL 9#, 194 TRIM ENTRY EXTERNAL CHARACTER (255) VARYING 20#, 99, 149, 161, 164, 173, 176, 179, 182, 191, 198 TSTOP ENTRY EXTERNAL 12#, 228 DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 15 IDENTIFIER ATTRIBUTES TS_ABO IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_APE IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_BFI IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_BFP IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_BPS IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_CUT IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_ENT IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_HLP IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_IKY IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_LSL IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_MCI IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_MCP IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_RFS IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_SNF IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_SUC IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17#, 46, 231 TS_UKY IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17#, 151, 152, 154 TS_WTL IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 16 IDENTIFIER ATTRIBUTES TS_XBK IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TS_XFR IN TCMERR, EXTERNAL STATIC FIXED BINARY (7) 17# TWINCR ENTRY EXTERNAL 6#, 100 TWINDE ENTRY EXTERNAL 10#, 219 TWINRF ENTRY EXTERNAL 11#, 225 TWINSA ENTRY EXTERNAL 8#, 212, 213 TXTDEL ENTRY EXTERNAL 13#, 183 TXTINS ENTRY EXTERNAL 14#, 155 VIRT_LINES IN W_DEF, STATIC FIXED BINARY (15) 34#, 52, 85 WIDTH IN W_DEF, STATIC FIXED BINARY (15) 34#, 50, 81 WRTPAS ENTRY EXTERNAL 19#, 157, 195, 196, 234, 247 WTQIO ENTRY EXTERNAL 3#, 250, 253 W_DEF STATIC STRUCTURE 34#, 48, 49, 50, 51, 52, 53, 69, 73, 77, 81, 85, 89 93, 94, 95, 100 ZERO AUTOMATIC FIXED BINARY (15) 31#, 42, 56, 64, 66, 70, 74, 78, 82, 86, 90, 95, 97 104, 106, 118, 122, 126, 131, 136, 141, 147, 169, 171 174, 177, 180, 187, 189, 203, 205, 209, 217, 223 DM5:TCMTEST.PLI;67 AIS-PL/I V3.0 23-MAY-84 16:17:05 PAGE 17 E5550 Number of arguments not same as declared for procedure in statement(s) 161,164,198,213,260 E4301 Argument/declaration of string mismatch on VARYING attribute in statement(s) 66,70,74,78,82,86,90,97,99,100,106,118,122,126,131, 136,141,147,149,161,161,164,164,171,173,174,176,177,179,180, 182,189,191,198,198,205,209 E3302 Implicit conversion from string to numeric in statement(s) 69,73,77,81,85,89,121,125,144,173,176,179,182,193,208, E3301 Implicit conversion from numeric to string in statement(s) 157,157,157,160,163,195,197,232,232,234,234,234,259,259 E2202 Semicolon found in character constant in statement(s) 156,195,196,233 PLI -- TCMTST:: WARNINGS: 75.