From 68a297577aed60bb81afc5e8bcfe0e3d2e95185f Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 6 Mar 2014 10:22:20 +1000 Subject: Move some functions/macros between libevdev-int.h and libevdev-util.h This allows libevdev-util.h to be used by tests, it no longer relies on libevdev internal structs. Signed-off-by: Peter Hutterer Reviewed-by: Benjamin Tissoires --- libevdev/libevdev-int.h | 72 ++++++++++++++++++++++++++++++++++++----------- libevdev/libevdev-util.h | 73 +++++++++++------------------------------------- 2 files changed, 73 insertions(+), 72 deletions(-) diff --git a/libevdev/libevdev-int.h b/libevdev/libevdev-int.h index 2bc8750..5ff6026 100644 --- a/libevdev/libevdev-int.h +++ b/libevdev/libevdev-int.h @@ -29,10 +29,8 @@ #include #include #include "libevdev.h" +#include "libevdev-util.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 MAX_NAME 256 #define MAX_SLOTS 60 #define ABS_MT_MIN ABS_MT_SLOT @@ -42,19 +40,6 @@ #define LIBEVDEV_PRINTF(_format, _args) __attribute__ ((format (printf, _format, _args))) #define ALIAS(_to) __attribute__((alias(#_to))) -#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; \ - }) - /** * Sync state machine: * default state: SYNC_NONE @@ -279,5 +264,60 @@ queue_set_num_elements(struct libevdev *dev, size_t nelem) return 0; } + +#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 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 #include #include -#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 -- cgit v1.2.1