272 lines
16 KiB
HTML
272 lines
16 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Int 21/AX=4402h
|
|
</TITLE>
|
|
<META NAME="Description" CONTENT="
|
|
Int 21/AX=4402h - DRFAT32.SYS device driver - IOCTL INPUT -
|
|
AX = 4402h
|
|
BX = file handle referencing character device for DRFAT32.SYS driver
|
|
(e.g. FAT32XXX in the default configuration)
|
|
CX = number of bytes to read
|
|
DS:DX - control block (see #04108)
|
|
Return: CF clear if successful
|
|
AX = number of bytes actually read
|
|
CF set on error
|
|
AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
|
|
Notes: the data returned depends on the first byte of the control block
|
|
">
|
|
<META NAME="robots" CONTENT="none">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFD0A0">
|
|
<center>
|
|
<h2>Int 21/AX=4402h
|
|
</h2>
|
|
</center><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-2852.htm" tppabs="http://www.ctyme.com/intr/rb-2852.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-2854.htm" tppabs="http://www.ctyme.com/intr/rb-2854.htm">
|
|
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
|
|
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
|
|
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
|
|
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
|
|
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
|
|
</td></table><p>
|
|
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
<h3><font color=#C00040>DRFAT32.SYS device driver - IOCTL INPUT</font></h3>
|
|
<PRE>
|
|
AX = 4402h
|
|
BX = file handle referencing character device for DRFAT32.SYS driver
|
|
(e.g. "FAT32XXX" in the default configuration)
|
|
CX = number of bytes to read
|
|
DS:DX -> control block <a href="rb-2853.htm#Table4108" tppabs="http://www.ctyme.com/intr/rb-2853.htm#Table4108">(see #04108)</a><br>
|
|
<p><b>Return:</b><br>CF clear if successful
|
|
AX = number of bytes actually read
|
|
CF set on error
|
|
AX = error code (01h,05h,06h,0Dh) <a href="javascript:if(confirm('http://www.ctyme.com/intr/rb-0000.htm \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/intr/rb-0000.htm#Table0'" tppabs="http://www.ctyme.com/intr/rb-0000.htm#Table0"></a>(see #01680 at AH=59h/BX=0000h)
|
|
</PRE>
|
|
<p><b>Notes:</b>
|
|
The data returned depends on the first byte of the control block
|
|
the remainder of the control block is filled by the driver
|
|
one DRFAT32.SYS device driver supports up to 8 subunits (that is up
|
|
to 8 FAT32 partitions). By default, DRFAT32.SYS logs in all FAT32
|
|
partitions it finds, however, by using command line options /C (CHS),
|
|
/L (LBA), /H (Hidden) and /P:1..4 (Primary), /E:1..255 (Logical
|
|
Drive), and /U:min[,max] (Unit 128..255) it can be directed to
|
|
attach only to one or a specific range of partitions. Multiple
|
|
DRFAT32.SYS drivers can be loaded in a system when using the
|
|
/D:name option. To assign them to the redirector, the /D:name option
|
|
must be repeated for each of the DRFAT32.SYS drivers in the
|
|
DRFAT32.EXE command line.
|
|
<p><b>See Also:</b>
|
|
<a href="rb-2829.htm" tppabs="http://www.ctyme.com/intr/rb-2829.htm">AX=4402h"CD-ROM"</a> - <a href="rb-4282.htm" tppabs="http://www.ctyme.com/intr/rb-4282.htm">INT 2F/AX=0802h</a>
|
|
<PRE>
|
|
<p>
|
|
Format of DRFAT32 control block:
|
|
<a name=table4108></a>
|
|
Offset Size Description (Table 04108)
|
|
00h BYTE data being requested
|
|
00h device driver header address
|
|
09h media change status
|
|
48h address of DRFAT32 geometry table
|
|
else error
|
|
---function 00h---
|
|
01h DWORD device driver header address (see also AH=52h,#01646)
|
|
---function 09h---
|
|
01h BYTE media change status
|
|
00h don't know
|
|
01h media unchanged
|
|
FFh media has been changed
|
|
---DRFAT32 function 48h---
|
|
01h DWORD address of DRFAT32 geometry table <a href="rb-2853.htm#Table4109" tppabs="http://www.ctyme.com/intr/rb-2853.htm#Table4109">(see #04109)</a>
|
|
<p>
|
|
Format of DRFAT32 Geometry Table:
|
|
<a name=table4109></a>
|
|
Offset Size Description (Table 04109)
|
|
00h 8*59 BYTEs eight DRFAT32 partition data tables <a href="rb-2853.htm#Table4110" tppabs="http://www.ctyme.com/intr/rb-2853.htm#Table4110">(see #04110)</a>
|
|
1D8h BYTE DRFAT32 access flags <a href="rb-2853.htm#Table4111" tppabs="http://www.ctyme.com/intr/rb-2853.htm#Table4111">(see #04111)</a>
|
|
1D9h BYTE DRFAT32 status flags <a href="rb-2853.htm#Table4112" tppabs="http://www.ctyme.com/intr/rb-2853.htm#Table4112">(see #04112)</a>
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
This is the table layout used by DRFAT32.SYS 1.00 which supports up
|
|
to 8 sub-units. The layout of this table and its records may change,
|
|
so the version indicator in the device driver's signature ("FAT320")
|
|
and the size of the public data structure should be checked first.
|
|
<p><b>See Also:</b>
|
|
#04108
|
|
<PRE>
|
|
<p>
|
|
Format of DRFAT32 partition data table:
|
|
<a name=table4110></a>
|
|
Offset Size Description (Table 04110)
|
|
00h BYTE size of following public data structure (9).
|
|
--- public data (needed by the DRFAT32.EXE redirector) ---
|
|
01h WORD bytes per sector
|
|
03h BYTE sectors per cluster
|
|
04h WORD reserved sectors
|
|
06h DWORD root directory start cluster.
|
|
--- private data ---
|
|
0Ah DWORD sectors per track
|
|
0Eh DWORD root directory sector
|
|
12h DWORD partition start sector
|
|
16h DWORD highest partition sector allowed
|
|
(only if range checking enabled)
|
|
1Ah DWORD absolute cluster start sector
|
|
(cluster start sector+partition start sector)
|
|
1Eh DWORD total sectors per track (number of heads * sectors per track)
|
|
22h BYTE drive unit (default 80h)
|
|
<p><b>23h BYTE temp buffer:</b><br>CHS sectors to write (if verify enabled)
|
|
24h BYTE INT 13h extension version.
|
|
--- CHS data ---
|
|
25h WORD cylinder
|
|
27h WORD head
|
|
29h WORD sector.
|
|
--- LBA data ---
|
|
2Bh 16 BYTEs disk address packet <a href="javascript:if(confirm('http://www.ctyme.com/intr/rb-0000.htm \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/intr/rb-0000.htm#Table0'" tppabs="http://www.ctyme.com/intr/rb-0000.htm#Table0"></a>(see #00272 at INT 13/AH=42h)
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#04109
|
|
<PRE>
|
|
<p>
|
|
Bitfields for DRFAT32 access flags:
|
|
<a name=table4111></a>
|
|
Bit(s) Description (Table 04111)
|
|
7 using LBA addressing instead of CHS
|
|
6 using INT 13h extensions (see also INT 13/AH=48h)
|
|
5 multi-sector access allowed
|
|
4 force media change indication on removable drives
|
|
3 force verify after every write (/W)
|
|
2 more than 1024 cylinders, less than 64 heads (/A)
|
|
1 client-side asynchronous buffering allowed (/B), normally =0
|
|
0 read-only access (/R)
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#04109 - #04112
|
|
<PRE>
|
|
<p>
|
|
Bitfields for DRFAT32 status flags:
|
|
<a name=table4112></a>
|
|
Bit(s) Description (Table 04112)
|
|
7-2 reserved (0)
|
|
1 Save Guard enabled (blocks any further writes after a fault)
|
|
0 volume may have dirty sectors (set after write operations)
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#04109 - #04111
|
|
<p>
|
|
<b>Category: <a href="cat-043.htm" tppabs="http://www.ctyme.com/intr/cat-043.htm">
|
|
Uncatagorized</a>
|
|
- <a href="int-21.htm" tppabs="http://www.ctyme.com/intr/int-21.htm">
|
|
Int 21h</a>
|
|
- <a href="alpha-d.htm" tppabs="http://www.ctyme.com/intr/alpha-d.htm">
|
|
D</a>
|
|
</b><p><p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-2852.htm" tppabs="http://www.ctyme.com/intr/rb-2852.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-2854.htm" tppabs="http://www.ctyme.com/intr/rb-2854.htm">
|
|
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
|
|
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
|
|
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
|
|
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
|
|
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
|
|
</td></table><p>
|
|
|
|
<!-- Bottom Link Start -->
|
|
|
|
<center>
|
|
|
|
<p><table border=1 bgcolor="#ffff99"><tr><td>
|
|
<table border=0 height=80>
|
|
<tr align=center><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">
|
|
<img src="tip.gif" tppabs="http://graphics.ctyme.com/gif/tip.gif" ALT="Sponsors" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">Shopping</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">
|
|
<img src="comment.gif" tppabs="http://graphics.ctyme.com/gif/comment.gif" ALT="Forum" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">Forum</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">
|
|
<img src="mail.gif" tppabs="http://graphics.ctyme.com/gif/mail.gif" ALT="email" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">EMail</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">
|
|
<img src="toc.gif" tppabs="http://graphics.ctyme.com/gif/toc.gif" ALT="Index" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">Index</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">
|
|
<img src="home.gif" tppabs="http://graphics.ctyme.com/gif/home.gif" ALT="Home" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">Home</a>
|
|
|
|
</td><td width="90">
|
|
|
|
<center>
|
|
<FORM ACTION="https://secure.paypal.com/cgi-bin/webscr" tppabs="https://secure.paypal.com/cgi-bin/webscr" METHOD="POST" traget="_blank">
|
|
<INPUT TYPE="hidden" NAME="cmd" VALUE="_xclick">
|
|
<INPUT TYPE="hidden" NAME="business" VALUE="marc@perkel.com">
|
|
<INPUT TYPE="hidden" NAME="return" VALUE="http://www.perkel.com">
|
|
<INPUT TYPE="hidden" NAME="item_name" VALUE="Donation To Support this Site">
|
|
<INPUT TYPE="hidden" NAME="no_intl" VALUE="1">
|
|
<INPUT TYPE="image" SRC="x-click-but7.gif" tppabs="http://images.paypal.com/images/x-click-but7.gif" vspace=9
|
|
NAME="submit" ALT="Make payments with PayPal - it's fast, free and secure!">
|
|
</FORM>
|
|
|
|
</td></tr></table></td></tr></table><p>
|
|
|
|
|
|
<center>
|
|
<p>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/hosting/index.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/hosting/index.htm'" tppabs="http://www.ctyme.com/hosting/index.htm" target="_blank">
|
|
<img src="ctymehost.gif" tppabs="http://graphics.ctyme.com/gif/ctymehost.gif"
|
|
border=3 height=60 width=468></a>
|
|
<p>
|
|
<!-- Ad End --->
|
|
|
|
</center>
|
|
<FORM ACTION="http://service.bfast.com/bfast/click" target="_blank">
|
|
<INPUT TYPE="hidden" NAME="siteid" VALUE="30472466" >
|
|
<INPUT TYPE="hidden" NAME="bfpage" VALUE="horizontal">
|
|
<INPUT TYPE="hidden" NAME="bfmid" VALUE="27253343" >
|
|
<INPUT TYPE="hidden" NAME="num" VALUE="30">
|
|
|
|
<table bgcolor=white border=3><tr><td>
|
|
<table bgcolor=white border=0>
|
|
<tr><td>
|
|
<IMG SRC="serve-bfmid=27253343&siteid=30472466&bfpage=horizontal.gif" tppabs="http://service.bfast.com/bfast/serve?bfmid=27253343&siteid=30472466&bfpage=horizontal" BORDER="0" WIDTH="1" HEIGHT="1" align=right NOSAVE >
|
|
<center><b>Search the web with Google</b></center>
|
|
</td></tr><tr><td>
|
|
<TABLE cellpadding=0 cellspacing=5 bgcolor="#FFFFFF">
|
|
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr><tr><td>
|
|
<IMG SRC="affiliate_logo.gif" tppabs="http://www.google.com/affiliates/affiliate_logo.gif" border="0" ALT="Google" align="center">
|
|
<INPUT TYPE=text name=q size=30 maxlength=255 value="">
|
|
<INPUT type=submit name=sa VALUE="Go">
|
|
</td></tr>
|
|
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr></TABLE>
|
|
</td></tr></table>
|
|
</tr></td></table>
|
|
</FORM>
|
|
|
|
</center>
|
|
|
|
|
|
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
|
|
<!-- Bottom Link End -->
|
|
|
|
</BODY>
|
|
</HTML>
|