[PATCH libevdev 2/6] Move some functions/macros between libevdev-int.h and libevdev-util.h

Peter Hutterer peter.hutterer at who-t.net
Wed Mar 5 20:44:26 PST 2014


This allows libevdev-util.h to be used by tests, it no longer relies on
libevdev internal structs.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 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 <stdbool.h>
 #include <errno.h>
 #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 <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
-- 
1.8.5.3



More information about the Input-tools mailing list