From 4c2f2fb867cfe64f217a246010a2e2722514dd90 Mon Sep 17 00:00:00 2001 From: Benji Dial Date: Tue, 17 Dec 2019 00:43:52 -0500 Subject: a good deal of process --- src/kernel/files.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/kernel/files.h (limited to 'src/kernel/files.h') diff --git a/src/kernel/files.h b/src/kernel/files.h new file mode 100644 index 0000000..31ad21f --- /dev/null +++ b/src/kernel/files.h @@ -0,0 +1,40 @@ +/* +Copyright 2019 Benji Dial + +Permission to use, copy, modify, and/or distribute this +software for any purpose with or without fee is hereby +granted, provided that the above copyright notice and this +permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS +ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO +EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. +*/ + +#include + +#ifndef FILES_H +#define FILES_H + +struct file_handle_info { + uint16_t first_sector; + uint16_t current_sector; + uint8_t *io_buffer; + uint32_t position; +}; + +#define FILE_HANDLES ((struct file_handle_info *)*(uint32_t *)0x0000050c) +uint16_t open_file(uint8_t *name); +void close_file(uint16_t handle); +void read_file(uint16_t handle, uint32_t length, void *buffer); +void write_file(uint16_t handle, uint32_t length, void *buffer); +void seek_file(uint16_t handle, int32_t by); +uint32_t get_size(uint16_t handle); + +#endif \ No newline at end of file -- cgit v1.2.3