Subversion Repositories HelenOS

Rev

Rev 3924 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3924 Rev 4026
Line 36... Line 36...
36
 */
36
 */
37
 
37
 
38
#ifndef KBD_PORT_i8042_H_
38
#ifndef KBD_PORT_i8042_H_
39
#define KBD_PORT_i8042_H_
39
#define KBD_PORT_i8042_H_
40
 
40
 
41
#include <ddi.h>
-
 
42
#include <libarch/ddi.h>
41
#include <libarch/ddi.h>
-
 
42
#include <libarch/types.h>
43
 
43
 
44
#define i8042_DATA      0x60
-
 
45
#define i8042_STATUS    0X64
44
struct i8042 {
46
 
-
 
47
 
-
 
48
typedef unsigned char u8;
-
 
49
typedef short u16;
45
    ioport8_t data;
50
 
-
 
51
static inline void i8042_data_write(u8 data)
-
 
52
{
-
 
53
    outb(i8042_DATA, data);
46
    uint8_t pad[3];
54
}
-
 
55
 
-
 
56
static inline u8 i8042_data_read(void)
-
 
57
{
-
 
58
    return inb(i8042_DATA);
47
    ioport8_t status;
59
}
-
 
60
 
-
 
61
static inline u8 i8042_status_read(void)
48
} __attribute__ ((packed));
62
{
-
 
63
    return inb(i8042_STATUS);
49
typedef struct i8042 i8042_t;
64
}
-
 
65
 
-
 
66
static inline void i8042_command_write(u8 command)
-
 
67
{
-
 
68
    outb(i8042_STATUS, command);
-
 
69
}
-
 
70
 
50
 
71
#endif
51
#endif
72
 
52
 
73
/**
53
/**
74
 * @}
54
 * @}