diff options
author | Ian Moffett <ian@osmora.org> | 2025-08-18 03:08:04 +0000 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-08-18 03:08:40 +0000 |
commit | a834a3a7774a9db53664e64422f82f2de50c8712 (patch) | |
tree | 30a1d33ef9d67bdb7f8837b0df744b5d20bf375f /lib | |
parent | 8a64c7d6a3ff2cc0cf87ba47cbbe1c4fe3aa170e (diff) |
libc: disk: Implement disk_query() interface
Introduce a libc disk_query() to invoke the query operation of specific
disks via __disk_io()
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/src/hyra/disk.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/libc/src/hyra/disk.c b/lib/libc/src/hyra/disk.c index c3bf2ef..c7c7930 100644 --- a/lib/libc/src/hyra/disk.c +++ b/lib/libc/src/hyra/disk.c @@ -104,3 +104,22 @@ disk_read(diskid_t id, blkoff_t blk, void *buf, size_t len) disk_param_init(buf, blk, len, ¶m); return __disk_io(id, DISK_IO_READ, ¶m); } + +/* + * Query information from a specific disk + * + * @id: ID of disk to query from + * @res: Resulting information goes here + */ +int +disk_query(diskid_t id, struct disk_info *res) +{ + struct disk_param param; + + if (res == NULL) { + return -EINVAL; + } + + disk_param_init(res, 0, sizeof(*res), ¶m); + return __disk_io(id, DISK_IO_QUERY, ¶m); +} |