mirror of
				https://github.com/FDOS/kernel.git
				synced 2025-10-31 03:14:40 +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 $
 |