diff options
| author | 2024-04-25 21:24:10 +0100 | |
|---|---|---|
| committer | 2024-04-25 22:32:27 +0000 | |
| commit | 2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch) | |
| tree | 80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/INC/IFSSYM.INC | |
| parent | Merge pull request #430 from jpbaltazar/typoptbr (diff) | |
| download | ms-dos-main.tar.gz ms-dos-main.tar.xz ms-dos-main.zip | |
Diffstat (limited to 'v4.0/src/INC/IFSSYM.INC')
| -rw-r--r-- | v4.0/src/INC/IFSSYM.INC | 670 |
1 files changed, 670 insertions, 0 deletions
diff --git a/v4.0/src/INC/IFSSYM.INC b/v4.0/src/INC/IFSSYM.INC new file mode 100644 index 0000000..716c651 --- /dev/null +++ b/v4.0/src/INC/IFSSYM.INC | |||
| @@ -0,0 +1,670 @@ | |||
| 1 | PAGE ,132 ; | ||
| 2 | ; SCCSID = @(#)ifssym.inc 1.0 87/05/11 | ||
| 3 | ;****************************************************************************** | ||
| 4 | ; IFS Symbol File | ||
| 5 | ; | ||
| 6 | ; REVISION HISTORY: | ||
| 7 | ; A000 Original version 4.00 May 1987 | ||
| 8 | ; A001 DCR 158 - merge unc info in attach start/status requests 8/87 RGAZZIA | ||
| 9 | ; A002 DCR 187 - ctrl req renumber, make attach type byte 8/87 RGAZZIA | ||
| 10 | ; A003 PTM 764 - printer attach problems 8/87 RGAZZIA | ||
| 11 | ; A004 PTM ???? - Write Only locks on Read/Write 10/27 FEIGENBAUM | ||
| 12 | ; A005 DCR 285 - remove Extended Attribute/Lock support 1/88 RG | ||
| 13 | ; A006 PTM 2827 error proc 1/88 RG | ||
| 14 | ; A007 PTM 3334- reset envirn subfunc to eop 2/88 RMG | ||
| 15 | ; A008 PTM 3745- commit across net problem due to sft flags problem 3/88 RMG | ||
| 16 | ; A009 PTM 3810- new sft unique id in sff 3/88 RMG | ||
| 17 | ; A010 PTM 4392- ditch sf_iomode,cp 4/18/88 RMG | ||
| 18 | ; | ||
| 19 | ; LOD - 414 | ||
| 20 | ; | ||
| 21 | ;****************************************************************************** | ||
| 22 | ;AN000; | ||
| 23 | SUBTTL IFS Driver Header ;AN000; | ||
| 24 | PAGE ;AN000; | ||
| 25 | ;AN000; | ||
| 26 | IFSHEADER STRUC ;AN000; | ||
| 27 | IFS_NEXT DD -1 ; Next header in list (-1=end) ;AN000; | ||
| 28 | IFS_NAME DB " " ; IFS name ;AN000; | ||
| 29 | IFS_ATTRIBUTE DW ? ; Attributes ;AN000; | ||
| 30 | IFS_VERSION DW 0 ; Request level supported ;AN000; | ||
| 31 | IFS_DOSCALL@ DD ? ; DOS interface routine ;AN000; | ||
| 32 | ; (set by TUPPER before the init call) ;AN000; | ||
| 33 | IFS_CALL@ DW ? ; Function entry point ;AN000; | ||
| 34 | IFSHEADER ENDS ;AN000; | ||
| 35 | ;AN000; | ||
| 36 | ; ifs_attribute equates ;AN000; | ||
| 37 | ;AN000; | ||
| 38 | IFSDEVICE EQU 8000H ; Supports single device/file functions ;AN000; | ||
| 39 | IFSDISK EQU 4000H ; Supports multi-file functions ;AN000; | ||
| 40 | IFSUNC EQU 2000H ; Support UNC (nameless) connection ;AN000; | ||
| 41 | IFSREMOTE EQU 0800H ; File system is remote ;AN000; | ||
| 42 | IFSFILTER EQU 0400H ; FS will filter (if off, use DOS ;AN000; | ||
| 43 | ; standard, cap & 8.3) ;AN000; | ||
| 44 | IFSIOCTL EQU 0002H ; Supports IOCTL functions ;AN000; | ||
| 45 | IFSUSESHARE EQU 0001H ; Uses DOS share support (vs own share) ;AN000; | ||
| 46 | ;AN000; | ||
| 47 | ;AN000; | ||
| 48 | SUBTTL IFSRH - IFS Request Header ;AN000; | ||
| 49 | PAGE ;AN000; | ||
| 50 | ;AN000; | ||
| 51 | ; IFS Request Header ;AN000; | ||
| 52 | ;AN000; | ||
| 53 | IFSRH STRUC ;AN000; | ||
| 54 | IFSR_LENGTH DW ? ; Total length of request ;AN000; | ||
| 55 | IFSR_FUNCTION DB ? ; Requested function ;AN000; | ||
| 56 | IFSR_RETCODE DW ? ; Explicit error ;AN000; | ||
| 57 | IFSR_RETCLASS DB ? ; Error class ;AN000; | ||
| 58 | IFSR_RESV1 DB 16 DUP(0) ; DOS reserved ;AN000; | ||
| 59 | IFSR_FCN_PARMS DB 50 DUP(0) ; Additional parameters ;AN000; | ||
| 60 | IFSRH ENDS ;AN000; | ||
| 61 | ;AN000; | ||
| 62 | ; IFSR_FUNCTION codes ;AN000; | ||
| 63 | ; Control requests: ;AN000; | ||
| 64 | IFSINIT EQU 1 ;AN000; | ||
| 65 | IFSATTSTART EQU 2 ;AN000; | ||
| 66 | IFSATTSTAT EQU 3 ;AC002; | ||
| 67 | IFSATTEND EQU 4 ;AC002; | ||
| 68 | IFSEXECAPI EQU 5 ;AC002; | ||
| 69 | IFSCRITMSG EQU 6 ;AC002; | ||
| 70 | IFSUPDATECB EQU 7 ;AC002; | ||
| 71 | ;AN000; | ||
| 72 | ; IFSR_APIFUNC codes: ;AN000; | ||
| 73 | ; Int 21 mapped requests: ;AN000; | ||
| 74 | IFSDRIVERESET EQU 1 ;AN000; | ||
| 75 | IFSDISKATTR EQU 2 ;AN000; | ||
| 76 | IFSMKDIR EQU 3 ;AN000; | ||
| 77 | IFSRMDIR EQU 4 ;AN000; | ||
| 78 | IFSCHDIR EQU 5 ;AN000; | ||
| 79 | IFSDELFILE EQU 6 ;AN000; | ||
| 80 | IFSRENFILE EQU 7 ;AN000; | ||
| 81 | IFSSEARCHFILE EQU 8 ;AN000; | ||
| 82 | IFSOPENFILE EQU 9 ;AN000; | ||
| 83 | IFSLSEEKFILE EQU 10 ;AN000; | ||
| 84 | IFSREADFILE EQU 11 ;AN000; | ||
| 85 | IFSWRITEFILE EQU 12 ;AN000; | ||
| 86 | IFSLOCKFILE EQU 13 ;AN000; | ||
| 87 | IFSCLOSEFILE EQU 14 ;AN000; | ||
| 88 | IFSFILEATTR EQU 15 ;AN000; | ||
| 89 | IFSDEPIOCTL EQU 16 ;AN000; | ||
| 90 | IFSDEVIOCTL EQU 17 ;AN000; | ||
| 91 | IFSEOP EQU 18 ;AN000; | ||
| 92 | IFSEOCID EQU 19 ;AN000; | ||
| 93 | ;AN000; | ||
| 94 | SUBTTL Control Request Parameter Macro ;AN000; | ||
| 95 | PAGE ;AN000; | ||
| 96 | ;AN000; | ||
| 97 | IFSR_FCN_DEF MACRO fcn ;AN000; | ||
| 98 | ;AN000; | ||
| 99 | IFIDN <fcn>,<INIT> ;AN000; | ||
| 100 | IFSR_PARMS@ = DWORD PTR IFSR_FCN_PARMS ; command parameters ;AN000; | ||
| 101 | IFSR_RESSIZE = WORD PTR IFSR_FCN_PARMS+4 ; driver total size ;AN000; | ||
| 102 | LENGTH_INIT EQU IFSR_RESSIZE-IFSRH+2 ;AN000; | ||
| 103 | ;AN000; | ||
| 104 | ELSE ;AN000; | ||
| 105 | IFIDN <fcn>,<ATTSTART> ;AN000; | ||
| 106 | IFSR_TYPE = BYTE PTR IFSR_FCN_PARMS ; attach type ;AC001; | ||
| 107 | IFSR_PARMS@ = DWORD PTR IFSR_FCN_PARMS+2 ; command parameters ;AN000; | ||
| 108 | IFSR_DEVICE_CB@ = DWORD PTR IFSR_FCN_PARMS+6 ; CD/DF ;AN000; | ||
| 109 | IFSR_USER_WORD = WORD PTR IFSR_FCN_PARMS+10 ; for unc deviceless attach ;AN001; | ||
| 110 | LENGTH_ATTSTART EQU IFSR_USER_WORD-IFSRH+2 ;AC001;/;AC004; | ||
| 111 | ;AN000; | ||
| 112 | ELSE ;AN000; | ||
| 113 | IFIDN <fcn>,<ATTSTAT> ;AN000; | ||
| 114 | IFSR_TYPE = BYTE PTR IFSR_FCN_PARMS ; attach type ;AC001; | ||
| 115 | IFSR_PARMS@ = DWORD PTR IFSR_FCN_PARMS+2 ; command parameters ;AN000; | ||
| 116 | IFSR_DEVICE_CB@ = DWORD PTR IFSR_FCN_PARMS+6 ; CD/DF ;AN000; | ||
| 117 | IFSR_USER_WORD = WORD PTR IFSR_FCN_PARMS+10 ; for unc deviceless attach ;AN001; | ||
| 118 | IFSR_MAX_XMITT_SIZE = WORD PTR IFSR_FCN_PARMS+12 ; redir-maximum transmit size ;AN001; | ||
| 119 | IFSR_NET_NAME_ID = WORD PTR IFSR_FCN_PARMS+14 ; redir-net name id ;AN001; | ||
| 120 | IFSR_LSN = WORD PTR IFSR_FCN_PARMS+16 ; redir-low byte=local session # ;AN001; | ||
| 121 | IFSR_DEVICE_STATUS = BYTE PTR IFSR_FCN_PARMS+18 ; redir-interesting bits ;AN001; | ||
| 122 | LENGTH_ATTSTAT EQU IFSR_DEVICE_STATUS-IFSRH+2 ;AC001; | ||
| 123 | ;AN000; | ||
| 124 | ELSE ;AN000; | ||
| 125 | IFIDN <fcn>,<ATTEND> ;AN000; | ||
| 126 | IFSR_DEVICE_CB@ = DWORD PTR IFSR_FCN_PARMS ; CD/DF ;AN000; | ||
| 127 | IFSR_NAME@ = DWORD PTR IFSR_FCN_PARMS+4 ; UNC deviceless detach ;AN000; | ||
| 128 | LENGTH_ATTEND EQU IFSR_NAME@-IFSRH+4 ;AN000; | ||
| 129 | ;AN000; | ||
| 130 | ELSE ;AN000; | ||
| 131 | IFIDN <fcn>,<EXECAPI> ;AN000; | ||
| 132 | IFSR_APIFUNC = BYTE PTR IFSR_FCN_PARMS ; API function code ;AN000; | ||
| 133 | IFSR_ERROR_CLASS = BYTE PTR IFSR_FCN_PARMS+1 ; DOS extended error class ;AN000; | ||
| 134 | IFSR_ERROR_ACTION = BYTE PTR IFSR_FCN_PARMS+2 ; DOS extended error action ;AN000; | ||
| 135 | IFSR_ERROR_LOCUS = BYTE PTR IFSR_FCN_PARMS+3 ; DOS extended error locus ;AN000; | ||
| 136 | IFSR_ALLOWED = BYTE PTR IFSR_FCN_PARMS+4 ; DOS extended error locus ;AN000; | ||
| 137 | IFSR_I24_COUNT = BYTE PTR IFSR_FCN_PARMS+5 ; critical error retry count ;AN000; | ||
| 138 | ; 0=first time ;AN000; | ||
| 139 | IFSR_I24_RESP = BYTE PTR IFSR_FCN_PARMS+6 ; critical error response ;AN000; | ||
| 140 | ; 0=ignore 1=retry ;AN000; | ||
| 141 | IFSR_DEVICE_CB@ = DWORD PTR IFSR_FCN_PARMS+8 ; device (CD or DF) ;AN000; | ||
| 142 | IFSR_OPEN_CB@ = DWORD PTR IFSR_FCN_PARMS+12 ; open file instance (SF) ;AN000; | ||
| 143 | IFSR_API_PARMS = BYTE PTR IFSR_FCN_PARMS+16 ;AN000; | ||
| 144 | ;AN000; | ||
| 145 | ELSE ;AN000; | ||
| 146 | IFIDN <fcn>,<CRITMSG> ;AN000; | ||
| 147 | IFSR_MSG@ = DWORD PTR IFSR_FCN_PARMS ; message buffer address ;AN000; | ||
| 148 | IFSR_MSG_TYPE = BYTE PTR IFSR_FCN_PARMS+4 ; message type ;AN000; | ||
| 149 | ; 1=message is printed in form ;AN000; | ||
| 150 | ; <message> ;AN000; | ||
| 151 | ; Abort,Retry,Ignore,Fail ;AN000; | ||
| 152 | ; 0=message is printed in form ;AN000; | ||
| 153 | ; <message> error (read/writ)ing (drive/device) XXX ; ;AN000; | ||
| 154 | ; Abort,Retry,Ignore,Fail ;AN000; | ||
| 155 | ;AN000; | ||
| 156 | LENGTH_CRITMSG EQU IFSR_MSG_TYPE-IFSRH+2 ;AN000; | ||
| 157 | ;AN000; | ||
| 158 | ELSE ;AN000; | ||
| 159 | IFIDN <fcn>,<UPDATECB> ;AN000; | ||
| 160 | IFSR_CB@ = DWORD PTR IFSR_FCN_PARMS ; control block address ;AN000; | ||
| 161 | IFSR_TYPE = BYTE PTR IFSR_FCN_PARMS+4 ; control block type ;AN000; | ||
| 162 | IFSOPEN EQU 0 ; open instance (SFT) entry ;AN000; | ||
| 163 | IFSCB EQU -1 ; see control block type field ;AN000; | ||
| 164 | LENGTH_UPDATECB EQU IFSR_TYPE-IFSRH+2 ;AN000; | ||
| 165 | ;AN000; | ||
| 166 | ENDIF ;AN000; | ||
| 167 | ENDIF ;AN000; | ||
| 168 | ENDIF ;AN000; | ||
| 169 | ENDIF ;AN000; | ||
| 170 | ENDIF ;AN000; | ||
| 171 | ENDIF ;AN000; | ||
| 172 | ENDIF ;AN000; | ||
| 173 | ENDM ;AN000; | ||
| 174 | ;AN000; | ||
| 175 | SUBTTL INT 21H Mapped Request Parameter Macro ;AN000; | ||
| 176 | PAGE ;AN000; | ||
| 177 | ;AN000; | ||
| 178 | IFSR_API_DEF MACRO fcn ;AN000; | ||
| 179 | ;AN000; | ||
| 180 | IFIDN <fcn>,<DRIVERESET> ;AN000; | ||
| 181 | IFSR_FUNC = BYTE PTR IFSR_API_PARMS ; 0=flush ;AN000; | ||
| 182 | LENGTH_DRIVERESET EQU IFSR_FUNC-IFSRH+2 ;AN000; | ||
| 183 | ;AN000; | ||
| 184 | ELSE ;AN000; | ||
| 185 | IFIDN <fcn>,<DISKATTR> ;AN000; | ||
| 186 | IFSR_ALLOCUNITS = WORD PTR IFSR_API_PARMS ; # allocation units ;AN000; | ||
| 187 | IFSR_ALLOCSIZE = WORD PTR IFSR_API_PARMS+2 ; allocation unit sectors ;AN000; | ||
| 188 | IFSR_SECTSIZE = WORD PTR IFSR_API_PARMS+4 ; sector size ;AN000; | ||
| 189 | IFSR_AVAILALLOC = WORD PTR IFSR_API_PARMS+6 ; free allocation units ;AN000; | ||
| 190 | IFSR_FSID = BYTE PTR IFSR_API_PARMS+8 ; file system media id ;AN000; | ||
| 191 | LENGTH_DISKATTR EQU IFSR_FSID-IFSRH+2 ;AN000; | ||
| 192 | ;AN000; | ||
| 193 | ELSE ;AN000; | ||
| 194 | IFIDN <fcn>,<MKDIR> ;AN000; | ||
| 195 | IFSR_NAME@ = DWORD PTR IFSR_API_PARMS ; asciiz name to process ;AN000; | ||
| 196 | LENGTH_MKDIR EQU IFSR_NAME@-IFSRH+4 ;AN000; | ||
| 197 | ;AN000; | ||
| 198 | ELSE ;AN000; | ||
| 199 | IFIDN <fcn>,<RMDIR> ;AN000; | ||
| 200 | IFSR_NAME@ = DWORD PTR IFSR_API_PARMS ; asciiz name to process ;AN000; | ||
| 201 | LENGTH_RMDIR EQU IFSR_NAME@-IFSRH+4 ;AN000; | ||
| 202 | ;AN000; | ||
| 203 | ELSE ;AN000; | ||
| 204 | IFIDN <fcn>,<CHDIR> ;AN000; | ||
| 205 | IFSR_NAME@ = DWORD PTR IFSR_API_PARMS ; asciiz name to process ;AN000; | ||
| 206 | LENGTH_CHDIR EQU IFSR_NAME@-IFSRH+4 ;AN000; | ||
| 207 | ;AN000; | ||
| 208 | ELSE ;AN000; | ||
| 209 | IFIDN <fcn>,<DELFILE> ;AN000; | ||
| 210 | IFSR_MATCHATTR_47 = WORD PTR IFSR_API_PARMS ; format 00000000e0a00shr ;AN000; | ||
| 211 | IFSR_NAME@ = DWORD PTR IFSR_API_PARMS+2 ; file to delete ;AN000; | ||
| 212 | LENGTH_DELFILE EQU IFSR_NAME@-IFSRH+4 ;AN000; | ||
| 213 | ;AN000; | ||
| 214 | ELSE ;AN000; | ||
| 215 | IFIDN <fcn>,<RENFILE> ;AN000; | ||
| 216 | IFSR_MATCHATTR = WORD PTR IFSR_API_PARMS ; format 00000000e0a00shr ;AN000; | ||
| 217 | IFSR_NAME1@ = DWORD PTR IFSR_API_PARMS+2 ; file to rename ;AN000; | ||
| 218 | IFSR_NAME2@ = DWORD PTR IFSR_API_PARMS+6 ; new file name ;AN000; | ||
| 219 | LENGTH_RENFILE EQU IFSR_NAME2@-IFSRH+4 ;AN000; | ||
| 220 | ;AN000; | ||
| 221 | ELSE ;AN000; | ||
| 222 | IFIDN <fcn>,<SEARCHFILE> ;AN000; | ||
| 223 | IFSR_SUBFUNC = BYTE PTR IFSR_API_PARMS ; 1=first, 2=next ;AN000; | ||
| 224 | IFSR_CONTINFO@ = DWORD PTR IFSR_API_PARMS+2 ; continuation info addr ;AN000; | ||
| 225 | IFSR_MATCHATTR = WORD PTR IFSR_API_PARMS+6 ; format 0000000re0advshr (1st) ;AN000; | ||
| 226 | IFSR_NAME@ = DWORD PTR IFSR_API_PARMS+8 ; asciiz name to process (1st) ;AN000; | ||
| 227 | LENGTH_SEARCHFILE EQU IFSR_NAME@-IFSRH+4 ;AN000; | ||
| 228 | ;AN000; | ||
| 229 | ELSE ;AN000; | ||
| 230 | IFIDN <fcn>,<OPENFILE> ;AN000; | ||
| 231 | IFSR_MODE = WORD PTR IFSR_API_PARMS ; open mode ;AN000; | ||
| 232 | ; format: 0WF0000CISSS0AAA ;AN000; | ||
| 233 | ; AAA=access code 0=read,1=write ;AN000; | ||
| 234 | ; 2=read/write ;AN000; | ||
| 235 | ; SSS=sharing mode 0=compatibility ;AN000; | ||
| 236 | ; 1=deny r/w, 2=deny write ;AN000; | ||
| 237 | ; 3=deny read, 4=deny none ;AN000; | ||
| 238 | ; I 0=pass handle to child, 1=no inheri;AN000;t | ||
| 239 | ; C 0=validate cp, 1=no cp check ;AN000; | ||
| 240 | ; F 0=int 24H, 1=return error on ;AN000; | ||
| 241 | ; this open & any I/O to this handle ;AN000; | ||
| 242 | ; W 0=no commit, 1=auto-commit on ;AN000; | ||
| 243 | ; write ;AN000; | ||
| 244 | IFSR_FLAG = WORD PTR IFSR_API_PARMS+2 ; function control; format=CE ;AN000; | ||
| 245 | ; C=does not exist action ;AN000; | ||
| 246 | ; 0=fail, 1=create ;AN000; | ||
| 247 | ; E=exists action ;AN000; | ||
| 248 | ; 0=fail, 1=open, 2=replace/open ;AN000; | ||
| 249 | IFSR_CP = WORD PTR IFSR_API_PARMS+4 ; global code page ;AN000; | ||
| 250 | IFSR_CPSW = BYTE PTR IFSR_API_PARMS+6 ; CPSW flag ;AN000; | ||
| 251 | IFSR_NAME@ = DWORD PTR IFSR_API_PARMS+8 ; asciiz name to open ;AN000; | ||
| 252 | IFSR_PARMS@ = DWORD PTR IFSR_API_PARMS+12 ; format: | ||
| 253 | ; DD EA address | ||
| 254 | ; DW #parms | ||
| 255 | ; DB IOMODE ID ;AN000; | ||
| 256 | ; DW IO Mode ;AN000; | ||
| 257 | IFSR_MATCHATTR = WORD PTR IFSR_API_PARMS+16 ; format 00000000e0advshr ;AN000; | ||
| 258 | IFSR_ACTION = WORD PTR IFSR_API_PARMS+18 ;AN000; | ||
| 259 | LENGTH_OPENFILE EQU IFSR_ACTION-IFSRH+2 ;AN000; | ||
| 260 | ;AN000; | ||
| 261 | ELSE ;AN000; | ||
| 262 | IFIDN <fcn>,<LSEEKFILE> ;AN000; | ||
| 263 | IFSR_MODE = BYTE PTR IFSR_API_PARMS ; see INT 21H AH=42H ;AN000; | ||
| 264 | IFSR_POSITION = DWORD PTR IFSR_API_PARMS+2 ; displacement of LSEEK ;AN000; | ||
| 265 | LENGTH_LSEEKFILE EQU IFSR_POSITION-IFSRH+4 ;AN000; | ||
| 266 | ;AN000; | ||
| 267 | ELSE ;AN000; | ||
| 268 | IFIDN <fcn>,<READFILE> ;AN000; | ||
| 269 | ;IFSR_MODE = BYTE PTR IFSR_API_PARMS ;AD005; | ||
| 270 | IFSR_COUNT = WORD PTR IFSR_API_PARMS+2 ;AN000; | ||
| 271 | IFSR_BUFFER@ = DWORD PTR IFSR_API_PARMS+4 ;AN000; | ||
| 272 | LENGTH_READFILE EQU IFSR_BUFFER@-IFSRH+4 ;AN000; | ||
| 273 | ;AN000; | ||
| 274 | ELSE ;AN000; | ||
| 275 | IFIDN <fcn>,<WRITEFILE> ;AN000; | ||
| 276 | ;IFSR_MODE = BYTE PTR IFSR_API_PARMS ;AD005; | ||
| 277 | IFSR_COUNT = WORD PTR IFSR_API_PARMS+2 ;AN000; | ||
| 278 | IFSR_BUFFER@ = DWORD PTR IFSR_API_PARMS+4 ;AN000; | ||
| 279 | LENGTH_WRITEFILE EQU IFSR_BUFFER@-IFSRH+4 ;AN000; | ||
| 280 | ;AN000; | ||
| 281 | ELSE ;AN000; | ||
| 282 | IFIDN <fcn>,<LOCKFILE> ;AN000; | ||
| 283 | ;IFSR_MODE = BYTE PTR IFSR_API_PARMS ; bit 0: 0=lock all operations ;AD005; | ||
| 284 | ; 1=lock only write operations ;AD005; | ||
| 285 | IFSR_FUNC = BYTE PTR IFSR_API_PARMS ; 0=LOCK, 1=UNLOCK ;AC005; | ||
| 286 | ;IFSR_COUNT = WORD PTR IFSR_API_PARMS+2 ;AD005; | ||
| 287 | ;IFSR_RANGE@ = DWORD PTR IFSR_API_PARMS+4 ;AD005; | ||
| 288 | IFSR_LK_POSITION = DWORD PTR IFSR_API_PARMS+2 ;AN005; | ||
| 289 | IFSR_LK_LENGTH = DWORD PTR IFSR_API_PARMS+6 ;AN005; | ||
| 290 | LENGTH_LOCKFILE EQU IFSR_LK_LENGTH-IFSRH+4 ;AC005; | ||
| 291 | ;AN000; | ||
| 292 | ELSE ;AN000; | ||
| 293 | IFIDN <fcn>,<CLOSEFILE> ;AN000; | ||
| 294 | IFSR_FUNC = BYTE PTR IFSR_API_PARMS ; 0=CLOSE, 1=COMMIT ;AN000; | ||
| 295 | LENGTH_CLOSEFILE EQU IFSR_FUNC-IFSRH+2 ;AN000; | ||
| 296 | ;AN000; | ||
| 297 | ELSE ;AN000; | ||
| 298 | IFIDN <fcn>,<FILEATTR> ;AN000; | ||
| 299 | IFSR_FUNC = BYTE PTR IFSR_API_PARMS ; 0=get, 1=set by handle ;AN000; | ||
| 300 | ; 2=get, 3=set by name ;AN000; | ||
| 301 | IFSR_SUBFUNC = BYTE PTR IFSR_API_PARMS+2 ; 0=none,2=EA List, 3-EA names ;AN000; | ||
| 302 | ; 2,3 used only on IFSR_FUNC=0,1 ;AN000; | ||
| 303 | IFSR_BUFFER1@ = DWORD PTR IFSR_API_PARMS+4 ; if IFSR_TYPE=2,3 ;AN000; | ||
| 304 | IFSR_BUFFER2@ = DWORD PTR IFSR_API_PARMS+8 ; if IFSR_TYPE=2 ;AN000; | ||
| 305 | IFSR_COUNT = WORD PTR IFSR_API_PARMS+12 ; if IFSR_TYPE=2,3 ;AN000; | ||
| 306 | ; Following present only if IFSR_FUNC=2,3 ;AN000; | ||
| 307 | IFSR_MATCHATTR = WORD PTR IFSR_API_PARMS+14 ; format 0000000re0advshr ;AN000; | ||
| 308 | IFSR_NAME@ = DWORD PTR IFSR_API_PARMS+16 ; ASCIIZ file name ;AN000; | ||
| 309 | IFSR_SIZE = DWORD PTR IFSR_API_PARMS+20 ; file size ;AN000; | ||
| 310 | IFSR_DATE = WORD PTR IFSR_API_PARMS+24 ; file date ;AN000; | ||
| 311 | IFSR_TIME = WORD PTR IFSR_API_PARMS+26 ; file time ;AN000; | ||
| 312 | IFSR_ATTR = WORD PTR IFSR_API_PARMS+28 ; format 0000000re0advshr ;AN000; | ||
| 313 | LENGTH_FILEATTR EQU IFSR_ATTR-IFSRH+2 ;AN000; | ||
| 314 | ;AN000; | ||
| 315 | ELSE ;AN000; | ||
| 316 | IFIDN <fcn>,<DEPIOCTL> ;AN000; | ||
| 317 | IFSR_FUNC = BYTE PTR IFSR_API_PARMS ; 00 Generic IOCTL by device # ;AN000; | ||
| 318 | ; 01 Generic IOCTL by handle ;AN000; | ||
| 319 | ; 02 FS IOCTL query OS type ;AN000; | ||
| 320 | IFSR_BUFFER@ = DWORD PTR IFSR_API_PARMS+2 ; set on queries ;AN000; | ||
| 321 | IFSR_BUFSIZE = WORD PTR IFSR_API_PARMS+6 ; Buffer size set for IFSR_FUNC=2 ;AN000; | ||
| 322 | ; FUNC dependent parameters ;AN000; | ||
| 323 | ; For generic ;AN000; | ||
| 324 | IFSR_CATEGORY = BYTE PTR IFSR_API_PARMS+8 ; generic subfunctions ;AN000; | ||
| 325 | IFSR_CTLFUNC = BYTE PTR IFSR_API_PARMS+9 ; see INT 21H AH=6BH ;AN000; | ||
| 326 | LENGTH_DEPIOCTL EQU IFSR_CTLFUNC-IFSRH+1 ;AN000; | ||
| 327 | ;AN000; | ||
| 328 | ELSE ;AN000; | ||
| 329 | IFIDN <fcn>,<DEVIOCTL> ;AN000; | ||
| 330 | IFSR_FUNC = BYTE PTR IFSR_API_PARMS ; 00 Generic IOCTL by device # ;AN000; | ||
| 331 | ; 01 Generic IOCTL by handle ;AN000; | ||
| 332 | ; 02 FS IOCTL query OS type ;AN000; | ||
| 333 | IFSR_BUFFER@ = DWORD PTR IFSR_API_PARMS+2 ; set on queries ;AN000; | ||
| 334 | IFSR_BUFSIZE = WORD PTR IFSR_API_PARMS+6 ; buffer size set for IFSR_FUNC=2 ;AN000; | ||
| 335 | ; FUNC dependent parameters ;AN000; | ||
| 336 | ; For generic ;AN000; | ||
| 337 | IFSR_CATEGORY = BYTE PTR IFSR_API_PARMS+8 ; generic subfunctions ;AN000; | ||
| 338 | IFSR_CTLFUNC = BYTE PTR IFSR_API_PARMS+9 ; see INT 21H AH=6BH ;AN000; | ||
| 339 | LENGTH_DEVIOCTL EQU IFSR_CTLFUNC-IFSRH+1 ;AN000; | ||
| 340 | ;AN000; | ||
| 341 | ELSE ;AN000; | ||
| 342 | IFIDN <fcn>,<EOP> ;AN000; | ||
| 343 | IFSR_PID = WORD PTR IFSR_API_PARMS ; process ID ;AN000; | ||
| 344 | IFSR_SUBFUNC = BYTE PTR IFSR_API_PARMS+2 ; 0=NORMAL EXIT, 1=ABORT EXIT ;AN000; | ||
| 345 | LENGTH_EOP EQU IFSR_SUBFUNC-IFSRH+2 ;AN000; | ||
| 346 | ;AN000; | ||
| 347 | ELSE ;AN000; | ||
| 348 | IFIDN <fcn>,<EOCID> ;AN000; | ||
| 349 | IFSR_UID = WORD PTR IFSR_API_PARMS ; process ID ;AN000; | ||
| 350 | LENGTH_EOCID EQU IFSR_UID-IFSRH+2 ;AN000; | ||
| 351 | ;AN000; | ||
| 352 | ENDIF ;AN000; | ||
| 353 | ENDIF ;AN000; | ||
| 354 | ENDIF ;AN000; | ||
| 355 | ENDIF ;AN000; | ||
| 356 | ENDIF ;AN000; | ||
| 357 | ENDIF ;AN000; | ||
| 358 | ENDIF ;AN000; | ||
| 359 | ENDIF ;AN000; | ||
| 360 | ENDIF ;AN000; | ||
| 361 | ENDIF ;AN000; | ||
| 362 | ENDIF ;AN000; | ||
| 363 | ENDIF ;AN000; | ||
| 364 | ENDIF ;AN000; | ||
| 365 | ENDIF ;AN000; | ||
| 366 | ENDIF ;AN000; | ||
| 367 | ENDIF ;AN000; | ||
| 368 | ENDIF ;AN000; | ||
| 369 | ENDIF ;AN000; | ||
| 370 | ENDIF ;AN000; | ||
| 371 | ENDM ;AN000; | ||
| 372 | ;AN000; | ||
| 373 | SUBTTL Request Data ;AN000; | ||
| 374 | PAGE ;AN000; | ||
| 375 | ;AN000; | ||
| 376 | ; Attach types ;AN000; | ||
| 377 | ;;;aliasTYPE_ALIAS EQU 0 ;AN000; | ||
| 378 | TYPE_DEVICE EQU 1 ;AN000; | ||
| 379 | TYPE_DRIVE EQU 2 ;AN000; | ||
| 380 | TYPE_NET_DEVICE EQU 3 ;AN000; | ||
| 381 | TYPE_NET_DRIVE EQU 4 ;AN000; | ||
| 382 | ; Attach cmds ;AN000; | ||
| 383 | GET_MODE EQU 0 ;AN000; | ||
| 384 | SET_MODE EQU 1 ;AN000; | ||
| 385 | GET_ASSIGN_LIST EQU 2 ;AN000; | ||
| 386 | DEFINE_MACRO EQU 3 ;AN000; | ||
| 387 | CANCEL_ATTACH EQU 4 ;AN000; | ||
| 388 | ;AN000; | ||
| 389 | ATTACH_PARMS STRUC ;AN000; | ||
| 390 | AP_COUNT DW ? ;AN000; | ||
| 391 | AP_STRING DB ? ;AN000; | ||
| 392 | ATTACH_PARMS ENDS ;AN000; | ||
| 393 | ;AN000; | ||
| 394 | ; Critical Error Message types ;AN000; | ||
| 395 | CRIT_MSG_TYPE_1 equ 1 | ||
| 396 | TYPE1 EQU 1 ;AN000; | ||
| 397 | TYPE0 EQU 0 ;AN000; | ||
| 398 | ;AN000; | ||
| 399 | ; Control Block types ;AN000; | ||
| 400 | CBTYPE_SFF EQU 0 ;AN000; | ||
| 401 | CBTYPE_CD EQU 1 ;AN000; | ||
| 402 | CBTYPE_DF EQU 2 ;AN000; | ||
| 403 | CBTYPE_DUMMYCD EQU 3 ;AN000; | ||
| 404 | ;AN000; | ||
| 405 | ; Drive Reset equates ;AN000; | ||
| 406 | FUNC_FLUSH EQU 0 ;AN000; | ||
| 407 | FUNC_FLUSH_INVALIDATE EQU 1 ;AN000; | ||
| 408 | ;AN000; | ||
| 409 | ; Search File equates ;AN000; | ||
| 410 | IFSSEARCH_FIRST EQU 1 ;AN000; | ||
| 411 | IFSSEARCH_NEXT EQU 2 ;AN000; | ||
| 412 | ;AN000; | ||
| 413 | ; Open/Create type ;AN000; | ||
| 414 | TYPE_NONE EQU 0 ;AN000; | ||
| 415 | NOTEXIST_ACT_FAIL = 0 ;+BAF | ||
| 416 | NOTEXIST_ACT_CREATE = 1 ;+BAF | ||
| 417 | EXIST_ACT_FAIL = 0 ;+BAF | ||
| 418 | EXIST_ACT_OPEN = 1 ;+BAF | ||
| 419 | EXIST_ACT_REP_OPEN = 2 ;+BAF | ||
| 420 | |||
| 421 | FILE_OPENED = 1 | ||
| 422 | FILE_CREATED = 2 | ||
| 423 | FILE_REPLACED = 3 | ||
| 424 | ;AN000; | ||
| 425 | ; Read/Write equates ;AN000; | ||
| 426 | ;MODE_READ EQU 0 ;AD005; | ||
| 427 | ;MODE_WRITE EQU 0 ;AD005; | ||
| 428 | ;MODE_LOCK_READ EQU 1 ;AD005; | ||
| 429 | ;MODE_WRITE_UNLOCK EQU 1 ;AD005; | ||
| 430 | ;MODE_WRITE_SFPOS EQU 00H ;AD005; | ||
| 431 | ;MODE_WRITE_SFSIZE EQU 02H ;AD005; | ||
| 432 | ;MODE_ADD_MASK EQU 00000010B ; do I need this??? ;AD005; | ||
| 433 | ;AN000; | ||
| 434 | ; Lock equates ;AN000; | ||
| 435 | ;MODE_LOCK_ALL EQU 0 ;AD005; | ||
| 436 | ;MODE_LOCK_WRITE EQU 1 ;AD005; | ||
| 437 | FUNC_LOCK EQU 0 ;AN000; | ||
| 438 | FUNC_UNLOCK EQU 1 ;AN000; | ||
| 439 | ;MODE_ADD_MASK EQU 00000010B ;AD005; | ||
| 440 | ;MODE_WO_MASK EQU 10000000B ;AN004; BAF ;AD005; | ||
| 441 | ;LOCK_RANGE_STRUC STRUC ;AD005; | ||
| 442 | ; IFSR_LOCK_POSITION DD ? ;AD005; | ||
| 443 | ; IFSR_LOCK_LENGTH DD ? ;AD005; | ||
| 444 | ;LOCK_RANGE_STRUC ENDS ;AD005; | ||
| 445 | |||
| 446 | ;AN000; | ||
| 447 | ; Close equates ;AN000; | ||
| 448 | FUNC_CLOSE EQU 0 ;AN000; | ||
| 449 | FUNC_COMMIT EQU 1 ;AN000; | ||
| 450 | ;AN000; | ||
| 451 | ; LSeek equates ;AN000; | ||
| 452 | MODE2 EQU 2 ;AN000; | ||
| 453 | ;AN000; | ||
| 454 | ; File Attribute equates ;AN000; | ||
| 455 | FUNC_GET_BY_HANDLE EQU 0 ;AN000; | ||
| 456 | FUNC_SET_BY_HANDLE EQU 1 ;AN000; | ||
| 457 | FUNC_GET_BY_NAME EQU 2 ;AN000; | ||
| 458 | FUNC_SET_BY_NAME EQU 3 ;AN000; | ||
| 459 | SUBFUNC_INLINE EQU 0 ;AN000; | ||
| 460 | SUBFUNC_EA EQU 2 ;AN000; | ||
| 461 | SUBFUNC_EA_NAMES EQU 3 ;AN000; | ||
| 462 | ;AN000; | ||
| 463 | ; FS Dependent IOCTL ;AN000; | ||
| 464 | GEN_IOCTL_BY_DEVNUM EQU 0 ;AN000; | ||
| 465 | GEN_IOCTL_BY_HANDLE EQU 1 ;AN000; | ||
| 466 | QUERY_OS_TYPE EQU 2 ;AN000; | ||
| 467 | CATEGORY_FS EQU 0 ;AN000; | ||
| 468 | CATEGORY_REDIR EQU 1 ;AN000; | ||
| 469 | PRINTER_SET_STRING EQU 2 ;AN000; | ||
| 470 | PRINTER_GET_STRING EQU 3 ;AN000; | ||
| 471 | PRINTER_SET_FLAGS EQU 4 ;AN000; | ||
| 472 | PRINTER_GET_FLAGS EQU 5 ;AN000; | ||
| 473 | CTLFUNC_PRINTER_SET_STRING EQU 00100001B ;AN000; | ||
| 474 | CTLFUNC_PRINTER_GET_STRING EQU 00000001B ;AN000; | ||
| 475 | CTLFUNC_PRINTER_SET_FLAGS EQU 00100010B ;AN000; | ||
| 476 | CTLFUNC_PRINTER_GET_FLAGS EQU 00000010B ;AN000; | ||
| 477 | CTLFUNC_DEVECHOCHECK EQU 00000011B ;AN000; | ||
| 478 | CTLFUNC_GET_UNC_ITEM EQU 00000100B ;AN000; | ||
| 479 | CTLFUNC_DEVCLOSE EQU 00000101B ;AN000; | ||
| 480 | CTLFUNC_DEVOPER EQU 00000110B ;AN000; | ||
| 481 | CTLFUNC_PRINT_ON EQU 00100111B ;AN000; | ||
| 482 | CTLFUNC_PRINT_OFF EQU 00000111B ;AN000; | ||
| 483 | CLOSE_SPOOL_FILES EQU 9 ;AN000; | ||
| 484 | LENGTH_DEVECHOCHECK_BUFFER EQU 1 ;AN000; | ||
| 485 | ;AN000; | ||
| 486 | ; FS Device IOCTL ;AN000; | ||
| 487 | READ_DEVICE EQU 2 ;AN000; | ||
| 488 | WRITE_DEVICE EQU 3 ;AN000; | ||
| 489 | CHAR_GENERIC EQU 0CH ;AN000; | ||
| 490 | BLOCK_GENERIC EQU 0DH ;AN000; | ||
| 491 | ;AN000; | ||
| 492 | ; End of Process equates ;AN000; | ||
| 493 | EOP_NORMAL EQU 0 ;AN000; | ||
| 494 | EOP_ABORT EQU 1 ;AN000; | ||
| 495 | RESET_ENVIRONMENT EQU 2 | ||
| 496 | ;AN000; | ||
| 497 | SUBTTL Request Return Classes/Codes ;AN000; | ||
| 498 | PAGE ;AN000; | ||
| 499 | ;AN000; | ||
| 500 | ; IFS Request Return Codes ;AN000; | ||
| 501 | IFSR_NO_ERROR EQU 0 ;AN000; | ||
| 502 | IFSR_NONSPEC_ERROR EQU 1 ;AN000; | ||
| 503 | IFSR_NOT_FOUND_ERROR EQU 2 ;AN000; | ||
| 504 | IFSR_ACCESS_DENIED EQU 3 ;AN000; | ||
| 505 | IFSR_DEVICE_TYPE_MISMATCH EQU 4 ;AN000; | ||
| 506 | IFSR_NO_SUBFCN_SUPPORT EQU -2 ;AN000; | ||
| 507 | IFSR_NO_FCN_SUPPORT EQU -1 ;AN000; | ||
| 508 | ;AN000; | ||
| 509 | ; IFS Request Return Classes ;AN000; | ||
| 510 | IFSR_INT21H_ERROR EQU 1 ;AN000; | ||
| 511 | IFSR_DRIVER_ERROR EQU 2 ;AN000; | ||
| 512 | IFSR_INT21H_CRITER EQU 3 ;AN000; | ||
| 513 | IFSR_DEVICE_ERROR EQU 4 ;AN006; | ||
| 514 | IFSR_BAD_FORMAT EQU -1 ;AN000; | ||
| 515 | |||
| 516 | ; | ||
| 517 | ; Int 24H | ||
| 518 | NO_RETRY = 0 | ||
| 519 | I24_RESP_IGNORE = 0 | ||
| 520 | I24_RESP_RETRY = 1 | ||
| 521 | |||
| 522 | ;AN000; | ||
| 523 | ; IFS_DOSCALL@ function equates ;AN000; | ||
| 524 | ; Block Device Driver Requests ;AN000; | ||
| 525 | CALL_INTERRUPT_ROUTINE EQU 1 ;AN000; | ||
| 526 | READ_SECTORS EQU 2 ;AN000; | ||
| 527 | WRITE_SECTORS EQU 3 ;AN000; | ||
| 528 | FIND_SECTOR EQU 8 ;AN000; | ||
| 529 | MARK_SECTOR_CHANGED EQU 9 ;AN000; | ||
| 530 | ; Buffer Cache Requests ;AN000; | ||
| 531 | WRITE_DOS_BUFFER EQU 10 ;AN000; | ||
| 532 | READ_DOS_BUFFER EQU 11 ;AN000; | ||
| 533 | FREE_DOS_BUFFER EQU 12 ;AN000; | ||
| 534 | FLUSH_DOS_BUFFERS EQU 13 ;AN000; | ||
| 535 | ; Get DOS Variable ;AN000; | ||
| 536 | GET_DOS_VALUE EQU 32 ;AN000; | ||
| 537 | ACTIVE_PROCESS_INFO EQU 1 ;AN000; | ||
| 538 | CPSW_INFORMATION EQU 2 ;AN000; | ||
| 539 | BREAK_INFORMATION EQU 3 ;AN000; | ||
| 540 | VERIFY_INFORMATION EQU 4 ;AN000; | ||
| 541 | CONFIG_SYS_VALUES EQU 5 ;AN000; | ||
| 542 | DOS_VALUE_BUFFER STRUC ;AN000; | ||
| 543 | VAL_BUF_SIZE DW 14 ;AN000; | ||
| 544 | VAL_BUF_FILES DW 0 ;AN000; | ||
| 545 | VAL_BUF_FCBS DW 0 ;AN000; | ||
| 546 | DW 0 ;AN000; | ||
| 547 | VAL_BUF_BUFS DW 0 ;AN000; | ||
| 548 | DW 0 ;AN000; | ||
| 549 | VAL_BUF_LDRV DW 0 ;AN000; | ||
| 550 | VAL_BUF_SSZ DW 0 ;AN000; | ||
| 551 | DOS_VALUE_BUFFER ENDS ;AN000; | ||
| 552 | MACHINE_NAME EQU 6 ;AN000; | ||
| 553 | COUNTRY_INFO EQU 7 ;AN000; | ||
| 554 | SHARE_RETRY_COUNT EQU 8 ;AN000; | ||
| 555 | ; Get Assign Mode ;AN000; | ||
| 556 | GET_ASSIGN_MODE EQU 33 ;AN000; | ||
| 557 | DEVICE_MACRO = 3 | ||
| 558 | DRIVE_MACRO = 4 | ||
| 559 | PAUSE_MODE_ON = 1 | ||
| 560 | PAUSE_MODE_OFF = 0 | ||
| 561 | ; | ||
| 562 | DOS2NET_DATE = 34 | ||
| 563 | NET2DOS_DATE = 35 | ||
| 564 | DOS_STRCMP = 36 | ||
| 565 | DOS_STRCPY = 37 | ||
| 566 | USE_SYSTEM_TIMEDATE = 0 | ||
| 567 | USE_USER_TIMEDATE = 1 | ||
| 568 | ; | ||
| 569 | ;AN000; | ||
| 570 | ;AN000; | ||
| 571 | SUBTTL Pseudo Block Structures: SF, CD, DF ;AN000; | ||
| 572 | PAGE ;AN000; | ||
| 573 | ; SFF - Pseudo SFT ;AN000; | ||
| 574 | ; This structure is used to pass pertinent SFT information ;AN000; | ||
| 575 | ; to IFS driver. ;AN000; | ||
| 576 | ;AN000; | ||
| 577 | SFF STRUC ; Open File Control Block ;AN000; | ||
| 578 | SFF_TYPE DB 0,0 ; Identifies SFF ;AN000; | ||
| 579 | SFF_FLAGS DW ? ; Control flags ;AN000; | ||
| 580 | ; 4000H=don't set date/time on close ;AN009; | ||
| 581 | ; 0080H=device (vs file) ;AN009; | ||
| 582 | ; 0040H=File clean ;AN008; | ||
| 583 | SFF_MODE DW ? ; Mode of access. ;AN000; | ||
| 584 | ; 8000H=FCB (vs handle)[this moved from flags];AC008; | ||
| 585 | SFF_RESV1 DW ? ; IO mode. ;AC023; iomode | ||
| 586 | SFF_ATTR DW ? ; File attr.FORMAT : 0000000re0advshr ;AN000; | ||
| 587 | SFF_UID DW ? ; User ID ;AN000; | ||
| 588 | SFF_PID DW ? ; Process ID ;AN000; | ||
| 589 | SFF_SIZE DD ? ; File size ;AN000; | ||
| 590 | SFF_POSITION DD ? ; Read/Write pointer ;AN000; | ||
| 591 | SFF_TIME DW ? ; File time ;AN000; | ||
| 592 | SFF_DATE DW ? ; File date ;AN000; | ||
| 593 | SFF_NAME DB 8 DUP (?) ; Name ;AN000; | ||
| 594 | SFF_EXT DB 3 DUP (?) ; Extension ;AN000; | ||
| 595 | SFF_RESV2 DW 0 ; Code page ;AC024; cp | ||
| 596 | SFF_SF_ID DW 0 ; Unique SFT entry identifier ;AN009; | ||
| 597 | SFF_RESV DB 12 DUP(0) ; Reserved ;AC009; | ||
| 598 | SFF_FSDA DB 8 DUP(?) ; File System Dependent Data Area ;AN000; | ||
| 599 | SFF ENDS ;AN000; | ||
| 600 | ;AN000; | ||
| 601 | ; sff_flags bits | ||
| 602 | SFF_Close_NoDate EQU 4000H ; 4000H=don't set date/time on close ;AN009; | ||
| 603 | SFF_IsDevice EQU 0080H ; 0080H=device (vs file) ;AN009; | ||
| 604 | SFF_FileClean EQU 0040H ; 0040H=File clean ;AN008; | ||
| 605 | SFF_Device_Raw EQU 0020H ; 0020H=Device raw ;AN008; | ||
| 606 | SFF_Net_Spool EQU 0000100000000000B | ||
| 607 | ; sff_mode bits | ||
| 608 | SFF_IsFCB EQU 8000H ; 8000H=FCB (vs handle)[this moved from flags];AC008; | ||
| 609 | |||
| 610 | ; CD - Pseudo CDS ;AN000; | ||
| 611 | ; This structure is used to pass pertinent CDS information ;AN000; | ||
| 612 | ; to IFS driver. ;AN000; | ||
| 613 | ;AN000; | ||
| 614 | CD STRUC ;AN000; | ||
| 615 | CD_TYPE DB 1,0 ; Identifies CD ;AN000; | ||
| 616 | CD_END DW ? ; End of assignment in CD_TEXT ;AN000; | ||
| 617 | CD_TEXT DB 67 DUP (?) ; Text of assignment and curdir ;AN000; | ||
| 618 | CD_RESV DB 5 DUP(0) ; Reserved ;AN000; | ||
| 619 | CD_FSDA DB 8 DUP(?) ; File System Dependent Data Area ;AN000; | ||
| 620 | CD ENDS ;AN000; | ||
| 621 | ;AN000; | ||
| 622 | ; DF - Pseudo DFL ;AN000; | ||
| 623 | ; This structure is used to pass pertinent DFL information ;AN000; | ||
| 624 | ; to IFS driver. ;AN000; | ||
| 625 | |||
| 626 | DFL STRUC ;AN000; | ||
| 627 | DFL_TYPE DB 2,0 ; Identifies DFL ;AN000; | ||
| 628 | DFL_DEV_NAME DB 8 DUP (?) ; Device name ;AN000; | ||
| 629 | DFL_FSDA DB 8 DUP (?) ; File System Dependent Data Area ;AN000; | ||
| 630 | DFL ENDS ;AN000; | ||
| 631 | ;AN000; | ||
| 632 | SUBTTL Search Continuation Information ;AN000; | ||
| 633 | PAGE ;AN000; | ||
| 634 | CONTINFO STRUC ;AN000; | ||
| 635 | CI_SEARCH_FN DB 8 DUP(?) ; SEARCH FILE NAME ;AN000; | ||
| 636 | CI_SEARCH_FN_EXT DB 3 DUP(?) ; SEARCH FILE EXTENSION ;AN000; | ||
| 637 | CI_SEARCH_ATTR DB ? ; SEARCH ATTRIBUTE ;AN000; | ||
| 638 | CI_FSDA DB 8 DUP(?) ; FSDA ;AN000; | ||
| 639 | ; Directory entry: ;AN000; | ||
| 640 | CI_FOUND_FN DB 8 DUP(?) ; FOUND FILE NAME ;AN000; | ||
| 641 | CI_FOUND_FN_EXT DB 3 DUP(?) ; FOUND FILE EXTENSION ;AN000; | ||
| 642 | CI_FOUND_ATTRL DB ? ; FOUND ATTRIBUTE LOW ??? DB/DD ;AN000; | ||
| 643 | CI_CP DW ? ; FILE CODE PAGE (OR 0) ;AN000; | ||
| 644 | CI_RESV1 DW ? ; RESERVED ;AN000; | ||
| 645 | CI_FOUND_ATTRH DB ? ; FOUND ATTRIBUTE HIGH ;AN000; | ||
| 646 | CI_RESV2 DB 5 DUP(?) ; RESERVED ;AN000; | ||
| 647 | CI_FILE_TIME DW ? ; FILE TIME ;AN000; | ||
| 648 | CI_FILE_DATE DW ? ; FILE DATE ;AN000; | ||
| 649 | CI_FSWORD DW ? ; MEANING FILE SYSTEM SPECIFIC ;AN000; | ||
| 650 | ; (STARTING CLUSTER IN FAT) ;AN000; | ||
| 651 | CI_FILE_SIZE DD ? ; FILE SIZE ;AN000; | ||
| 652 | CONTINFO ENDS ;AN000; | ||
| 653 | |||
| 654 | |||
| 655 | CATEGORY_PRINTER EQU 5 | ||
| 656 | |||
| 657 | CTLFUNC_SELECT EQU 4AH | ||
| 658 | CTLFUNC_QUERY_SELECTED EQU 6AH | ||
| 659 | CTLFUNC_QUERY_PREPLIST EQU 6BH | ||
| 660 | |||
| 661 | DEV_OPER_BUFFER STRUC | ||
| 662 | OPER_FUNC DB ? | ||
| 663 | TRUNC_FLAG DB ? | ||
| 664 | DEV_OPER_BUFFER ENDS | ||
| 665 | |||
| 666 | PACKET STRUC ; device ioctl buffer info | ||
| 667 | PACKLEN DW 2 ; length of packet in bytes | ||
| 668 | PACKCPID DW ? ; code page id | ||
| 669 | PACKET ENDS | ||
| 670 | |||