FreeDOS/docs/intfns.txt
Eric Auer 65798a9203 Clarified description of 21.63 (country / nlsfunc), 21.71
(long file names) and 21.5d0x (share). The share extensions
need both SHARE and kernel extensions, neither are done yet.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1344 6ac86273-5f31-0410-b378-82cca8765d1b
2007-07-28 18:29:50 +00:00

199 lines
8.7 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$