Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Other DOS - <b> system file table (undocumented)</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
                     System File Table  (Undocumented)

                      DOS 2.x System File Table Format

      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


               DOS 3.x System File Table and FCB Table Format

      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


        - these structures are allocated by DOS during the scanning of the
          CONFIG.SYS file
        - INT 21,67 can be used to allow an application to have more than
          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

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson