Move utility functions to a separate header
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 4 Jun 2013 05:46:03 +0000 (15:46 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 4 Jun 2013 05:46:03 +0000 (15:46 +1000)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
libevdev/Makefile.am
libevdev/libevdev-util.h [new file with mode: 0644]
libevdev/libevdev.c

index cb7455e..8cffc2e 100644 (file)
@@ -3,6 +3,7 @@ lib_LTLIBRARIES=libevdev.la
 libevdev_la_SOURCES = \
                    libevdev.h \
                    libevdev-int.h \
+                   libevdev-util.h \
                    libevdev.c
 
 libevdev_la_LDFLAGS = -version-info $(LIBEVDEV_LT_VERSION) -export-symbols-regex '^libevdev_'
diff --git a/libevdev/libevdev-util.h b/libevdev/libevdev-util.h
new file mode 100644 (file)
index 0000000..ae24410
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ * Copyright © 2013 Red Hat, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no representations
+ * about the suitability of this software for any purpose.  It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+#ifndef _UTIL_H_
+#define _UTIL_H_
+
+#include <config.h>
+#include "libevdev-int.h"
+
+static inline int
+bit_is_set(const unsigned long *array, int bit)
+{
+    return !!(array[bit / LONG_BITS] & (1LL << (bit % LONG_BITS)));
+}
+
+static inline void
+set_bit(unsigned long *array, int bit)
+{
+    array[bit / LONG_BITS] |= (1LL << (bit % LONG_BITS));
+}
+
+static inline void
+clear_bit(unsigned long *array, int bit)
+{
+    array[bit / LONG_BITS] &= ~(1LL << (bit % LONG_BITS));
+}
+
+static inline void
+set_bit_state(unsigned long *array, int bit, int state)
+{
+       if (state)
+               set_bit(array, bit);
+       else
+               clear_bit(array, bit);
+}
+
+static unsigned int
+type_to_mask_const(const struct libevdev *dev, unsigned int type, const unsigned long **mask)
+{
+       unsigned int max;
+
+       switch(type) {
+               case EV_ABS:
+                       *mask = dev->abs_bits;
+                       max = ABS_MAX;
+                       break;
+               case EV_REL:
+                       *mask = dev->rel_bits;
+                       max = REL_MAX;
+                       break;
+               case EV_KEY:
+                       *mask = dev->key_bits;
+                       max = KEY_MAX;
+                       break;
+               case EV_LED:
+                       *mask = dev->led_bits;
+                       max = LED_MAX;
+                       break;
+               default:
+                    return 0;
+       }
+
+       return max;
+}
+
+static unsigned int
+type_to_mask(struct libevdev *dev, unsigned int type, unsigned long **mask)
+{
+       unsigned int max;
+
+       switch(type) {
+               case EV_ABS:
+                       *mask = dev->abs_bits;
+                       max = ABS_MAX;
+                       break;
+               case EV_REL:
+                       *mask = dev->rel_bits;
+                       max = REL_MAX;
+                       break;
+               case EV_KEY:
+                       *mask = dev->key_bits;
+                       max = KEY_MAX;
+                       break;
+               case EV_LED:
+                       *mask = dev->led_bits;
+                       max = LED_MAX;
+                       break;
+               default:
+                    return 0;
+       }
+
+       return max;
+}
+
+#endif
index 7808db3..76973bc 100644 (file)
 
 #include "libevdev.h"
 #include "libevdev-int.h"
+#include "libevdev-util.h"
 #include "event-names.h"
 
 #define MAXEVENTS 64
 
-static inline int
-bit_is_set(const unsigned long *array, int bit)
-{
-    return !!(array[bit / LONG_BITS] & (1LL << (bit % LONG_BITS)));
-}
-
-static inline void
-set_bit(unsigned long *array, int bit)
-{
-    array[bit / LONG_BITS] |= (1LL << (bit % LONG_BITS));
-}
-
-static inline void
-clear_bit(unsigned long *array, int bit)
-{
-    array[bit / LONG_BITS] &= ~(1LL << (bit % LONG_BITS));
-}
-
-static inline void
-set_bit_state(unsigned long *array, int bit, int state)
-{
-       if (state)
-               set_bit(array, bit);
-       else
-               clear_bit(array, bit);
-}
-
-static unsigned int
-type_to_mask_const(const struct libevdev *dev, unsigned int type, const unsigned long **mask)
-{
-       unsigned int max;
-
-       switch(type) {
-               case EV_ABS:
-                       *mask = dev->abs_bits;
-                       max = ABS_MAX;
-                       break;
-               case EV_REL:
-                       *mask = dev->rel_bits;
-                       max = REL_MAX;
-                       break;
-               case EV_KEY:
-                       *mask = dev->key_bits;
-                       max = KEY_MAX;
-                       break;
-               case EV_LED:
-                       *mask = dev->led_bits;
-                       max = LED_MAX;
-                       break;
-               default:
-                    return 0;
-       }
-
-       return max;
-}
-
-static unsigned int
-type_to_mask(struct libevdev *dev, unsigned int type, unsigned long **mask)
-{
-       unsigned int max;
-
-       switch(type) {
-               case EV_ABS:
-                       *mask = dev->abs_bits;
-                       max = ABS_MAX;
-                       break;
-               case EV_REL:
-                       *mask = dev->rel_bits;
-                       max = REL_MAX;
-                       break;
-               case EV_KEY:
-                       *mask = dev->key_bits;
-                       max = KEY_MAX;
-                       break;
-               case EV_LED:
-                       *mask = dev->led_bits;
-                       max = LED_MAX;
-                       break;
-               default:
-                    return 0;
-       }
-
-       return max;
-}
-
 static int
 init_event_queue(struct libevdev *dev)
 {