Lars Erdmann
2007-01-04 20:22:47 UTC
Sorry for posting but since Scott is around ...
Hallo,
I am investigating the effort to make FAT32.IFS provide the extensions
necessary for files > 2 GB.
Since the new IFS extensions are not documented anywhere (the API is
but the changes in the IFS interface are not) I had a look at the
OPENJFS sourcecode. By mere foresight, I unlxlited OS2KRNL to find the
names of the IFS entry points. Now this struck my eye (where otherwise
everything matched perfectly):
OS2KRNL OPENJFS.IFS REMARKS
FS_CHGFILEPTR FS_CHGFILEPTR old 16-bit EP, LONG offsets
FS32_CHGFILEPTRL FS32_CHGFILEPTRL new 32-bit EP, LONGLONG offsets
FS_CHGFILEPTRL FS32_CHGFILEPTR ?
Now what is right and what is wrong ? For FSx_NEWSIZEy it looks like this:
OS2KRNL OPENJFS.IFS
FS_NEWSIZE FS_NEWSIZE old 16-bit EP, ULONG length
FS_NEWSIZEL FS_NEWSIZEL new 16-bit EP, ULONGLONG length
My feeling is that FS_CHGFILEPTRL (analogy) would be a 16-bit EP with
LONGLONG offset (and therefore FS32_CHGFILEPTR would be unnecessary).
jfs.ifs lists FS32_CHGFILEPTR while udf.ifs lists neither
FS_CHGFILEPTRL nor FS32_CHGFILEPTR.
Can someone enlighten me ? Or is the combination of
FS_CHGFILEPTR/FS_CHGFILEPTRL (both being 16-bit entry points) as valid
as FS_CHGFILEPTR/FS32_CHGFILEPTRL (16-bit and 32-bit entry point) ?
Lars
Hallo,
I am investigating the effort to make FAT32.IFS provide the extensions
necessary for files > 2 GB.
Since the new IFS extensions are not documented anywhere (the API is
but the changes in the IFS interface are not) I had a look at the
OPENJFS sourcecode. By mere foresight, I unlxlited OS2KRNL to find the
names of the IFS entry points. Now this struck my eye (where otherwise
everything matched perfectly):
OS2KRNL OPENJFS.IFS REMARKS
FS_CHGFILEPTR FS_CHGFILEPTR old 16-bit EP, LONG offsets
FS32_CHGFILEPTRL FS32_CHGFILEPTRL new 32-bit EP, LONGLONG offsets
FS_CHGFILEPTRL FS32_CHGFILEPTR ?
Now what is right and what is wrong ? For FSx_NEWSIZEy it looks like this:
OS2KRNL OPENJFS.IFS
FS_NEWSIZE FS_NEWSIZE old 16-bit EP, ULONG length
FS_NEWSIZEL FS_NEWSIZEL new 16-bit EP, ULONGLONG length
My feeling is that FS_CHGFILEPTRL (analogy) would be a 16-bit EP with
LONGLONG offset (and therefore FS32_CHGFILEPTR would be unnecessary).
jfs.ifs lists FS32_CHGFILEPTR while udf.ifs lists neither
FS_CHGFILEPTRL nor FS32_CHGFILEPTR.
Can someone enlighten me ? Or is the combination of
FS_CHGFILEPTR/FS_CHGFILEPTRL (both being 16-bit entry points) as valid
as FS_CHGFILEPTR/FS32_CHGFILEPTRL (16-bit and 32-bit entry point) ?
Lars