#include #include #include #include #if defined(__linux__) #include #include #include #elif defined(__FreeBSD__) #include #else #error Unsupported platform #endif #include "evdev.h" #define STRLEN(s) ((sizeof(s) / sizeof(s[0])) - 1) int path_is_evdev(const char *path) { static const char prefix[] = "/dev/input/event"; static const size_t prefixlen = STRLEN(prefix); return strncmp(prefix, path, prefixlen) == 0; } int evdev_revoke(int fd) { return ioctl(fd, EVIOCREVOKE, NULL); } #if defined(__linux__) int dev_is_evdev(dev_t device) { return major(device) == INPUT_MAJOR; } #endif