- Info
1
17
18
24
25 #ifndef _INCLUDE__IO_PORT_SESSION__IO_PORT_SESSION_H_
26 #define _INCLUDE__IO_PORT_SESSION__IO_PORT_SESSION_H_
27
28 #include <base/capability.h>
29
30 namespace Genode {
31
32 class Io_port_session
33 {
34 protected:
35
36 enum Opcode { INB, INW, INL, OUTB, OUTW, OUTL };
37
38 public:
39
40 static const char *service_name() { return "IO_PORT"; }
41
42 virtual ~Io_port_session() { }
43
44
47
48
55 virtual unsigned char inb(unsigned short address) = 0;
56
57
64 virtual unsigned short inw(unsigned short address) = 0;
65
66
73 virtual unsigned inl(unsigned short address) = 0;
74
75
76
79
80
86 virtual void outb(unsigned short address, unsigned char value) = 0;
87
88
94 virtual void outw(unsigned short address, unsigned short value) = 0;
95
96
102 virtual void outl(unsigned short address, unsigned value) = 0;
103 };
104 }
105
106 #endif