DOS Packet Reference

The RKM (2024 edition by Thomas Richter) documents the complete set of AmigaDOS packets in §14. This article is a comprehensive reference organized by function. Packets are the internal IPC mechanism between dos.library and filesystem handlers.

File packets

Packet DOS API Purpose
ACTION_FINDINPUT Open(MODE_OLDFILE) Open for shared read
ACTION_FINDOUTPUT Open(MODE_NEWFILE) Open for exclusive write
ACTION_FINDUPDATE Open(MODE_READWRITE) Open for shared read+write
ACTION_FH_FROM_LOCK OpenFromLock() Open from existing lock
ACTION_END Close() Close file handle
ACTION_READ Read() Read bytes
ACTION_WRITE Write() Write bytes
ACTION_SEEK Seek() Move file pointer
ACTION_SET_FILE_SIZE SetFileSize() (V36) Truncate/extend
ACTION_LOCK_RECORD LockRecord() Lock byte range
ACTION_FREE_RECORD UnLockRecord() Unlock byte range

Lock packets

Packet DOS API Purpose
ACTION_LOCATE_OBJECT Lock() Obtain a lock
ACTION_COPY_DIR DupLock() Duplicate lock (shared)
ACTION_PARENT ParentDir() Parent directory lock
ACTION_COPY_DIR_FH DupLockFromFH() (V36) Lock from file handle
ACTION_PARENT_FH ParentOfFH() (V36) Parent from file handle
ACTION_CREATE_DIR CreateDir() Create directory
ACTION_SAME_LOCK SameLock() Compare two locks
ACTION_CHANGE_MODE ChangeMode() Change lock/FH access mode
ACTION_FREE_LOCK UnLock() Release lock

Examine packets

Packet DOS API Purpose
ACTION_EXAMINE_OBJECT Examine() Examine locked object
ACTION_EXAMINE_NEXT ExNext() Iterate directory
ACTION_EXAMINE_ALL ExAll() (V36) Bulk directory read
ACTION_EXAMINE_ALL_END ExAllEnd() (V39) Abort ExAll scan
ACTION_EXAMINE_FH ExamineFH() (V36) Examine from file handle
Packet DOS API Purpose
ACTION_MAKE_LINK MakeLink() Create hard or soft link
ACTION_READ_LINK ReadLink() Resolve soft link

MakeLink() with LINK_HARD creates a hard link (same filesystem only). With LINK_SOFT creates a soft link (cross-filesystem, stores a string path).

Metadata packets

Packet DOS API Purpose
ACTION_RENAME_OBJECT Rename() Rename or move
ACTION_DELETE_OBJECT DeleteFile() Delete file/directory
ACTION_SET_PROTECT SetProtection() Set protection bits
ACTION_SET_COMMENT SetComment() Set file comment
ACTION_SET_DATE SetFileDate() Set modification date
ACTION_SET_OWNER SetOwner() (V39) Set UID/GID

Notification packets

Packet DOS API Purpose
ACTION_NOTIFY StartNotify() Register file change notification
ACTION_NOTIFY_MORE EndNotify() Cancel notification

Volume packets

Packet DOS API Purpose
ACTION_CURRENT_VOLUME (internal) Determine inserted volume
ACTION_INFO Info() Volume info from lock
ACTION_DISK_INFO Info() Volume info (system)
ACTION_RELABEL Relabel() Rename volume
ACTION_FORMAT Format() Format disk
ACTION_SERIALIZE_DISK (internal) Make disk unique
ACTION_WRITE_PROTECT (internal) Toggle write protect

Handler control packets

Packet Purpose
ACTION_MORE_CACHE Adjust filesystem cache buffers
ACTION_INHIBIT Inhibit/uninhibit filesystem (format uses this)
ACTION_IS_FILESYSTEM Check if handler is a real filesystem
ACTION_FLUSH Write out all pending modifications
ACTION_DIE Shutdown handler (rarely supported)
ACTION_NOP No operation (keep-alive / ping)

Console/interactive packets

Packet Purpose
ACTION_WAIT_CHAR Wait for input available
ACTION_SET_MODE Set line buffer mode
ACTION_SCREEN_MODE Get IORequest and window pointer from console

Packet communication pattern

Application → dos.library → SendPkt() → Handler's MsgPort
                                              ↓
                                         Handler processes
                                              ↓
Application ← dos.library ← ReplyPkt() ← Handler returns
  • DoPkt() — synchronous (blocks until reply)
  • SendPkt() — asynchronous (returns immediately, use WaitPkt())
  • AbortPkt() — attempt to cancel (buggy pre-V37, may not work)

For the async serialization rule (multiple packets on the same file handle must be serialized), see DOS Packets.

See Also


Sources: Thomas Richter, "Rom Kernel Reference Manual: AmigaDOS" (2024 edition), §14. Raw: raw/rkm/rkm-amigados-extract.md; raw/rkm/rkm-dos-book.md Updated: 2026-08-08