Specifications

CHAPTER 3. REQUIREMENTS SPECIFICATION 18
User space interface: /dev/i8k (minor 10, major 144)
Driver/Interface name: Dell SMM Driver
Data type: string
Permissions: read access for all users
Access method: open(2) and read(2)
User space interface: /dev/nvram (minor 10, major 144)
Driver/Interface name: IBM ThinkPad Button (NVRAM Driver)
Data type: binary
Permissions: read and write access for root
Access method: open(2) and read(2)
User space interface: /dev/sonypi(minor dynamic, major 10)
Driver/Interface name: Sony Programmable I/O Control Device Driver
Data type: binary
Permissions: read access for root
Access method: ioctl(2)
User space interface: /proc/acpi/toshiba/keys
Driver/Interface name: Toshiba ACPI Driver
Data type: string
Permissions: read and write access for root
Access method: open(2), read(2) and write(2)
User space interface: /proc/toshiba
Driver/Interface name: Toshiba SMM Driver
Data type: string
Permissions: read access for all users
Access method: ioctl(2)
Table 3.3: Specific Event Interface Attributes
trouble to set up the driver and the corresp onding application. The attributes of the specific
event interfaces are summarized in Table 3.3.
Output Interface
The output interface has to be implemented. It do es not yet exist. All events which can be
gathered using the above mentioned input interfaces have to be reported to this output inter-
face. All user space applications should be allowed to use the output interface to receive input
events. The events delivered by the output interface should have a common representation no
matter which input interface they originally came from. The common representation ensures
that the applications receiving events from the output interface are able to handle the events
even if the input interfaces are changing.
The output interface is the most important part of the Input Abstraction Layer. By means
of this interface, the mentioned gap between the existing Linux input device drivers and the
user interface can be closed. The attributes of the interface are elaborated in Chapter 4, §4.4.
Chapter 5 discusses the output interface’s implementation in detail.