diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-28 09:30:38 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-28 09:30:38 +0100 |
| commit | 7df7ed6d026c5e1f3b8111e3536af3771301c177 (patch) | |
| tree | f87916ee645aec06971a84dc1e9e5f1267fbe755 /include/fd.h | |
| parent | 176cf8f237745d658185a2fba8fff1401c1c2b5f (diff) | |
feat! firmware breaking changes on the API.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'include/fd.h')
| -rw-r--r-- | include/fd.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/fd.h b/include/fd.h new file mode 100644 index 0000000..c1dfff4 --- /dev/null +++ b/include/fd.h @@ -0,0 +1,30 @@ +// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) +// Distributed under the Apache Software License, Version 2.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.apache.org/licenses/LICENSE-2.0) +// Official repository: https://github.com/nekernel-org/neboot + +#pragma once + +#include <include/boot.h> + +struct _nb_file_descriptor; + +/// @brief NeBoot file/device descriptor. +/// @version 1 +typedef struct _nb_file_descriptor { + int32_t f_kind; + int32_t f_filesystem; + + size_t (*f_write)(void* ptr, size_t size, size_t nitems, struct _nb_file_descriptor* self); + size_t (*f_read)(void* ptr, size_t size, size_t nitems, struct _nb_file_descriptor* self); + int (*f_seek)(struct _nb_file_descriptor* self, size_t off, int whence); + int (*f_tell)(struct _nb_file_descriptor* self); + int (*f_rewind)(struct _nb_file_descriptor* self); + int (*f_eof)(struct _nb_file_descriptor* self); + int (*f_close)(struct _nb_file_descriptor* self); +} cb_file_descriptor_t; + +/// @brief Grabs a new device reference. +/// @param path the device path. +/// @return +cb_file_descriptor_t* cb_grab_fd(const char* path); |
