Job File Table: Difference between revisions

Content deleted Content added
Replace preformatted table with an actual table and improve formatting
Line 1:
{{Unreferenced|date=December 2009}}
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 <code>open</code>, <code>_open</code>, 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:
 
{| class="wikitable"
! Handle
Handle ! Description
|-
| 0
| [[stdin|Standard input]]
|-
| 1
| [[stdout|Standard output]]
|-
| 2
| [[stderr|Standard error]]
|}
 
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). Ascould be open at a time. ofIn 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 <code>INT 21h, 67h</code>.
 
[[Category:DOS technology]]