28 lines
675 B
C
28 lines
675 B
C
// devices.h
|
|
// Author: Josh Holtrop
|
|
// Date: 08/02/04
|
|
// Modified: 08/03/04
|
|
|
|
#ifndef __HOS_DEVICES_H__
|
|
#define __HOS_DEVICES_H__ __HOS_DEVICES_H__
|
|
|
|
#include "hos_defines.h"
|
|
|
|
#define MAJOR_CONSOLE 4
|
|
|
|
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, u64_t position);
|
|
int (*char_write)(minor_t minor, u64_t position, int value);
|
|
} dev_driver_t;
|
|
|
|
void devices_init();
|
|
int devices_register_major(char type, major_t major, dev_driver_t *dev);
|
|
|
|
#endif
|
|
|