summaryrefslogtreecommitdiff
path: root/libevdev/libevdev-util.h
diff options
context:
space:
mode:
Diffstat (limited to 'libevdev/libevdev-util.h')
-rw-r--r--libevdev/libevdev-util.h73
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