mirror of
				https://github.com/FDOS/kernel.git
				synced 2025-11-03 20:54:35 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			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 $
 |