Job File Table
From Wikipedia, the free encyclopedia
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
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, you could originally only open 15 files (20-5 standard devices). As of MS-DOS 2.0 the Extended Job File Table was introduced, which allowed to open up to 254 files.
As of MS-DOS 3.30 the size of the JFT can be modified with a call to INT 21h, 67h.