diff options
Diffstat (limited to 'libevdev/libevdev-util.h')
-rw-r--r-- | libevdev/libevdev-util.h | 73 |
1 files changed, 17 insertions, 56 deletions
diff --git a/libevdev/libevdev-util.h b/libevdev/libevdev-util.h index ddcf5e3..31c1a14 100644 --- a/libevdev/libevdev-util.h +++ b/libevdev/libevdev-util.h @@ -26,10 +26,26 @@ #include <config.h> #include <stdbool.h> #include <string.h> -#include "libevdev-int.h" +#define LONG_BITS (sizeof(long) * 8) +#define NLONGS(x) (((x) + LONG_BITS - 1) / LONG_BITS) +#define ARRAY_LENGTH(a) (sizeof(a) / (sizeof((a)[0]))) #define unlikely(x) (__builtin_expect(!!(x),0)) +#undef min +#undef max +#define min(a,b) \ + ({ __typeof__ (a) _a = (a); \ + __typeof__ (b) _b = (b); \ + _a > _b ? _b : _a; \ + }) +#define max(a,b) \ + ({ __typeof__ (a) _a = (a); \ + __typeof__ (b) _b = (b); \ + _a > _b ? _a : _b; \ + }) + + static inline bool startswith(const char *str, size_t len, const char *prefix, size_t plen) { @@ -63,59 +79,4 @@ set_bit_state(unsigned long *array, int bit, int state) clear_bit(array, bit); } -#define max_mask(uc, lc) \ - case EV_##uc: \ - *mask = dev->lc##_bits; \ - max = libevdev_event_type_get_max(type); \ - break; - - -static inline int -type_to_mask_const(const struct libevdev *dev, unsigned int type, const unsigned long **mask) -{ - int max; - - switch(type) { - max_mask(ABS, abs); - max_mask(REL, rel); - max_mask(KEY, key); - max_mask(LED, led); - max_mask(MSC, msc); - max_mask(SW, sw); - max_mask(FF, ff); - max_mask(REP, rep); - max_mask(SND, snd); - default: - max = -1; - break; - } - - return max; -} - -static inline int -type_to_mask(struct libevdev *dev, unsigned int type, unsigned long **mask) -{ - int max; - - switch(type) { - max_mask(ABS, abs); - max_mask(REL, rel); - max_mask(KEY, key); - max_mask(LED, led); - max_mask(MSC, msc); - max_mask(SW, sw); - max_mask(FF, ff); - max_mask(REP, rep); - max_mask(SND, snd); - default: - max = -1; - break; - } - - return max; -} - -#undef max_mask - #endif |