Import backup from 2004-08-03
This commit is contained in:
1 parent
a50c2a1233
commit
cd02211b21
12 files changed
+270
-79
No files matched your search
+13
-6
@@ -1,6 +1,7 @@
|
||||
// devices.c
|
||||
// Author: Josh Holtrop
|
||||
// Date: 08/02/04
|
||||
// Modified: 08/03/04
|
||||
|
||||
|
||||
#include "fs/devices.h"
|
||||
@@ -10,16 +11,22 @@ dev_driver_t drivers[256];
|
||||
char drivers_registered[256]; //0 (unregistered), 'b', 'c'
|
||||
|
||||
|
||||
void dev_init()
|
||||
void devices_init()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
int dev_register_major(major_t major, dev_driver_t *dev)
|
||||
int devices_register_major(char type, major_t major, dev_driver_t *dev)
|
||||
{
|
||||
if (registered[major])
|
||||
return -1; //driver already registered
|
||||
drivers[major] = *dev;
|
||||
return 0;
|
||||
if (type == 'b' || type == 'c')
|
||||
{
|
||||
if (drivers_registered[major])
|
||||
return -1; //driver already registered
|
||||
drivers[major] = *dev;
|
||||
drivers_registered[major] = type;
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
+11
-7
@@ -1,23 +1,27 @@
|
||||
// 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)(u32_t blockStart, u32_t blocks, void *buffer);
|
||||
int (*block_write)(u32_t blockStart, u32_t blocks, void *buffer);
|
||||
int (*char_read)(u64_t position);
|
||||
int (*char_write)(u64_t position, int value);
|
||||
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 dev_init();
|
||||
int dev_register_major(major_t major, dev_driver_t *dev);
|
||||
void devices_init();
|
||||
int devices_register_major(char type, major_t major, dev_driver_t *dev);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in new issue
Block a user