Files
oldlinux-files/docs/interrupts/int-html/rb-2853.htm
2024-02-19 00:23:35 -05:00

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>