aboutsummaryrefslogtreecommitdiff
path: root/dos/chudisk.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2026-11-01 02:07:26 +0100
committerJavier <dev.git@javispedro.com>2026-11-01 02:07:26 +0100
commitc1ec955152b48b7938d20e9cba8b6e67479c2e73 (patch)
treef2fcff55d7a4d9962d08c973f7d49810f213954e /dos/chudisk.h
parent2b80e7e349eeb6b5839577946cff962470d57c21 (diff)
downloadchu-c1ec955152b48b7938d20e9cba8b6e67479c2e73.tar.gz
chu-c1ec955152b48b7938d20e9cba8b6e67479c2e73.zip
add a signature mechanism for ioctl control strings
Diffstat (limited to 'dos/chudisk.h')
-rw-r--r--dos/chudisk.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/dos/chudisk.h b/dos/chudisk.h
index 1d2fbe4..bc7f12d 100644
--- a/dos/chudisk.h
+++ b/dos/chudisk.h
@@ -54,7 +54,7 @@ extern struct chudisk_data
struct chudisk_unit {
/** Whether the partition exists (start_sector points to it) */
bool exists;
- /** Note in theory may be zero (superfloppy) */
+ /** Start sector of partition. Note in theory may be zero (superfloppy) */
uint32_t start_sector;
/** Number of sectors for this partition. */
uint32_t sectors;
@@ -78,15 +78,21 @@ extern uint8_t wait_for_ch375_result(unsigned int max_ticks);
// TODO Not sure we can really happily add custom minors here,
// but then again DOS outright refuses to accept any other major
enum CHUDISK_IOCTL_DISK_MINOR {
+ /** Read an absolute disk sector.
+ * This ignores any configured partition on this unit. */
CHUDISK_IOCTL_DISK_READ_ABS_SECTOR = 0xC1
};
typedef _Packed union CHUDISK_IOCTL_DISK_DATA
{
+ /* @see CHUDISK_IOCTL_DISK_READ_ABS_SECTOR */
struct CHUDISK_RWABSSECTOR {
- uint32_t sector;
- uint8_t sectors;
- void far * buffer;
+ /** Absolute starting sector. */
+ uint32_t sector;
+ /** Number of sectors to read. */
+ uint8_t sectors;
+ /** Buffer to read data into. */
+ void far * buffer;
} rwabs;
} CHUDISK_IOCTL_DISK_DATA;