Something that I have always felt is lacking in AmigaOS is a way to get what type a device is.
GetDeviceType("CD0:"); then have a struct with the fields filled in:
Type=CDROM (or DVD, BluRay)
Removable=TRUE
Capacity=650MB (or 4G, 25G)
Writable=TRUE
Vendor=ASUS
etc.....
GetDeviceType("DH0:");
Type=Harddisk
Removable=FALSE
Capacity=8GB
Writable=TRUE
BlockSize=512
etc.....
GetDeviceType("RAD:");
Type=VirtualMemoryDevice
Removable=TRUE/FALSE (acts like a floppy)
Capacity=144MB (1.44MB)
etc....
You get the idea. Build a "library" of other devices (USB (thumb drive and external harddrives), BluRay, Network share, etc) to ease in identifying the devices. Good example: an ISO burning program needs to identify which device is the CDROM and which is the burner (maybe have 2 drives, 1 read only and 1 burner). And without a disc in the drive.
If you look at ImgBurn when ready to burn the ISO, it pulls tons of info about the drive, most of which is on the device itself. Something like that would be great.
GetDeviceType()
GetDeviceType()
Workbench Explorer - A better way to browse drawers