1 ; SCCSID = @(#)msdata.asm 1.8 85/09/12
2 AsmVars
<Kanji
, Debug
, Redirector
, ShareF
>
4 Break <Uninitialized
data overlayed by initialization
code>
6 DATA SEGMENT WORD PUBLIC 'DATA'
7 ; Init code overlaps with data area below
10 PUBLIC MSDAT001S
,MSDAT001E
13 I_am TIMEBUF
,6 ; Time read from clock device
14 I_am DEVIOBUF
,2 ; Buffer for I/O under file assignment
16 ; The following areas are used as temp buffer in EXEC system call
18 I_am OPENBUF
,128 ; buffer for name operations
19 I_am RenBuf
,128 ; buffer for rename destination
20 ; Buffer for search calls
21 I_am SEARCHBUF
,53 ; internal search buffer
22 I_am DummyCDS
,curdirLen
24 ; End of contiguous buffer
28 ; Temporary directory entry for use by many routines. Device directory
29 ; entries (bogus) are built here.
32 DEVFCB
LABEL BYTE ; Uses NAME1, NAME2, combined
33 ; WARNING.. do not alter position of NAME1 relative to DEVFCB
34 ; without first examining BUILD_DEVICE_ENT. Look carefully at DOS_RENAME
35 ; as well as it is the only guy who uses NAME2 and DESTSTART.
36 I_am NAME1
,12 ; File name buffer
39 DB ((SIZE DIR_ENTRY
) - ($ - DEVFCB
)) DUP (?
)
41 ; End Temporary directory entry.
43 I_am ATTRIB
,BYTE ; storage for file attributes
44 I_am EXTFCB
,BYTE ; TRUE => extended FCB in use
45 I_am SATTRIB
,BYTE ; Storage for search attributes
46 I_AM open_access
,BYTE ; access of open system call
47 I_am FoundDel
,BYTE ; true => file was deleted
48 I_am Found_dev
,BYTE ; true => search found a device
49 I_am fSplice
,BYTE ; true => do a splice in transpath
50 I_am fSharing
,BYTE ; TRUE => no redirection
51 I_am SECCLUSPOS
,BYTE ; Position of first sector within cluster
57 I_am INSMODE
,BYTE ; true => insert mode in buffered read
58 I_am cMeta
,BYTE ; count of meta'ed components found
60 I_am exit_type
,BYTE ; type of exit...
64 ; WARNING - the following two items are accessed as a word
65 I_am CREATING
,BYTE ; true => creating a file
66 I_am DELALL
,BYTE ; true => deleting everything
68 I_am EXITHOLD
,DWORD ; Temp location for proc terminate
69 I_am user_SP
,WORD ; User SP for system call
70 I_am user_SS
,WORD ; User SS for system call
74 I_am CLUSSEC
,DWORD ;>32mb AC0000
75 I_am PREREAD
,WORD ; 0 means preread; 1 means optional
76 I_am FATBYT
,WORD ; Used by ALLOCATE
77 I_am FATBYTE
,WORD ; Used by $SLEAZEFUNC
79 I_am THISSFT
,DWORD ; Address of user SFT
80 I_am THISCDS
,DWORD ; Address of current CDS
81 I_am THISFCB
,DWORD ; Address of user FCB
82 I_am SFN
,WORD,<-1> ; SystemFileNumber found for accessfile
83 I_am JFN
,WORD ; JobFileNumber found for accessfile
84 I_am PJFN
,DWORD ; PointerJobFileNumber found for accessfile
87 I_am CURR_DIR_END
,WORD ;
91 I_am DIRSEC
,DWORD ;>32mb AC0000
93 I_am SECPOS
,DWORD ;>32mb Position of first sector accessed
94 I_am VALSEC
,DWORD ;>32mb Number of valid (previously written)
96 I_am BYTSECPOS
,WORD ; Position of first byte within sector
97 I_am BYTPOS
,4 ; Byte position in file of access
98 I_am BYTCNT1
,WORD ; No. of bytes in first sector
99 I_am BYTCNT2
,WORD ; No. of bytes in last sector
100 I_am SECCNT
,WORD ; No. of whole sectors
103 I_am NXTCLUSNUM
,WORD ;
106 I_am CONSft
,DWORD ; SFT of console swapped guy.
109 I_am restore_tmp
,WORD ; return address for restore world
112 I_am EXTOPEN_FLAG
,WORD,<0> ;FT. extended open input flag ;AN000;
113 I_am EXTOPEN_ON
,BYTE,<0> ;FT. extended open conditional flag ;AN000;
114 I_am EXTOPEN_IO_MODE
,WORD,<0>;FT. extende open io mode ;AN000;
115 I_am SAVE_DI
,WORD ;FT. extende open saved DI ;AN000;
116 I_am SAVE_ES
,WORD ;FT. extende open saved ES ;AN000;
117 I_am SAVE_DX
,WORD ;FT. extende open saved DX ;AN000;
118 I_am SAVE_CX
,WORD ;FT. extende open saved CX ;AN000;
119 I_am SAVE_BX
,WORD ;FT. extende open saved BX ;AN000;
120 I_am SAVE_SI
,WORD ;FT. extende open saved SI ;AN000;
121 I_am SAVE_DS
,WORD ;FT. extende open saved DS ;AN000;
122 I_am HIGH_SECTOR
,WORD,<0> ;>32mb higher sector # ;AN000;
123 I_am HIGH_SECTOR_TEMP
,WORD,<0>;>32mb high sector # ;AN000;
124 I_am DISK_FULL
,BYTE ;>32mb indicating disk full when 1 ;AN000;
125 I_am TEMP_VAR
,WORD ; temporary variable for everyone ;AN000;
126 I_am TEMP_VAR2
,WORD ; temporary variable 2 for everyone ;AN000;
127 I_am DrvErr
,BYTE ; used to save drive error ;AN000;
128 I_am DOS34_FLAG
,WORD,<0> ; common flag for DOS 3.4 ;AN000;
129 I_am NO_FILTER_PATH
,DWORD ; pointer to orignal path ;AN000;
130 I_am NO_FILTER_DPATH
,DWORD ; pointer to orignal path of destination;AN000;
131 I_am Callback_SS
,WORD ;AN000; call back SS for system call
132 I_am Callback_SP
,WORD ;AN000; call back SP for system call
133 I_am Callback_flag
,BYTE,<0> ;AN000; call back flag
136 ; make those pushes fast!!!
138 StackSize
= 180h
; gross but effective
139 ;;;StackSize = 300h ; This is a "trial" change IBM hasn't
140 ;;; ; made up their minds about
143 ; WARNING!!!! DskStack may grow into AUXSTACK due to interrupt service.
144 ; This is NO problem as long as AUXSTACK comes immediately before DSKSTACK
147 PUBLIC RENAMEDMA
,AuxStack
,DskStack
,IOStack
148 RENAMEDMA
LABEL BYTE ; See DOS_RENAME
150 DB StackSize
DUP (?
) ;
153 DB StackSize
DUP (?
) ;
156 DB StackSize
DUP (?
) ;
160 ; patch space for Boca folks.
161 ; Say What????!!! This does NOT go into the swappable area!
162 ; NOTE: We include the decl of ibmpatch in ms-dos even though it is not needed.
163 ; This allows the REDIRector to work on either IBM or MS-DOS.
167 I_am PRINTER_FLAG
,BYTE,<0> ; [SYSTEM] status of PRINT utility
168 I_am VOLCHNG_FLAG
,BYTE,<0> ; [SYSTEM] true if volume label created
169 I_am VIRTUAL_OPEN
,BYTE,<0> ; [SYSTEM] non-zero if we opened a virtual file
171 ; Following 4 variables moved to MSDATA.asm from MSTABLE.asm (P4986)
172 I_am FSeek_drive
,BYTE ;AN000; fastseek drive #
173 I_am FSeek_firclus
,WORD ;AN000; fastseek first cluster #
174 I_am FSeek_logclus
,WORD ;AN000; fastseek logical cluster #
175 I_am FSeek_logsave
,WORD ;AN000; fastseek returned log clus #
176 I_am ACT_PAGE
,WORD,<-1> ;;;;;;; ;BL ; active EMS page ;AN000;
182 ; THE FOLLOWING BYTE MUST BE HERE, IMMEDIATELY FOLLOWING SWAP_END. IT CANNOT
183 ; BE USED. If the size of the swap data area is ODD, it will be rounded up
184 ; to include this byte.
187 DB (512+80+32-(SWAP_END
-ibmpatch
)) DUP (?
)