13 Devices and their properties

Ironclad exposes a number of physical and virtual devices to userland. All of them are exposed under the /dev location, and support a series of standard operations, like being manipulated by the usual file-related syscalls like read or write, while sporting device-specific interfaces in the form of device-specific ioctl requests.

When quering device-specific information, Ironclad exposes information a bit different than other kernels like Linux. Here is a quick list of the most notable differences:

All devices in Ironclad have the ioctl call DEV_UUID implemented, with the signature:

#define DEV_UUID 0x9821

ioctl(fd, DEV_UUID, &pointer_to_uuid); -- uuids being uint8_t[16];

This call will write the UUID of the device pointed to by fd, which, if all zeros, will mean that the device has no associated UUID.