1 #ifdef E_TYPEDEFS
2 
3 /* enum for various event types */
4 typedef enum _E_Acpi_Type
5 {
6    E_ACPI_TYPE_UNKNOWN = 0,
7 
8    E_ACPI_TYPE_AC_ADAPTER, // 1
9    E_ACPI_TYPE_BATTERY, // 2
10    E_ACPI_TYPE_BUTTON, // 3
11    E_ACPI_TYPE_FAN, // 4
12    E_ACPI_TYPE_LID, // 5
13    E_ACPI_TYPE_POWER, // 6
14    E_ACPI_TYPE_PROCESSOR, // 7
15    E_ACPI_TYPE_SLEEP, // 8
16    E_ACPI_TYPE_THERMAL, // 9
17    E_ACPI_TYPE_VIDEO, // 10
18    E_ACPI_TYPE_WIFI, // 11
19    E_ACPI_TYPE_HIBERNATE, // 12
20    E_ACPI_TYPE_ZOOM_OUT, // 13
21    E_ACPI_TYPE_ZOOM_IN, // 14
22    E_ACPI_TYPE_BRIGHTNESS_DOWN, // 15
23    E_ACPI_TYPE_BRIGHTNESS_UP, // 16
24    E_ACPI_TYPE_ASSIST, // 17
25    E_ACPI_TYPE_S1, // 18
26    E_ACPI_TYPE_VAIO, // 19
27    E_ACPI_TYPE_MUTE, // 20
28    E_ACPI_TYPE_VOLUME, // 21
29    E_ACPI_TYPE_BRIGHTNESS, // 22
30    E_ACPI_TYPE_VOLUME_DOWN, // 23
31    E_ACPI_TYPE_VOLUME_UP, // 24
32    E_ACPI_TYPE_TABLET_ON, // 25
33    E_ACPI_TYPE_TABLET_OFF, // 26
34    E_ACPI_TYPE_ZOOM, // 27
35    E_ACPI_TYPE_SCREENLOCK, // 28
36    E_ACPI_TYPE_BATTERY_BUTTON, // 29
37    E_ACPI_TYPE_TABLET // 30
38 } E_Acpi_Type;
39 
40 /* enum for acpi signals */
41 typedef enum _E_Acpi_Device_Signal
42 {
43    E_ACPI_DEVICE_SIGNAL_UNKNOWN, // 0
44    E_ACPI_DEVICE_SIGNAL_NOTIFY = 80,
45    E_ACPI_DEVICE_SIGNAL_CHANGED = 82, // device added or removed
46    E_ACPI_DEVICE_SIGNAL_AWAKE = 83,
47    E_ACPI_DEVICE_SIGNAL_EJECT = 84
48 } E_Acpi_Device_Signal;
49 
50 /* enum for lid status */
51 typedef enum _E_Acpi_Lid_Status
52 {
53    E_ACPI_LID_UNKNOWN, // 0
54    E_ACPI_LID_CLOSED, // 1
55    E_ACPI_LID_OPEN // 2
56 } E_Acpi_Lid_Status;
57 
58 /* struct used to pass to event handlers */
59 typedef struct _E_Event_Acpi E_Event_Acpi;
60 
61 #else
62 # ifndef E_ACPI_H
63 #  define E_ACPI_H
64 
65 struct _E_Event_Acpi
66 {
67    const char *device, *bus_id;
68    int         type, signal, status;
69 };
70 
71 EINTERN int e_acpi_init(void);
72 EINTERN int e_acpi_shutdown(void);
73 
74 EINTERN E_Acpi_Lid_Status e_acpi_lid_status_get(void);
75 E_API Eina_Bool e_acpi_lid_is_closed(void);
76 E_API void e_acpi_events_freeze(void);
77 E_API void e_acpi_events_thaw(void);
78 
79 extern E_API int E_EVENT_ACPI;
80 
81 # endif
82 #endif
83