summaryrefslogtreecommitdiffstats
path: root/binding
diff options
context:
space:
mode:
Diffstat (limited to 'binding')
-rw-r--r--binding/CMakeLists.txt2
-rw-r--r--binding/afm-nfc-binding.c19
-rw-r--r--binding/afm-nfc-common.c37
-rw-r--r--binding/afm-nfc-common.h26
4 files changed, 66 insertions, 18 deletions
diff --git a/binding/CMakeLists.txt b/binding/CMakeLists.txt
index 512cede..0e6a5bc 100644
--- a/binding/CMakeLists.txt
+++ b/binding/CMakeLists.txt
@@ -21,7 +21,7 @@
PROJECT_TARGET_ADD(afm-nfc-binding)
# Define project Targets
- add_library(afm-nfc-binding MODULE afm-nfc-binding.c)
+ add_library(afm-nfc-binding MODULE afm-nfc-common.c afm-nfc-binding.c)
# Binder exposes a unique public entry point
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
diff --git a/binding/afm-nfc-binding.c b/binding/afm-nfc-binding.c
index c92c36c..38fe1a9 100644
--- a/binding/afm-nfc-binding.c
+++ b/binding/afm-nfc-binding.c
@@ -34,7 +34,8 @@
#define AFB_BINDING_VERSION 2
#include <afb/afb-binding.h>
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
+#include "afm-nfc-common.h"
+
#define WAIT_FOR_REMOVE(dev) { while (0 == nfc_initiator_target_is_present(dev, NULL)) {} }
static struct afb_event presence_event;
@@ -45,22 +46,6 @@ static const nfc_modulation modulations[] = {
{ .nmt = NMT_ISO14443A, .nbr = NBR_106 },
};
-static char *to_hex_string(unsigned char *data, size_t size)
-{
- char *buffer = malloc((2 * size) + 1);
- char *tmp = buffer;
- int i;
-
- if (buffer == NULL)
- return buffer;
-
- for (i = 0; i < size; i++) {
- tmp += sprintf(tmp, "%.2x", data[i]);
- }
-
- return buffer;
-}
-
static char *get_tag_uid(nfc_target *nt)
{
if (nt->nm.nmt == NMT_ISO14443A)
diff --git a/binding/afm-nfc-common.c b/binding/afm-nfc-common.c
new file mode 100644
index 0000000..6dee428
--- /dev/null
+++ b/binding/afm-nfc-common.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2018 Konsulko Group
+ * Author: Matt Ranostay <matt.ranostay@konsulko.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include "afm-nfc-common.h"
+
+char *to_hex_string(unsigned char *data, size_t size)
+{
+ char *buffer = malloc((2 * size) + 1);
+ char *tmp = buffer;
+ int i;
+
+ if (buffer == NULL)
+ return buffer;
+
+ for (i = 0; i < size; i++) {
+ tmp += sprintf(tmp, "%.2x", data[i]);
+ }
+
+ return buffer;
+}
diff --git a/binding/afm-nfc-common.h b/binding/afm-nfc-common.h
new file mode 100644
index 0000000..49a0f8a
--- /dev/null
+++ b/binding/afm-nfc-common.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2018 Konsulko Group
+ * Author: Matt Ranostay <matt.ranostay@konsulko.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef AFM_NFC_COMMON_H
+#define AFM_NFC_COMMON_H
+
+#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
+
+char *to_hex_string(unsigned char *data, size_t size);
+
+#endif // AFM_NFC_COMMON_H