Ceci est une ancienne révision du document !
Offset | Size | Description |
---|---|---|
00 | dword | pointer to next system file table; offset of ffffh indicates last table in chain |
04 | word | number of file descriptors in table |
06 | nbytes | file descriptor table of the format (40 bytes each): |
Offset | Size | Description |
---|---|---|
00 | byte | count of handles referring to this file or zero if file is no longer open |
01 | byte | open mode |
02 | byte | file attribute |
03 | byte | drive (1=A, 2=B:, …, 0=char device) |
04 | 11bytes | filename in FCB format |
0F | word | unknown |
11 | word | unknown |
13 | dword | file size |
17 | word | file date |
19 | word | file time |
1B | byte | device attribute |
1C | word | starting cluster of file (block device) |
dword | pointer to device driver (if char device) | |
1E | word | if block device, relative cluster within file of the last cluster read; zero if file has never been read or written |
20 | word | absolute cluster number of current cluster |
22 | word | unknown |
24 | dword | current file position |
Offset Size Description
00 dword pointer to next system file table; offset of ffffh indicates last table in chain 04 word number of file descriptors in table 06 nbytes file descriptor table of the format (53 bytes each):
Offset Size Description
00 word count of handles referring to this file or zero if file is no longer open 02 word open mode, bit 15 set if file id opened via FCB 04 byte file attribute 05 word device info word 07 dword if char device pointer to device driver header if block device pointer to DOS Device Control Block 0B word starting cluster of file 0D word file time 0F word file date 11 dword file size 15 dword current file position 19 word if block device, relative cluster within file of the last cluster read 1B word absolute cluster number of last cluster read zero if file has never been read or written 1D word sector number containing the directory entry 1F byte number of dir entry within sector 20 11bytes filename in FCB format 2B dword SHARE pointer to previous SFT sharing same file 2F word SHARE number of network machine opening file 31 word PSP segment of file owner 33 word offset within SHARE code segment of sharing record 0000h = none
DOS 4.0+ System File Table and FCB Table
Offset Size Description
00 dword pointer to next system file table; offset of ffffh indicates last table in chain 04 word number of file descriptors in table 06 nbytes file descriptor table of the format (59 bytes each):
Offset Size Description
00 word count of handles referring to this file or zero if file is no longer open 02 word open mode, bit 15 set if file id opened via FCB 04 byte file attribute 05 word device info word 07 dword if char device pointer to device driver header if block device pointer to DOS Device Control Block or REDIR data 0B word starting cluster of file 0D word file time 0F word file date 11 dword file size 15 dword current file position 19 dword if network redirector, pointer to REDIRIFS record word if local block dev, relative cluster within file of the last cluster read 1B dword if local, sector number of directory entry 1F byte if local, number of directory entry within sector 20 11bytes filename in FCB format 2B dword SHARE pointer to previous SFT sharing same file 2F word SHARE number of network machine opening file 31 word PSP segment of file owner 33 word offset within SHARE code seg of sharing record 0000h = none 35 word absolute cluster number of last cluster read zero if file has never been read or written 37 dword pointer to file IFS driver, NULL if native DOS
CONFIG.SYS file
20 file handles; the total number of handles is limited still to
the value of FILES=n in CONFIG.SYS - the structure of these fields is undocumented; I do not recommend relying on any of this information, instead use it as an aid in debugging - see Bibliography references to Bernd Schemmer and "Data Structures Used in IBM PC Compatibles and the PS/2". - see INT 21,52