X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-terminal%2Fidev-internal.h;h=a159aef211a8922bfaa534afec1f0e57907f05ad;hb=b6e676ce41508e2aeea22202fc8f234126177f52;hp=3301ebf6e41f0cc372c6dfe4b3b3af116f56587f;hpb=c93e5a62ff599528c3bf2a8656825403aaebe093;p=elogind.git diff --git a/src/libsystemd-terminal/idev-internal.h b/src/libsystemd-terminal/idev-internal.h index 3301ebf6e..a159aef21 100644 --- a/src/libsystemd-terminal/idev-internal.h +++ b/src/libsystemd-terminal/idev-internal.h @@ -28,6 +28,7 @@ #include #include #include +#include #include "hashmap.h" #include "idev.h" #include "list.h" @@ -46,6 +47,14 @@ bool idev_is_evdev(idev_element *e); idev_element *idev_find_evdev(idev_session *s, dev_t devnum); int idev_evdev_new(idev_element **out, idev_session *s, struct udev_device *ud); +/* + * Keyboard Devices + */ + +bool idev_is_keyboard(idev_device *d); +idev_device *idev_find_keyboard(idev_session *s, const char *name); +int idev_keyboard_new(idev_device **out, idev_session *s, const char *name); + /* * Element Links */ @@ -107,6 +116,8 @@ struct idev_element_vtable { void (*disable) (idev_element *e); void (*open) (idev_element *e); void (*close) (idev_element *e); + void (*resume) (idev_element *e, int fd); + void (*pause) (idev_element *e, const char *mode); void (*feedback) (idev_element *e, idev_data *data); }; @@ -146,6 +157,8 @@ struct idev_session { idev_context *context; char *name; char *path; + sd_bus_slot *slot_resume_device; + sd_bus_slot *slot_pause_device; Hashmap *element_map; Hashmap *device_map;