DOS Function Index - by Number

 This index lists all INT 21H functions, organized by function number,
 and identifying the DOS versions under which they are available.

 See DOS Function Index - by DOS Version to see functions in the
 chronological order in which they were added to DOS.
 See DOS Function Index - Quick Reference Subset for a one-screen summary.

Versions  DOS Function
 ┌────┐ ───────────────────────────────────────────────────────────────────
 │1.0+│  00H   Terminate a Program
 │1.0+│  01H   Keyboard Input
 │1.0+│  02H   Display Output
 │1.0+│  03H   Auxiliary Input
 │1.0+│  04H   Auxiliary Output
 │1.0+│  05H   Printer Output
 │1.0+│  06H   Console I/O
 │1.0+│  07H   No Echo Unfiltered Console Input
 │1.0+│  08H   No Echo Console Input
 │1.0+│  09H   Display String
 │1.0+│  0aH   Buffered String Input
 │1.0+│  0bH   Check Input Status
 │1.0+│  0cH   Clear & Input
 │1.0+│  0dH   Reset Disk
 │1.0+│  0eH   Select DOS Default Disk
 │1.0+│  0fH   Open File via FCB
 │1.0+│  10H   Close File via FCB
 │1.0+│  11H   Find 1st Matching File via FCB
 │1.0+│  12H   Find Next Matching File via FCB
 │1.0+│  13H   Delete File via FCB
 │1.0+│  14H   Read Sequential File via FCB
 │1.0+│  15H   Write Sequential File via FCB
 │1.0+│  16H   Create File via FCB
 │1.0+│  17H   Rename File via FCB
 │?.? │  18H   (unknown)                                         ◄obsolete►
 │1.0+│  19H   Query DOS Default Disk
 │1.0+│  1aH   Set Disk Transfer Address (DTA)
 │1.0+│  1bH   Get Drive Info (current disk)
 │2.0+│  1cH   Get Drive Info (any disk)
 │?.? │  1dH   (unknown)                                         ◄obsolete►
 │?.? │  1eH   (unknown)                                         ◄obsolete►
 │2.0+│  1fH   Get Drive Parameter Block (current disk)          ◄wasUndoc►
 │?.? │  20H   (unknown)                                         ◄obsolete►
 │1.0+│  21H   Read Random File Record
 │1.0+│  22H   Write Random File Record
 │1.0+│  23H   Query File Size via FCB
 │1.0+│  24H   Set Random File Block Address
 │1.0+│  25H   Set Interrupt Vector
 │1.0+│  26H   Create Program Segment Prefix
 │1.0+│  27H   Read Random File Block
 │1.0+│  28H   Write Random File Block
 │1.0+│  29H   Parse Filename
 │1.0+│  2aH   Query DOS Date
 │1.0+│  2bH   Set DOS Date
 │1.0+│  2cH   Query DOS Time
 │1.0+│  2dH   Set DOS Time
 │1.0+│  2eH   Set/Reset Verify Switch
 │2.0+│  2fH   Query Disk Transfer Address (DTA)
 │2.0+│  30H   Get DOS Version Number
 │2.0+│  31H   Terminate & Stay Resident
 │2.0+│  32H   Get DPB (Drive Parameter Block)                   ◄wasUndoc►
 │2.0+│  3300H Query Break-Check Flag
 │2.0+│  3301H Set Break-check level
 │2.0+│  3305H Get Boot Drive                                    ◄wasUndoc►5.0+3306H Get DOS Version Info (and HMA use)
 │2.0+│  34H   Get InDOS Address (DOS Reentrancy Status)         ◄wasUndoc►
 │2.0+│  35H   Get Interrupt Vector
 │2.0+│  36H   Get Disk Free Space
 │?.? │  3700H Query Switchar                                    ◄obsolete►
 │?.? │  3701H Set Switchar                                      ◄obsolete►
 │2.0+│  38H   Get/Set Country-dependent Info
 │2.0+│  39H   Create a New Directory -- MKDIR
 │2.0+│  3aH   Delete a Directory -- RMDIR
 │2.0+│  3bH   Set DOS Default Directory -- CHDIR
 │2.0+│  3cH   Create a File via Handle
 │2.0+│  3dH   Open a File via Handle
 │2.0+│  3eH   Close a File Handle
 │2.0+│  3fH   Read from File via Handle
 │2.0+│  40H   Write to File via Handle
 │2.0+│  41H   Delete File
 │2.0+│  42H   Set File Pointer
 │2.0+│  4300H Query File Attribute
 │2.0+│  4301H Set File Attribute
 │2.0+│  4400H IOCTL Query Device/File Flags
 │2.0+│  4401H IOCTL Set Device/File Flags
 │2.0+│  4402H IOCTL Receive Control Data from Char Device
 │2.0+│  4403H IOCTL Send Control Data to Character Device
 │2.0+│  4404H IOCTL Receive Control Data from Block Device
 │2.0+│  4405H IOCTL Send Control Data to Block Device
 │2.0+│  4406H IOCTL Query Handle Input Status
 │2.0+│  4407H IOCTL Query Handle Output Status
 │3.0+4408H IOCTL Does Drive Use Removable Media
 │3.1+4409H IOCTL Is Drive Remote
 │3.1+440aH IOCTL Is File/Device Remote
 │3.1+440bH IOCTL Set Sharing Retry Count
 │3.3+440cH 45H IOCTL Set Retry Iteration Count
 │3.3+440cH 4AH IOCTL Select Code Page
 │3.3+440cH 4CH IOCTL Start Code Page Prepare
 │3.3+440cH 4DH IOCTL End Code Page Prepare
 │4.0+440cH 5Fh IOCTL Set Display Mode
 │3.3+440cH 65H IOCTL Query Retry Iteration Count
 │3.3+440cH 6AH IOCTL Query Current Code Page
 │3.3+440cH 6BH IOCTL Query Code Page List
 │4.0+440cH 7Fh IOCTL Query Display Mode
 │3.2+440dH 40H IOCTL Set Device Parameters
 │3.2+440dH 41H IOCTL Write Track on Logical Drive
 │3.2+440dH 42H IOCTL Format Track on Logical Drive
 │4.0+440dH 46H IOCTL Set Media ID
 │3.2+440dH 47H IOCTL Set Access Flag
 │3.2+440dH 60H IOCTL Query Device Parameters
 │3.2+440dH 61H IOCTL Read Track on Logical Drive
 │3.2+440dH 62H IOCTL Verify Track on Logical Drive
 │5.0+440dH 66H IOCTL Query Media ID
 │4.0440dH 67H IOCTL Query Access Flag
 │3.2+440dH 68H IOCTL Sense Media Type
 │3.2+440eH IOCTL Query Logical Drive Map
 │3.2+440fH IOCTL Set Logical Drive Map
 │5.0+4410H IOCTL Query IOCTL Support for Handle
 │5.0+4411H IOCTL Query IOCTL Support for Device
 │2.0+│  45H   Duplicate a File Handle
 │2.0+│  46H   Redirect a Handle
 │2.0+│  47H   Query Default Directory
 │2.0+│  48H   Allocate Memory / Query Free Memory
 │2.0+│  49H   Free Allocated Memory Block
 │2.0+│  4aH   Shrink or Expand a Memory Block
 │2.0+│  4b00H Execute a Program -- EXEC
 │2.0+│  4b01H Load Program                                      ◄wasUndoc►
 │2.0+│  4b03H Load Overlay
 │5.0+4b05H Set Execution State
 │2.0+│  4cH   Terminate Program
 │2.0+│  4dH   Get Program Exit Code
 │2.0+│  4eH   Find 1st Matching File
 │2.0+│  4fH   Find Next Matching File
 │2.0+│  50H   Set PSP                                           ◄wasUndoc►
 │2.0+│  51H   Query Current PSP                                 ◄wasUndoc►
 │????│  52H   Get DOS Variables                                    ◄undoc►
 │????│  53H   Convert BPB to DPB                                   ◄undoc►
 │2.0+│  54H   Get DOS Verify State
 │2.0+│  56H   Rename/Move a File
 │2.0+│  5700H Query File Time/Date
 │2.0+│  5701H Set File Time/Date
 │3.0+5800H Query Memory Allocation Strategy
 │3.0+5801H Set Memory Allocation Strategy
 │5.0+5802H Query Upper-Memory Link State
 │5.0+5803H Set Upper-Memory Link State
 │3.0+59H   Get Extended Error Info
 │3.0+5aH   Create Unique Temporary File
 │3.0+5bH   Create New File
 │3.1+5c00H Lock File Access
 │3.1+5c01H Unlock File Access
 │4.0+5d0aH Set Extended Error
 │3.1+5e00H Query Network Node Name
 │3.1+5e02H Set Network Printer Setup
 │3.1+5e03H Query Network Printer Setup
 │3.1+5f02H Network Query Assign-List Entry
 │3.1+5f03H Make Network Connection
 │3.1+5f04H Delete Network Connection
 │????│  60H   Query TrueName                                       ◄undoc►
 │2.0+│  62H   Query Current PSP                                 ◄wasUndoc►3.3+6501H Get Extended Country Information
 │3.3+6504H Get Uppercase Table
 │3.3+6505H Get Filename Character Table
 │3.3+6506H Get Collating Sequence Table
 │3.3+6507H Get Double-Byte Character Set
 │3.3+6520H Upshift Character
 │3.3+6521H Upshift String
 │3.3+6522H Upshift ASCIIZ String
 │3.3+6601H Query Active Code Page
 │3.3+6602H Activate Code Page
 │3.3+67H   Set File Handle Count
 │3.3+68H   Commit File
 │4.0+6cH   Extended Open/Create
See Also: Superseded DOS Functions
          Obsolete DOS Functions
          DOS Versions (summary of differences from version to version)