diff options
author | Ian Moffett <ian@osmora.org> | 2025-10-14 21:38:36 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-10-14 21:38:36 -0400 |
commit | d421a25891ba098ef5b6c67a0ef099351e20ff0a (patch) | |
tree | a82ac52fe59988f58a78e8ee06d8a6e29f540c98 /src/sys/include | |
parent | eb92e07911b148e626fadd63ccd04af6a6c24484 (diff) |
kern: dms: Add DMS QUERY opcode for devinfo
Add a new QUERY operation code that is used to fetch information about a
specific disk.
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'src/sys/include')
-rw-r--r-- | src/sys/include/dms/dms.h | 7 | ||||
-rw-r--r-- | src/sys/include/sys/dms.h | 20 |
2 files changed, 21 insertions, 6 deletions
diff --git a/src/sys/include/dms/dms.h b/src/sys/include/dms/dms.h index 8453723..835f667 100644 --- a/src/sys/include/dms/dms.h +++ b/src/sys/include/dms/dms.h @@ -34,6 +34,7 @@ #include <sys/queue.h> #include <sys/cdefs.h> #include <sys/types.h> +#include <sys/dms.h> /* * Maximum attached disks, from kconf @@ -49,12 +50,6 @@ __static_assert( "maxiumum disks cannot be zro!" ); -/* Parameters */ -#define DISKNAME_MAX 128 /* Disk name maxlen */ - -/* ID of the disk */ -typedef uint16_t disk_id_t; - /* Forward declarations */ struct dms_disk; diff --git a/src/sys/include/sys/dms.h b/src/sys/include/sys/dms.h index b4d291d..fdc290a 100644 --- a/src/sys/include/sys/dms.h +++ b/src/sys/include/sys/dms.h @@ -36,8 +36,28 @@ #include <stddef.h> #endif /* !_KERNEL */ +#define DISKNAME_MAX 128 /* Disk name maxlen */ + #define DMS_OPC_READ 0x00 /* Read from drive */ #define DMS_OPC_WRITE 0x01 /* Write to drive */ +#define DMS_OPC_QUERY 0x02 /* Query a drive */ + +/* ID of the disk */ +typedef uint16_t disk_id_t; + +/* + * Represents disk information that can be requested + * from a device with a query + * + * @name: Name of disk + * @bsize: Block size + * @id: ID of disk + */ +struct dms_diskinfo { + char name[DISKNAME_MAX]; + uint16_t bsize; + disk_id_t id; +}; /* * Represents data that can be sent between the |