35,15 → 35,25 |
#ifndef KERN_I8042_H_ |
#define KERN_I8042_H_ |
|
#include <ddi/irq.h> |
#include <arch/types.h> |
#include <console/chardev.h> |
#include <typedefs.h> |
|
extern void i8042_init(devno_t kbd_devno, inr_t kbd_inr, devno_t mouse_devno, inr_t mouse_inr); |
extern void i8042_poll(void); |
extern void i8042_grab(void); |
extern void i8042_release(void); |
extern char i8042_key_read(chardev_t *d); |
struct i8042 { |
ioport8_t data; |
uint8_t pad[3]; |
ioport8_t status; |
} __attribute__ ((packed)); |
typedef struct i8042 i8042_t; |
|
typedef struct i8042_instance { |
devno_t devno; |
irq_t irq; |
i8042_t *i8042; |
} i8042_instance_t; |
|
extern bool i8042_init(i8042_t *, devno_t, inr_t); |
|
#endif |
|
/** @} |