diff options
author | leleraffa97@hotmail.it <leleraffa97@hotmail.it> | 2017-08-31 16:56:06 +0200 |
---|---|---|
committer | leleraffa97@hotmail.it <leleraffa97@hotmail.it> | 2017-08-31 16:56:06 +0200 |
commit | aa1eb39e9266c51082ed2d8744e97ad674b6496c (patch) | |
tree | 0dfbead4937804b8154f98ee3864b24e9e024260 /sw/z80/kernel/include/sio.h | |
parent | time to inode (diff) | |
download | z80uPC-aa1eb39e9266c51082ed2d8744e97ad674b6496c.tar.gz z80uPC-aa1eb39e9266c51082ed2d8744e97ad674b6496c.zip |
File system interface
Basic file system implementation
Path resolution work in progress
Diffstat (limited to '')
-rw-r--r-- | sw/z80/kernel/include/sio.h | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/sw/z80/kernel/include/sio.h b/sw/z80/kernel/include/sio.h index 9dc47f6..2efd706 100644 --- a/sw/z80/kernel/include/sio.h +++ b/sw/z80/kernel/include/sio.h @@ -3,8 +3,7 @@ #include "types.h" -#define SIO_ROM 0x0 - +#define SIO_PORT_0 0x0 #define SIO_PORT_1 0x1 #define SIO_PORT_2 0x2 #define SIO_PORT_3 0x3 @@ -13,37 +12,32 @@ #define SIO_PORT_6 0x6 #define SIO_PORT_7 0x7 -/* initialize serial interface */ -void sio_init(); +/* current port in use */ +extern uint8_t sio_port; -/* return the device address in the address space */ -void * sio_dev_addr(uint8_t dev); -/* return the driver id to be used on dev */ -uint8_t sio_dev_driver(uint8_t dev); +/* current seek in the device */ +extern devsize_t sio_seek; -/* set current device in use */ -void sio_set_dev(uint8_t dev); -/* get current device in use */ -uint8_t sio_cdev(); +struct dev_buffer +{ + // TODO, bytes needed to the device buffer interface +}; -/* get pointer in given device */ -uint16_t sio_tellg(uint8_t dev); -/* get pointer in current device */ -uint16_t sio_ctellg(); +/* points to the buffers mapped in the I/O space */ +/* to be defined precisely in assemly */ +extern volatile struct dev_buffer sio_buffers[8]; -/* set pointer in given device */ -int sio_seekg(uint8_t dev, uint16_t value); -/* set pointer in current device */ -int sio_seekg(uint16_t value); +/* initialize serial interface */ +void sio_init(); /* syscall: read one byte from the current device */ uint8_t sio_recv(); /* syscall: write one byte into the current device */ void sio_send(uint8_t value); -/* read n bytes from the current device */ -char * sio_read(uint8_t *buffer, size_t n); -/* write n bytes into the current device */ -int sio_write(const uint8_t *buffer, size_t n); +/* read n bytes from the current port */ +size_t sio_read(void *buffer, size_t n); +/* write n bytes into the current port */ +int8_t sio_write(const void *buffer, size_t n); #endif |