Job File Table

The Job File Table (JFT) is a DOS data structure in the Program Segment Prefix (PSP). It starts at PSP offset 0x18 and is 20 bytes long. For each open file handle, DOS stores the index into the System File Table (SFT). A file handle that is returned by open, _open, and other similar functions is simply an index into the JFT where DOS stored the SFT entry index for the file or device that the program opened.

When a program starts, the first 5 entries in the JFT are preconnected to the standard devices. All other handles are marked as closed by setting the value of the entry to 0xFF. The standard devices are initialised as follows:

Handle Description
0 Standard input
1 Standard output
2 Standard error
3 COM1
4 LPT1

[1]

Handles 0-2 are connected to the console device. During program execution they can get modified (closed, redirected) like any other handle.

Because the size of the JFT in the PSP is limited to 20 bytes, originally only 15 files (20-5 standard devices) could be open at a time. In MS-DOS 2.0, the Extended Job File Table was introduced, which allowed up to 254 files to be opened.

As of MS-DOS 3.30, the size of the JFT can be modified with a call to INT 21h, 67h.

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.