mirror of https://github.com/FDOS/kernel.git
199 lines
8.8 KiB
Plaintext
199 lines
8.8 KiB
Plaintext
Technical Data
|
|
DOS-C Systems Calls
|
|
|
|
The following table represents the industry standard kernel DOS calls
|
|
currently supported by DOS-C. This list is for FreeDOS build 2036 (5/2006).
|
|
|
|
int 20: Terminated Current Process
|
|
Supported
|
|
|
|
int 21: DOS System Call
|
|
Supported. See table below.
|
|
|
|
int 21 Description State Ver Status
|
|
---------------------------------------------------------------------------
|
|
00h Terminate Program superseded 1.00 supported
|
|
01h Read Keyboard with Echo superseded 1.00 supported
|
|
02h Display Character superseded 1.00 supported
|
|
03h Auxilliary Input superseded 1.00 supported
|
|
04h Auxilliary Output superseded 1.00 supported
|
|
05h Print Character superseded 1.00 supported
|
|
06h Direct Console I/O active 1.00 supported
|
|
07h Direct Console Input active 1.00 supported
|
|
08h Read Keyboard Without Echo active 1.00 supported
|
|
09h Display String superseded 1.00 supported
|
|
0ah Buffered Keyboard Input superseded 1.00 supported
|
|
0bh Check Keyboard Status active 1.00 supported
|
|
0ch Flush Buffer, Read Keyboard active 1.00 supported
|
|
0dh Reset Drive active 1.00 supported
|
|
0eh Set Default Drive active 1.00 supported
|
|
0fh Open File with FCB superseded 1.00 supported
|
|
10h Close File with FCB superseded 1.00 supported
|
|
11h Find First File with FCB superseded 1.00 supported
|
|
12h Find Next File with FCB superseded 1.00 supported
|
|
13h Delete File with FCB superseded 1.00 supported
|
|
14h Sequential Read superseded 1.00 supported
|
|
15h Sequential Write superseded 1.00 supported
|
|
16h Create File with FCB superseded 1.00 supported
|
|
17h Rename File with FCB superseded 1.00 supported
|
|
18h CP/M compatibility obsolete 1.00 supported
|
|
19h Get Default Drive active 1.00 supported
|
|
1ah Set Disk Transfer Address active 1.00 supported
|
|
1bh Get Default Drive Data superseded 2.00 supported
|
|
1ch Get Drive Data superseded 2.00 supported
|
|
1dh CP/M compatibility obsolete 1.00 supported
|
|
1eh CP/M compatibility obsolete 1.00 supported
|
|
1fh Get Default DPB active 5.00 supported
|
|
20h CP/M compatibility obsolete 1.00 supported
|
|
21h Random Read superseded 1.00 supported
|
|
22h Random Write superseded 1.00 supported
|
|
23h Get File Size superseded 1.00 supported
|
|
24h Set Random Record Number superseded 1.00 supported
|
|
25h Set Interrupt Vector active 1.00 supported
|
|
26h Create New PSP superseded 1.00 supported
|
|
27h Random Block Read superseded 1.00 supported
|
|
28h Random Block Write superseded 1.00 supported
|
|
29h Parse Filename active 1.00 supported
|
|
2ah Get Date active 1.00 supported
|
|
2bh Set Date active 1.00 supported
|
|
2ch Get Time active 1.00 supported
|
|
2dh Set Time active 1.00 supported
|
|
2eh Set/Reset Verify Flag active 1.00 supported
|
|
2fh Get DTA active 2.00 supported
|
|
30h Get Version Number active 2.00 supported
|
|
31h Keep Program active 2.00 supported
|
|
32h Get DPB active 5.00 supported
|
|
3300h Get CTRL+C Check Flag active 2.00 supported
|
|
3301h Set CTRL+C Check Flag active 2.00 supported
|
|
3305h Get Startup Drive active 2.00 supported
|
|
3306h Get MS-DOS Version active 5.00 supported
|
|
33ffh Get DOS-C Release superset supported
|
|
34h Get InDOS Flag Address active 2.00 supported
|
|
35h Get Interrupt Vector active 2.00 supported
|
|
36h Get Disk Free Space active 2.00 supported
|
|
37h Get/Set Switchar undocumented 2.00 supported
|
|
38h Get/Set Country Information active 2.00 supported
|
|
39h Create Directory active 2.00 supported
|
|
3ah Remove Directory active 2.00 supported
|
|
3bh Change Current Directory active 2.00 supported
|
|
3ch Create File with Handle active 2.00 supported
|
|
3dh Open File with Handle active 2.00 supported
|
|
3eh Close File with Handle active 2.00 supported
|
|
3fh Read File or Device active 2.00 supported
|
|
40h Write File or Device active 2.00 supported
|
|
41h Delete File active 2.00 supported
|
|
42h Move File Pointer active 2.00 supported
|
|
4300h Get File Attributes active 2.00 supported
|
|
4301h Set File Attributes active 2.00 supported
|
|
44h Ioctl entry active 2.00 supported
|
|
45h Duplicate File Handle active 2.00 supported
|
|
46h Force Duplicate File Handle active 2.00 supported
|
|
47h Get Current Directory active 2.00 supported
|
|
48h Allocate Memory active 2.00 supported
|
|
49h Free Allocated Memory active 2.00 supported
|
|
4ah Set Memory Block Size active 2.00 supported
|
|
4b00h Load and Execute Program active 2.00 supported
|
|
4b01h Load Program active 5.00 supported
|
|
4b03h Load Overlay active 2.00 supported
|
|
4b05h Set Execution State active 5.00 PLANNED
|
|
4ch End Program active 2.00 supported
|
|
4dh Get Child-Program Return Value active 2.00 supported
|
|
4eh Find First File active 2.00 supported
|
|
4fh Find Next File active 2.00 supported
|
|
50h Set PSP Address active 2.00 supported
|
|
51h Get PSP Address active 2.00 supported
|
|
52h Get List of Lists undocumented 2.00 supported
|
|
53h Translate BPB to DPB undocumented supported
|
|
54h Get Verify State active 2.00 supported
|
|
55h Create New Psp undocumented 2.00 supported
|
|
56h Rename File active 2.00 supported
|
|
5700h Get File Date and Time active 2.00 supported
|
|
5701h Set File Date and Time active 2.00 supported
|
|
5800h Get Allocation Strategy active 3.00 supported
|
|
5801h Set Allocation Strategy active 3.00 supported
|
|
5802h Get Upper-Memory Link active 5.00 supported
|
|
5803h Set Upper-Memory Link active 5.00 supported
|
|
59h Get Extended Error active 3.00 supported
|
|
5ah Create Temporary File active 3.00 supported
|
|
5bh Create New File active 3.00 supported
|
|
5ch Lock/Unlock File active 3.10 supported
|
|
5d00h Server Function Call active 3.10 supported
|
|
5d01h Commit All Files active 3.10 NOTE 3
|
|
5d02h Close File by Name active 3.10 NOTE 3
|
|
5d03h Close All Files for Computer active 3.10 NOTE 3
|
|
5d04h Close All Files for Process active 3.10 NOTE 3
|
|
5d05h Get Open File List active 3.10 NOTE 3
|
|
5d06h Get Multiple SDA active 4.00 supported
|
|
5d07h Get Redirected Printer Mode active 3.10 supported
|
|
5d08h Set Redirected Printer Mode active 4.00 supported
|
|
5d09h Flush Redirected Printer Output active 4.00 supported
|
|
5d0ah Set Extended Error active 4.00 supported
|
|
5eh Generic Network Functions #1 active 3.10 supported
|
|
5fh Generic Network Functions #2 active 3.10 supported
|
|
60h Truename function undocumented 3.00 supported
|
|
61h UNUSED obsolete supported
|
|
62h Get current PSP active 3.00 supported
|
|
63h Multibyte char ops undocumented 3.20 NOTE 1
|
|
64h ? undocumented returns error
|
|
65h NLS Functions active 3.30 supported
|
|
66h Code Page Functions active 3.30 supported
|
|
67h Set Maximum Handle Count active 3.30 supported
|
|
68h Commit File active 3.30 supported
|
|
69h GET/SET DISK SERIAL NUMBER active 4.00 supported
|
|
6ah COMMIT FILE (same as 68h) active 4.00 supported
|
|
6bh NULL FUNCTION active 5.00 supported
|
|
6ch Extended Open/Create active 4.00 supported
|
|
71h LONG FILENAME FUNCTIONS active 7.00 NOTE 2
|
|
|
|
int 22: Program Termination Address.
|
|
Supported.
|
|
|
|
int 23: Ctrl-C/Ctrl_Break Handler.
|
|
Supported.
|
|
|
|
int 24: Critical Error Handler
|
|
Dummy routine default.
|
|
|
|
int 25: Absolute Disk Read
|
|
Supported.
|
|
|
|
int 26: Absolute Disk Write
|
|
Supported.
|
|
|
|
int 27: TSR
|
|
Supported.
|
|
|
|
int 28: DOS Idle.
|
|
Supported.
|
|
|
|
int 29: Fast Console Output.
|
|
Supported.
|
|
|
|
int 2F: DOS Multiplex.
|
|
Supported (not ALL functions, but MOST functions supported)
|
|
|
|
Notes:
|
|
|
|
Note 1 - function 63 Returns error code and lead byte table pointer
|
|
DS:SI (function 0). Functions 1 and 2 return error code -1
|
|
(Korean Hangul keyboard input method not supported), but our
|
|
UNSTABLE kernels can contain more NLSFUNC / COUNTRY support.
|
|
|
|
Note 2 - for LFN support, you can load a separate driver like DOSLFN.
|
|
It will hook int 21 and provide long file name functionality.
|
|
|
|
Note 3 - planned, but the implementation will be in SHARE. The DOS
|
|
kernel only calls hooks (via far call) in a table which is
|
|
right before the SFT (list of lists [4] points to SFT). As
|
|
long as our SHARE does not support the hooks, they are not
|
|
supported either, the unused hook table would waste memory.
|
|
|
|
License
|
|
-------
|
|
See COPYING in DOS-C root directory for license.
|
|
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
$Id: intfns.txt 1344 2007-07-28 18:29:50Z mceric $
|