diff options
-rw-r--r-- | binding/CMakeLists.txt | 2 | ||||
-rw-r--r-- | binding/afm-nfc-binding.c | 19 | ||||
-rw-r--r-- | binding/afm-nfc-common.c | 37 | ||||
-rw-r--r-- | binding/afm-nfc-common.h | 26 |
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 |