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 $