// devices.h // Author: Josh Holtrop // Date: 08/02/04 // Modified: 08/07/04 #ifndef __HOS_DEVICES_H__ #define __HOS_DEVICES_H__ __HOS_DEVICES_H__ #include "hos_defines.h" #define MAJORC_VCONSOLE 4 #define MAJORC_PARALLEL 6 typedef unsigned char major_t; typedef unsigned char minor_t; typedef struct { int (*block_read)(minor_t minor, u32_t blockStart, u32_t blocks, void *buffer); int (*block_write)(minor_t minor, u32_t blockStart, u32_t blocks, void *buffer); int (*char_read)(minor_t minor); int (*char_write)(minor_t minor, int c); } dev_driver_t; void devices_init(); int devices_register_major(char type, major_t major, dev_driver_t *dev); int block_read(major_t major, minor_t minor, u32_t blockStart, u32_t blocks, void *buffer); int block_write(major_t major, minor_t minor, u32_t blockStart, u32_t blocks, void *buffer); int char_read(major_t major, minor_t minor); int char_write(major_t major, minor_t minor, int c); #endif