35 lines
952 B
C
35 lines
952 B
C
// 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
|
|
|