.TITLE VTLTBL - File Table Entrys. .IDENT /1.4/ .ENABL LC ;+ ; ; Free software BY ; Project Software & Development, Inc. ; ; This software is furnished for free and may be used and copied as ; desired. This software or any other copies thereof may be provided or ; otherwise made available to any other person. No title to and ; ownership of the software is hereby transferred or allowed. ; ; The information in this software is subject to change without notice ; and should not be construed as a commitment by PROJECT SOFTWARE ; AND DEVELOPMENT, INC. ; ; PROJECT SOFTWARE assumes no responsibility for the use or reliability ; of this software on any equipment whatsoever. ; ; Project Software & Development, Inc. ; 14 Story St. ; Cambridge, Ma. 02138 ; 617-661-1444 ; ; ; Title: VTLTBL.MAC ; Author: Robin Miller ; Date: July 1, 1983. ; ; Description: ; ; This module contains the file table entrys used to control the ; listing of file(s) at the terminal. ; ; Modification History: ; ; November 26, 1985 by Robin Miller. Version 1.4 ; Add field O.ULIN to save the user specified number of lines ; to display. This field is needed for terminals without AVO. ; ; August 31, 1983 by Robin Miller. Version 1.3 ; Add 4 words to save the Radix-50 file name and type for doing ; new wildcard character lookups. ; ; June 7, 1984 by Robin Miller. Version 1.2 ; Add word to save the file string pointer when parsing the ; command line for VMS with multiple file names. ; ; June 5, 1984 by Robin Miller. Version 1.1 ; Add area to store the record context of the record found when ; doing a search. ; ;- .ENABL AMA .NLIST BEX ; Define offsets for file entry tables: O.STAT == 0 ; The status word. (word) O.FDB == O.STAT+2 ; The FDB address. (word) O.FNB == O.FDB+2 ; The FNB address. (word) O.CSI == O.FNB+2 ; The CSI block address. (word) O.FNAM == O.CSI+2 ; Address of ASCII file name. (word) O.FDAT == O.FNAM+2 ; Address of ASCII file date. (word) O.FPTR == O.FDAT+2 ; Pointer to input file name(s).(word) O.FSAV == O.FPTR+2 ; Pointer to next file name. (word) O.FID == O.FSAV+2 ; The 1st word of the file ID. (word) O.WFNB == O.FID+2 ; The wildcard FNB address. (word) O.WDSD == O.WFNB+2 ; The wildcard dataset address. (word) O.WVER == O.WDSD+2 ; The wildcard version number. (word) O.CONT == O.WVER+2 ; The VMS wildcard context. (2 words) O.RNAM == O.CONT+4 ; The Radix-50 name and type.(4 words) O.TOP == O.RNAM+8. ; The current top line number. (word) O.BOT == O.TOP+2 ; The current bottom line number(word) O.DTOP == O.BOT+2 ; The default top line number. (word) O.DBOT == O.DTOP+2 ; The default bottom line number(word) O.FLIN == O.DBOT+2 ; The file name line number. (word) O.RLIN == O.FLIN+2 ; The ruler line number. (word) O.CREC == O.RLIN+2 ; The current record number. (2 words) O.HREC == O.CREC+4 ; The highest record number. (2 words) O.LREC == O.HREC+4 ; The last record # marked. (2 words) ; Keep the next two offsets contiguous. O.SREC == O.LREC+4 ; The saved record number. (2 words) O.SDOT == O.SREC+4 ; The saved record position. (3 words) O.TOPR == O.SDOT+6 ; The top of page record #. (2 words) O.SELR == O.TOPR+4 ; The select record number. (2 words) ; Keep the next two offsets contiguous. O.FREC == O.SELR+4 ; The search record number. (2 words) O.FDOT == O.FREC+4 ; The search record context. (3 words) O.FBEG == O.FDOT+6 ; The search beginning byte. (word) O.FEND == O.FBEG+2 ; The search ending byte. (word) O.FSIZ == O.FEND+2 ; The search string size. (word) O.LCNT == O.FSIZ+2 ; The current line count. (word) O.LSAV == O.LCNT+2 ; The last page line count. (word) O.RCNT == O.LSAV+2 ; The last page record count. (word) O.ULIN == O.RCNT+2 ; The user defined line count. (word) O.LWID == O.ULIN+2 ; The current line width. (word) O.UWID == O.LWID+2 ; The user defined line width. (word) O.LMAX == O.UWID+2 ; The maximum line count. (word) O.CCNT == O.LMAX+2 ; The line character count. (word) O.TCNT == O.CCNT+2 ; The current tab count. (word) O.BADR == O.TCNT+2 ; The input record address. (word) O.BCNT == O.BADR+2 ; The input record count. (word) O.MARG == O.BCNT+2 ; The margin indent count. (word) O.PSIZ == O.MARG+2 ; The default PAGE size. (word) O.SSIZ == O.PSIZ+2 ; The default SECTION size. (word) O.USIZ == O.SSIZ+2 ; User specified SECTION size. (word) O.MRKB == O.USIZ+2 ; The mark buffer address. (word) O.MRKP == O.MRKB+2 ; Pointer to next mark entry. (word) O.MRKC == O.MRKP+2 ; The mark buffer entry count. (word) O.MARK == O.MRKC+2 ; The mark buffer modulo count. (word) O.UMRK == O.MARK+2 ; The user specified mark count.(word) ; Defaults for the top file display. T.FLIN = 1 ; The file name line number. T.RLIN = T.FLIN+1 ; The ruler line number. T.TOP = T.RLIN+1 ; The current top line number. T.DTOP = T.TOP ; The default top line number. T.BOT = 22. ; The current bottom line number. T.DBOT = T.BOT ; The default bottom line number. T.LWID = 80. ; The current line width. T.PSIZ = 100. ; The default PAGE size. T.LMAX = +1 ; The maximum display size. T.SSIZ = T.LMAX-5 ; The default SECTION size. ; Defaults for the bottom file display. B.FLIN = 12. ; The file name line number. B.RLIN = B.FLIN ; The ruler line number. B.TOP = B.RLIN+1 ; The current top line number. B.DTOP = B.TOP ; The default top line number. B.BOT = 22. ; The current bottom line number. B.DBOT = B.BOT ; The default bottom line number. B.LWID = T.LWID ; The current line width. B.PSIZ = 100. ; The default PAGE size. B.LMAX = +1 ; The maximum display size. B.SSIZ = B.LMAX-3 ; The default SECTION size. ; Globalize status bit definitions for DDT. .GLOBL S.SRCH, S.FORW, S.STOP, S.CONT, S.SEL, S.EOF .GLOBL S.NAME, S.SEE, S.NUMB, S.RULR, S.WRAP, S.BIN, S.TECO, S.RSX ; ; Format of the screen: ; ; line 01 - The top file name, ruler, or first display line. ; line 02 - The ruler (if file name enabled) or a blank line. ; line 03 - The first display line (if file name enabled). ; ; line 12 - The bottom file name, the ruler, or a separator. ; line 13 - The first display line. ; ; line 23 - Used for message display. ; line 24 - Used for prompt display. ; ; One file display: range of lines is 01-22. ; Two file display: range of lines is 01-11 for the top file. ; range of lines is 12-22 for the bottom file. ; ; Address of the active file entry. IENTRY::.WORD IFILE1 ; Address of active file entry. AENTRY::.WORD IFILE2 ; The alternate file entry address. OENTRY::.WORD OFILE1 ; The output file table address. ; Entry for the top file being displayed. IFILE1::.WORD S.NAME!S.FORW ;(O.STAT) The status word. .WORD INFDB ;(O.FDB ) The FDB address. .WORD INFDB+F.FNB ;(O.FNB ) The FNB address. .WORD INCSI1 ;(O.CSI ) The CSI block address. .WORD INFIL1 ;(O.FNAM) Address of ASCII file name. .WORD INDAT1 ;(O.FDAT) Address of ASCII file date. .WORD INBUF1 ;(O.FPTR) Pointer to input file names. .WORD 0 ;(O.FSAV) Pointer to next file name. .WORD 0 ;(O.FID ) The 1st word of the file ID. .WORD INFNB1 ;(O.WFNB) The wildcard FNB address. .WORD INDSD1 ;(O.WDSD) The wildcard dataset address. .WORD 0 ;(O.WVER) The wildcard version number. .BLKW 2 ;(O.CONT) The VMS wildcard context. .BLKW 4 ;(O.RNAM) The Radix-50 file name/type. .WORD T.TOP ;(O.TOP ) The current top line number. .WORD T.BOT ;(O.BOT ) The current bottom line #. .WORD T.DTOP ;(O.DTOP) The default top line number. .WORD T.DBOT ;(O.DBOT) The default bottom line #. .WORD T.FLIN ;(O.FLIN) The file name line number. .WORD T.RLIN ;(O.RLIN) The ruler line number. .BLKW 2 ;(O.CREC) The current record number. .BLKW 2 ;(O.HREC) The highest record number. .BLKW 2 ;(O.LREC) The last record # marked. .BLKW 2 ;(O.SREC) The saved record number. .BLKW 3 ;(O.SDOT) The saved record position. .BLKW 2 ;(O.TOPR) The top of page record #. .BLKW 2 ;(O.SELR) The select record number. .BLKW 2 ;(O.FREC) The search record number. .BLKW 3 ;(O.FDOT) The search record context. .WORD 0 ;(O.FBEG) The search beginning byte. .WORD 0 ;(O.FEND) The search ending byte. .WORD 0 ;(O.FSIZ) The search string size. .WORD 0 ;(O.LCNT) The current line count. .WORD 0 ;(O.LSAV) The last page line count. .WORD 0 ;(O.RCNT) The last page record count. .WORD 0 ;(O.ULIN) The user defined line count. .WORD T.LWID ;(O.LWID) The current line width. .WORD 0 ;(O.UWID) The user defined line width. .WORD T.LMAX ;(O.LMAX) The maximum line count. .WORD 0 ;(O.CCNT) The line character count. .WORD 0 ;(O.TCNT) The current tab count. .WORD 0 ;(O.BADR) The input record address. .WORD 0 ;(O.BCNT) The input record count. .WORD 0 ;(O.MARG) The margin indent count. .WORD T.PSIZ ;(O.PSIZ) The default PAGE size. .WORD T.SSIZ ;(O.SSIZ) The default SECTION size. .WORD 0 ;(O.USIZ) User specified SECTION size. .WORD MARKB1 ;(O.MRKB) The mark buffer address. .WORD 0 ;(O.MRKP) Pointer to next mark entry. .WORD 0 ;(O.MRKC) The mark buffer entry count. .WORD 0 ;(O.MARK) The mark buffer modulo count. .WORD 0 ;(O.UMRK) The user specified mark count ; Entry for the bottom file being displayed. IFILE2::.WORD S.NAME!S.FORW ;(O.STAT) The status word. .WORD IN2FDB ;(O.FDB ) The FDB address. .WORD IN2FDB+F.FNB ;(O.FNB ) The FNB address. .WORD INCSI2 ;(O.CSI ) The CSI block address. .WORD INFIL2 ;(O.FNAM) Address of ASCII file name. .WORD INDAT2 ;(O.FDAT) Address of ASCII file date. .WORD INBUF2 ;(O.FPTR) Pointer to input file names. .WORD 0 ;(O.FSAV) Pointer to next file name. .WORD 0 ;(O.FID ) The 1st word of the file ID. .WORD INFNB2 ;(O.WFNB) The wildcard FNB address. .WORD INDSD2 ;(O.WDSD) The wildcard dataset address. .WORD 0 ;(O.WVER) The wildcard version number. .BLKW 2 ;(O.CONT) The VMS wildcard context. .BLKW 4 ;(O.RNAM) The Radix-50 file name/type. .WORD B.TOP ;(O.TOP ) The current top line number. .WORD B.BOT ;(O.BOT ) The current bottom line #. .WORD B.DTOP ;(O.DTOP) The default top line number. .WORD B.DBOT ;(O.DBOT) The default bottom line #. .WORD B.FLIN ;(O.FLIN) The file name line number. .WORD B.RLIN ;(O.RLIN) The ruler line number. .BLKW 2 ;(O.CREC) The current record number. .BLKW 2 ;(O.HREC) The highest record number. .BLKW 2 ;(O.LREC) The last record # marked. .BLKW 2 ;(O.SREC) The saved record number. .BLKW 3 ;(O.SDOT) The saved record position. .BLKW 2 ;(O.TOPR) The top of page record #. .BLKW 2 ;(O.SELR) The select record number. .BLKW 2 ;(O.FREC) The search record number. .BLKW 3 ;(O.FDOT) The search record context. .WORD 0 ;(O.FBEG) The search beginning byte. .WORD 0 ;(O.FEND) The search ending byte. .WORD 0 ;(O.FSIZ) The search string size. .WORD 0 ;(O.LCNT) The current line count. .WORD 0 ;(O.LSAV) The last page line count. .WORD 0 ;(O.RCNT) The last page record count. .WORD 0 ;(O.ULIN) The user defined line count. .WORD B.LWID ;(O.LWID) The current line width. .WORD 0 ;(O.UWID) The user defined line width. .WORD B.LMAX ;(O.LMAX) The maximum line count. .WORD 0 ;(O.CCNT) The line character count. .WORD 0 ;(O.TCNT) The current tab count. .WORD 0 ;(O.BADR) The input record address. .WORD 0 ;(O.BCNT) The input record count. .WORD 0 ;(O.MARG) The margin indent count. .WORD B.PSIZ ;(O.PSIZ) The default PAGE size. .WORD B.SSIZ ;(O.SSIZ) The default SECTION size. .WORD 0 ;(O.USIZ) User specified SECTION size. .WORD MARKB2 ;(O.MRKB) The mark buffer address. .WORD 0 ;(O.MRKP) Pointer to next mark entry. .WORD 0 ;(O.MRKC) The mark buffer entry count. .WORD 0 ;(O.MARK) The mark buffer modulo count. .WORD 0 ;(O.UMRK) The user specified mark count ; Entry for the output file: ; Entry for bottom file being displayed. OFILE1::.WORD S.NAME ;(O.STAT) The status word. .WORD OUTFDB ;(O.FDB ) The FDB address. .WORD OUTFDB+F.FNB ;(O.FNB ) The FNB address. .WORD OUTCSI ;(O.CSI ) The CSI block address. .WORD OUTFIL ;(O.FNAM) Address of ASCII file name. .WORD 0 ;(O.FDAT) Address of ASCII file date. ; Two entrys for opening terminal input and output files. TIFILE::.WORD S.NAME ;(O.STAT) The status word. .WORD TIFDB ;(O.FDB ) The FDB address. .WORD TIFDB+F.FNB ;(O.FNB ) The FNB address. .WORD OUTCSI ;(O.CSI ) The CSI block address. .WORD OUTFIL ;(O.FNAM) Address of ASCII file name. .WORD 0 ;(O.FDAT) Address of ASCII file date. TOFILE::.WORD S.NAME ;(O.STAT) The status word. .WORD TOFDB ;(O.FDB ) The FDB address. .WORD TOFDB+F.FNB ;(O.FNB ) The FNB address. .WORD OUTCSI ;(O.CSI ) The CSI block address. .WORD OUTFIL ;(O.FNAM) Address of ASCII file name. .WORD 0 ;(O.FDAT) Address of ASCII file date. .END