typedef struct Device Device; struct Device { QLock; int active; void (*init)(void); u8int (*read)(void); // byte 0 read void (*write)(u8int); // byte 0 write u8int (*status)(void); // byte 1 read void (*cmd)(u8int); // byte 1 write u8int dat[14];}; extern Device *devs[];extern Device console;extern Device disk; u8int devread(Device*, u8int);void devwrite(Device*, u8int, u8int); // console.cvoid consinit(void); // disk.cvoid initdisk(int, u32int);
typedef struct Device Device;
struct Device {
QLock;
int active;
void (*init)(void);
u8int (*read)(void); // byte 0 read
void (*write)(u8int); // byte 0 write
u8int (*status)(void); // byte 1 read
void (*cmd)(u8int); // byte 1 write
u8int dat[14];
};
extern Device *devs[];
extern Device console;
extern Device disk;
u8int devread(Device*, u8int);
void devwrite(Device*, u8int, u8int);
// console.c
void consinit(void);
// disk.c
void initdisk(int, u32int);