Mail Archives: djgpp-workers/2000/12/02/03:50:15
> Date: Sat, 02 Dec 2000 00:30:41 -0500
> From: "Peter J. Farley III" <pjfarley AT banet DOT net>
>
> I went to the url that Mark pointed to, and I see the "transitional"
> rules that allow this type of enhancement. It seems easy enough to add
> the #define that says we handle 64-bit file offsets, and the bits that
> apply to fcntl() 64-bit functionality depending on that #define, but
> there are a *whole* lot of *other* 64-bit I/O functions involved in
> setting up a complete 64-bit file environment. I'm *not* sanguine
> about being able to get all of those written and installed correctly,
> and I'm of the opinion that 64-bit file locking is really useless
> without 64-bit file *access*. I would submit that 64-bitness for DJGPP
> is an entirely new project, separate from enabling locking in fcntl(),
> and quite frankly better handled by someone with more intimate (and to
> the point, more practical) internals knowledge than I possess at this
> time.
Sorry, this is a misunderstanding. I didn't mean to imply that you
should write 64-bit file support for DJGPP as part of improving fcntl.
What I meant is that it would be nice to include FAT32 support that is
_already_ part of the CVS sources for `_open', `_read', and `llseek'
(added by Martin). FAT32 allows support of up to 4GB file-size. This
is stil 32-bit, but it uses the entire 32-bit width of the registers.
The issue of supporting FAT32 in fcntl boils down to adding a few more
case blocks which accept F_RDLCK64 etc. commands and manipulate the
64-bit equivalent of struct flock, but otherwise do the same.
> AH = 5Ch
> AL = subfunction
> 00h lock region of file
> 01h unlock region of file
> BX = file handle
> CX:DX = start offset of region within file
> SI:DI = length of region in bytes
>
> Now, unless all of CX, DX, SI, and DI are DWORD's, that's only 32 bits
> each for the offset and the length.
FAT32 still uses 32-bit values, but they are unsigned.
The question whether 215C supports FAT32 is an open one: I asked that
here as part of this discussion; hopefully, someone could try that and
provide an answer.
I agree that if 215C doesn't support FAT32, this is a moot point, and
we should simply document that fact and continue.
- Raw text -