The MS-DOS input/output control (IOCTL) functions provide a consistent and expandable interface between programs and device drivers.
Following are the MS-DOS IOCTL functions. Minor codes associated with Generic IOCTL for Character Devices (Function 440Ch) and Generic IOCTL for Block Devices (Function 440Dh) are indented.
| Function | Description | Version |
| 4400h | Get Device Data | 2.0 | |
| 4401h | Set Device Data | 2.0 | |
| 4402h | Receive Control Data from Character Device | 2.0 | |
| 4403h | Send Control Data to Character Device | 2.0 | |
| 4404h | Receive Control Data from Block Device | 2.0 | |
| 4405h | Send Control Data to Block Device | 2.0 | |
| 4406h | Check Device Input Status | 2.0 | |
| 4407h | Check Device Output Status | 2.0 | |
| 4408h | Does Device Use Removable Media | 3.0 | |
| 4409h | Is Drive Remote | 3.1 | |
| 440Ah | Is File or Device Remote | 3.1 | |
| 440Bh | Set Sharing Retry Count | 3.0 | |
| 440Ch | Generic IOCTL for Character Devices | ||
| 45h | Set Iteration Count | 3.3 | |
| 4Ah | Select Code Page | 3.3 | |
| 4Ch | Start Code-Page Prepare | 3.3 | |
| 4Dh | End Code-Page Prepare | 3.3 | |
| 5Fh | Set Display Mode | 4.0 | |
| 65h | Get Iteration Count | 3.3 | |
| 6Ah | Query Selected Code Page | 3.3 | |
| 6Bh | Query Code-Page Prepare List | 3.3 | |
| 7Fh | Get Display Mode | 4.0 | |
| 440Dh | Generic IOCTL for Block Devices | ||
| 40h | Set Device Parameters | 3.2 | |
| 41h | Write Track on Logical Drive | 3.2 | |
| 42h | Format Track on Logical Drive | 3.2 | |
| 46h | Set Media ID | 4.0 | |
| 60h | Get Device Parameters | 3.2 | |
| 61h | Read Track on Logical Drive | 3.2 | |
| 62h | Verify Track on Logical Drive | 3.2 | |
| 66h | Get Media ID | 4.0 | |
| 68h | Sense Media Type | 5.0 | |
| 440Eh | Get Logical Drive Map | 3.2 | |
| 440Fh | Set Logical Drive Map | 3.2 | |
| 4410h | Query IOCTL Handle | 5.0 | |
| 4411h | Query IOCTL Device | 5.0 | |