diff --git a/CMakeLists.txt b/CMakeLists.txt index 596ceba..94bbc0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,14 +29,19 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/incl SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/") # Options -SET(LIBNFC_LOG ON CACHE BOOL "Enable log facility") +SET(LIBNFC_LOG ON CACHE BOOL "Enable log facility (errors, warning, info and debug messages)") IF(LIBNFC_LOG) ADD_DEFINITIONS(-DLOG) ENDIF(LIBNFC_LOG) SET(LIBNFC_DEBUG_MODE OFF CACHE BOOL "Debug mode") IF(LIBNFC_DEBUG_MODE) - ADD_DEFINITIONS(-DDEBUG -g3) + ADD_DEFINITIONS(-DDEBUG) + SET(CMAKE_C_FLAGS "-g3 ${CMAKE_C_FLAGS}") + SET(WIN32_MODE "debug") + SET(CMAKE_RC_FLAGS "-D_DEBUG ${CMAKE_RC_FLAGS}") +ELSE(LIBNFC_DEBUG_MODE) + SET(WIN32_MODE "release") ENDIF(LIBNFC_DEBUG_MODE) # Doxygen @@ -65,7 +70,7 @@ ENDIF(NOT DEFINED SHARE_INSTALL_PREFIX) # Additonnal GCC flags IF(CMAKE_COMPILER_IS_GNUCC) # Make sure we will not miss some warnings ;) - ADD_DEFINITIONS(-Wall -pedantic -std=c99) + SET(CMAKE_C_FLAGS "-Wall -pedantic -std=c99 ${CMAKE_C_FLAGS}") ENDIF(CMAKE_COMPILER_IS_GNUCC) # Workarounds for libusb in C99 @@ -73,9 +78,11 @@ ADD_DEFINITIONS(-Du_int8_t=uint8_t -Du_int16_t=uint16_t) IF(MINGW) # force MinGW-w64 in 32bit mode - ADD_DEFINITIONS(-m32) - SET(CMAKE_SHARED_LINKER_FLAGS -m32) - SET(CMAKE_EXE_LINKER_FLAGS -m32) + SET(CMAKE_C_FLAGS "-m32 ${CMAKE_C_FLAGS}") + SET(CMAKE_MODULE_LINKER_FLAGS "-m32 --enable-stdcall-fixup ${CMAKE_SHARED_LINKER_FLAGS}") + SET(CMAKE_SHARED_LINKER_FLAGS "-m32 --enable-stdcall-fixup ${CMAKE_SHARED_LINKER_FLAGS}") + SET(CMAKE_EXE_LINKER_FLAGS "-m32 --enable-stdcall-fixup ${CMAKE_EXE_LINKER_FLAGS}") + SET(CMAKE_RC_FLAGS "--target=pe-i386 --output-format=coff ${CMAKE_RC_FLAGS}") ENDIF(MINGW) IF(NOT WIN32) @@ -114,6 +121,23 @@ IF(LIBUSB_INCLUDE_DIRS) LINK_DIRECTORIES(${LIBUSB_LIBRARY_DIRS}) ENDIF(LIBUSB_INCLUDE_DIRS) +# version.rc for Windows +IF(WIN32) + # Date for filling in rc file information + MACRO (GET_CURRENT_YEAR RESULT) + EXECUTE_PROCESS(COMMAND "cmd" " /C date /T" OUTPUT_VARIABLE ${RESULT}) + STRING(REGEX REPLACE ".*(..)/(..)/(....).*" "\\3" ${RESULT} ${${RESULT}}) + ENDMACRO (GET_CURRENT_YEAR) + GET_CURRENT_YEAR(CURRENT_YEAR) + MESSAGE("Year for copyright is " ${CURRENT_YEAR}) + + SET(RC_COMMENT "${PACKAGE_NAME} library") + SET(RC_INTERNAL_NAME "${PACKAGE_NAME} ${WIN32_MODE}") + SET(RC_ORIGINAL_NAME ${PACKAGE_NAME}.dll) + SET(RC_FILE_TYPE VFT_DLL) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/windows/version.rc.in ${CMAKE_CURRENT_BINARY_DIR}/windows/libnfc.rc @ONLY) +ENDIF(WIN32) + ADD_SUBDIRECTORY(libnfc) ADD_SUBDIRECTORY(include) ADD_SUBDIRECTORY(utils) diff --git a/README-Windows.txt b/README-Windows.txt index 3a322c0..3f07cfa 100644 --- a/README-Windows.txt +++ b/README-Windows.txt @@ -11,6 +11,7 @@ Requirements - MinGW-w64 compiler toolchain [1] - LibUsb-Win32 1.2.5.0 (or greater) [2] - CMake 2.8 [3] +- PCRE for Windows [4] This was tested on Windows 7 64 bit, but should work on Windows Vista and Windows XP and 32 bit as well. @@ -57,3 +58,4 @@ References http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm64-gcc-4.5.1.exe/download [2] http://sourceforge.net/projects/libusb-win32/files/ [3] http://www.cmake.org +[4] http://gnuwin32.sourceforge.net/packages/pcre.htm \ No newline at end of file diff --git a/contrib/win32/nfc_win32.c b/contrib/win32/nfc_win32.c new file mode 100644 index 0000000..1ebb5b9 --- /dev/null +++ b/contrib/win32/nfc_win32.c @@ -0,0 +1,48 @@ +/*- + * Public platform independent Near Field Communication (NFC) library + * + * Copyright (C) 2013 Alex Lian + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see + * + */ + +/** + * @file nfc_win32.c + * @brief Windows System compatibility + */ + +// Handle platform specific includes +#include "contrib/windows.h" + +int setenv(const char *name, const char *value, int overwrite) +{ + int exists = GetEnvironmentVariableA(name, NULL, 0); + if ((exists && overwrite) || (!exists)) + { + if (!SetEnvironmentVariableA(name, value)) + { + // Set errno here correctly + return -1; + } + return 0; + } + // Exists and overwrite is 0. + return -1; +} + +void unsetenv(const char *name) +{ + SetEnvironmentVariableA(name, NULL); +} \ No newline at end of file diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 60eb8e1..1153f2d 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -14,7 +14,18 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../libnfc) # Examples FOREACH(source ${EXAMPLES-SOURCES}) - ADD_EXECUTABLE(${source} ${source}.c) + SET (TARGETS ${source}.c) + + IF(WIN32) + SET(RC_COMMENT "${PACKAGE_NAME} example") + SET(RC_INTERNAL_NAME ${source}) + SET(RC_ORIGINAL_NAME ${source}.exe) + SET(RC_FILE_TYPE VFT_APP) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/../windows/version.rc.in ${CMAKE_CURRENT_BINARY_DIR}/../windows/${source}.rc @ONLY) + LIST(APPEND TARGETS ${CMAKE_CURRENT_BINARY_DIR}/../windows/${source}.rc) + ENDIF(WIN32) + + ADD_EXECUTABLE(${source} ${TARGETS}) TARGET_LINK_LIBRARIES(${source} nfc) TARGET_LINK_LIBRARIES(${source} nfcutils) INSTALL(TARGETS ${source} RUNTIME DESTINATION bin COMPONENT examples) diff --git a/libnfc/CMakeLists.txt b/libnfc/CMakeLists.txt index 59b44d0..82127ac 100644 --- a/libnfc/CMakeLists.txt +++ b/libnfc/CMakeLists.txt @@ -1,9 +1,10 @@ # Windows MinGW workarounds IF(WIN32) - message("Adding in contrib win32 sources") SET(WINDOWS_SOURCES ../contrib/win32/stdlib) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../contrib/win32) - message("Win32: " ${WINDOWS_SOURCES}) + + # Add in the rc for version information in the dll + LIST(APPEND WINDOWS_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/../windows/libnfc.rc) ENDIF(WIN32) # Library's chips @@ -53,16 +54,22 @@ IF(LIBUSB_FOUND) TARGET_LINK_LIBRARIES(nfc ${LIBUSB_LIBRARIES}) ENDIF(LIBUSB_FOUND) -IF(WIN32) - TARGET_LINK_LIBRARIES(nfc wsock32) -ENDIF(WIN32) SET_TARGET_PROPERTIES(nfc PROPERTIES SOVERSION 0) IF(WIN32) + # Libraries that are windows specific + TARGET_LINK_LIBRARIES(nfc wsock32) IF(PCRE_FOUND) TARGET_LINK_LIBRARIES(nfc ${PCRE_LIBRARIES}) ENDIF(PCRE_FOUND) + ADD_CUSTOM_COMMAND( + OUTPUT libnfc.lib + COMMAND dlltool -d ${CMAKE_CURRENT_SOURCE_DIR}/../windows/win32/nfc.def -l ${CMAKE_CURRENT_BINARY_DIR}/libnfc.lib ${CMAKE_CURRENT_BINARY_DIR}/libnfc.dll + DEPENDS nfc ${CMAKE_CURRENT_SOURCE_DIR}/../windows/win32/nfc.def + ) + ADD_CUSTOM_TARGET(win32lib ALL DEPENDS libnfc.lib) + # On Windows the shared (runtime) library should be either in the same # directory as the excutables or in the path, we add it to same directory INSTALL(TARGETS nfc RUNTIME DESTINATION bin COMPONENT libraries) diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index 2b828cb..402b893 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -17,6 +17,15 @@ TARGET_LINK_LIBRARIES(nfcutils nfc) FOREACH(source ${UTILS-SOURCES}) SET (TARGETS ${source}.c) + IF(WIN32) + SET(RC_COMMENT "${PACKAGE_NAME} utility") + SET(RC_INTERNAL_NAME ${source}) + SET(RC_ORIGINAL_NAME ${source}.exe) + SET(RC_FILE_TYPE VFT_APP) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/../windows/version.rc.in ${CMAKE_CURRENT_BINARY_DIR}/../windows/${source}.rc @ONLY) + LIST(APPEND TARGETS ${CMAKE_CURRENT_BINARY_DIR}/../windows/${source}.rc) + ENDIF(WIN32) + IF((${source} MATCHES "nfc-mfultralight") OR (${source} MATCHES "nfc-mfclassic")) LIST(APPEND TARGETS mifare) ENDIF((${source} MATCHES "nfc-mfultralight") OR (${source} MATCHES "nfc-mfclassic")) @@ -33,7 +42,6 @@ FOREACH(source ${UTILS-SOURCES}) TARGET_LINK_LIBRARIES(${source} nfc) TARGET_LINK_LIBRARIES(${source} nfcutils) - INSTALL(TARGETS ${source} RUNTIME DESTINATION bin COMPONENT utils) ENDFOREACH(source) diff --git a/utils/nfc-read-forum-tag3.c b/utils/nfc-read-forum-tag3.c index 088c23c..c935e20 100644 --- a/utils/nfc-read-forum-tag3.c +++ b/utils/nfc-read-forum-tag3.c @@ -55,6 +55,10 @@ #include "nfc-utils.h" +#if defined(WIN32) && defined(__GNUC__) /* mingw compiler */ + #include +#endif + static nfc_device *pnd; static void diff --git a/windows/Makefile b/windows/Makefile deleted file mode 100644 index 3f0d484..0000000 --- a/windows/Makefile +++ /dev/null @@ -1,267 +0,0 @@ -COMMONOPTS=/W3 /MD /DNDEBUG /DWIN32 /D_WIN32_DCOM /D_WIN32_WINNT=0x500 /D_CRT_SECURE_NO_DEPRECATE /Zp8 /DNTDDI_VERSION=0x05000400 - -DLLNAME=nfc - -NFCOPTS= /I..\include \ - /I..\contrib\win32 \ - /I..\contrib\win32\stdint \ - /Iusb\include \ - /I..\libnfc \ - /I..\libnfc\buses \ - /DDRIVER_PN531_USB_ENABLED \ - /DDRIVER_PN533_USB_ENABLED \ - /DDRIVER_ACR122_ENABLED \ - /DDRIVER_ARYGON_ENABLED \ - /DDRIVER_PN532_UART_ENABLED - -NFCLIBOPTS=/Dnfc_EXPORTS /DPACKAGE_VERSION=\"1.4.0\" - -CFLAGS=$(COMMONOPTS) /WX $(NFCOPTS) -CXXFLAGS=$(COMMONOPTS) /EHa $(NFCOPTS) -CC=cl.exe /nologo -CXX=$(CC) -CC_OUT_EXE=/Fe -CC_OUT_DLL=/LD /Fe -CC_OUT_OBJ=/Fo - -LIBNFC_DLL=bin\$(DLLNAME).dll -NFC_LIST=bin\nfc-list.exe -NFC_ANTICOL=bin\nfc-anticol.exe -NFC_EMULATE=bin\nfc-emulate.exe -NFC_MFCLASSIC=bin\nfc-mfclassic.exe -NFC_MFULTRALIGHT=bin\nfc-mfultralight.exe -NFC_POLL=bin\nfc-poll.exe -NFC_RELAY=bin\nfc-relay.exe -NFCIP_INITIATOR=bin\nfcip-initiator.exe -NFCIP_TARGET=bin\nfcip-target.exe - -LIBNFC_OBJ= obj\nfc.obj \ - obj\pn531_usb.obj \ - obj\pn53x_usb.obj \ - obj\usbstub.obj \ - obj\uart.obj \ - obj\pn53x.obj \ - obj\mirror-subr.obj \ - obj\iso14443-subr.obj \ - obj\acr122.obj \ - obj\arygon.obj \ - obj\pn533_usb.obj \ - obj\pn532_uart.obj - -NFC_LIST_OBJ=obj\nfc-list.obj \ - obj\nfc-utils.obj - -NFC_POLL_OBJ=obj\nfc-poll.obj \ - obj\nfc-utils.obj - -NFC_RELAY_OBJ=obj\nfc-relay.obj \ - obj\nfc-utils.obj - -NFC_ANTICOL_OBJ=obj\nfc-anticol.obj \ - obj\nfc-utils.obj - -NFC_EMULATE_OBJ=obj\nfc-emulate.obj \ - obj\nfc-utils.obj - -NFCIP_INITIATOR_OBJ=obj\nfcip-initiator.obj \ - obj\nfc-utils.obj - -NFCIP_TARGET_OBJ=obj\nfcip-target.obj \ - obj\nfc-utils.obj - -NFC_MFCLASSIC_OBJ=obj\nfc-mfclassic.obj \ - obj\mifare.obj \ - obj\nfc-utils.obj - -NFC_MFULTRALIGHT_OBJ=obj\nfc-mfultralight.obj \ - obj\mifare.obj \ - obj\nfc-utils.obj - -all: obj bin $(LIBNFC_DLL) $(NFC_LIST) $(NFC_POLL) $(NFC_RELAY) $(NFCIP_INITIATOR) $(NFCIP_TARGET) $(NFC_ANTICOL) $(NFC_EMULATE) $(NFC_MFCLASSIC) $(NFC_MFULTRALIGHT) - -clean: - for %d in ( $(LIBNFC_DLL) $(NFC_LIST) $(NFC_POLL) $(NFC_RELAY) ) do if exist %d del %d - for %d in ( $(LIBNFC_OBJ) $(NFC_LIST_OBJ) ) do if exist %d del %d - for %d in ( obj\nfc-list.res obj\$(DLLNAME).res ) do if exist %d del %d - for %d in ( bin\$(DLLNAME).exp bin\$(DLLNAME).lib obj\$(DLLNAME).lib ) do if exist %d del %d - for %d in ( $(NFC_RELAY_OBJ) ) do if exist %d del %d - for %d in ( $(NFC_POLL_OBJ) obj\nfc-poll.res ) do if exist %d del %d - for %d in ( $(NFC_RELAY_OBJ) obj\nfc-relay.res ) do if exist %d del %d - for %d in ( $(NFCIP_INITIATOR) $(NFCIP_INITIATOR_OBJ) obj\nfcip-initiator.res ) do if exist %d del %d - for %d in ( $(NFCIP_TARGET) $(NFCIP_TARGET_OBJ) obj\nfcip-target.res ) do if exist %d del %d - for %d in ( $(NFC_MFCLASSIC) $(NFC_MFCLASSIC_OBJ) obj\nfc-mfclassic.res ) do if exist %d del %d - for %d in ( $(NFC_MFULTRALIGHT) $(NFC_MFULTRALIGHT_OBJ) obj\nfc-mfultralight.res ) do if exist %d del %d - for %d in ( $(NFC_EMULATE) $(NFC_EMULATE_OBJ) obj\nfc-emulate.res ) do if exist %d del %d - for %d in ( $(NFC_ANTICOL) $(NFC_ANTICOL_OBJ) obj\nfc-anticol.res ) do if exist %d del %d - if exist obj rmdir obj - if exist bin rmdir bin - if exist mm\out rmdir /s /q mm\out - -obj bin: - mkdir $@ - -obj\$(DLLNAME).lib: $(LIBNFC_OBJ) - if exist $@ del $@ - lib /out:$@ $(LIBNFC_OBJ) - -$(LIBNFC_DLL): obj\$(DLLNAME).lib win32\$(DLLNAME).def obj\$(DLLNAME).res - $(CC) $(CC_OUT_DLL)$@ \ - obj\$(DLLNAME).lib \ - obj\$(DLLNAME).res \ - /link \ - /DEF:win32\$(DLLNAME).def \ - winscard.lib - if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;#2 - if exist $@.manifest del $@.manifest - -$(NFC_LIST): $(NFC_LIST_OBJ) $(LIBNFC_DLL) bin\$(DLLNAME).lib obj\nfc-list.res - $(CC) $(CC_OUT_EXE)$@ $(NFC_LIST_OBJ) bin\$(DLLNAME).lib obj\nfc-list.res - if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;#1 - if exist $@.manifest del $@.manifest - -$(NFC_EMULATE): $(NFC_EMULATE_OBJ) $(LIBNFC_DLL) bin\$(DLLNAME).lib obj\nfc-emulate.res - $(CC) $(CC_OUT_EXE)$@ $(NFC_EMULATE_OBJ) bin\$(DLLNAME).lib obj\nfc-emulate.res - if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;#1 - if exist $@.manifest del $@.manifest - -$(NFC_POLL): $(NFC_POLL_OBJ) $(LIBNFC_DLL) bin\$(DLLNAME).lib obj\nfc-poll.res - $(CC) $(CC_OUT_EXE)$@ $(NFC_POLL_OBJ) bin\$(DLLNAME).lib obj\nfc-poll.res - if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;#1 - if exist $@.manifest del $@.manifest - -$(NFC_ANTICOL): $(NFC_ANTICOL_OBJ) $(LIBNFC_DLL) bin\$(DLLNAME).lib obj\nfc-anticol.res - $(CC) $(CC_OUT_EXE)$@ $(NFC_ANTICOL_OBJ) bin\$(DLLNAME).lib obj\nfc-anticol.res - if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;#1 - if exist $@.manifest del $@.manifest - -$(NFC_RELAY): $(NFC_RELAY_OBJ) $(LIBNFC_DLL) bin\$(DLLNAME).lib obj\nfc-relay.res - $(CC) $(CC_OUT_EXE)$@ $(NFC_RELAY_OBJ) bin\$(DLLNAME).lib obj\nfc-relay.res - if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;#1 - if exist $@.manifest del $@.manifest - -$(NFCIP_INITIATOR): $(NFCIP_INITIATOR_OBJ) $(LIBNFC_DLL) bin\$(DLLNAME).lib obj\nfcip-initiator.res - $(CC) $(CC_OUT_EXE)$@ $(NFCIP_INITIATOR_OBJ) bin\$(DLLNAME).lib obj\nfcip-initiator.res - if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;#1 - if exist $@.manifest del $@.manifest - -$(NFCIP_TARGET): $(NFCIP_TARGET_OBJ) $(LIBNFC_DLL) bin\$(DLLNAME).lib obj\nfcip-target.res - $(CC) $(CC_OUT_EXE)$@ $(NFCIP_TARGET_OBJ) bin\$(DLLNAME).lib obj\nfcip-target.res - if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;#1 - if exist $@.manifest del $@.manifest - -$(NFC_MFCLASSIC): $(NFC_MFCLASSIC_OBJ) $(LIBNFC_DLL) bin\$(DLLNAME).lib obj\nfc-mfclassic.res - $(CC) $(CC_OUT_EXE)$@ $(NFC_MFCLASSIC_OBJ) bin\$(DLLNAME).lib obj\nfc-mfclassic.res - if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;#1 - if exist $@.manifest del $@.manifest - -$(NFC_MFULTRALIGHT): $(NFC_MFULTRALIGHT_OBJ) $(LIBNFC_DLL) bin\$(DLLNAME).lib obj\nfc-mfultralight.res - $(CC) $(CC_OUT_EXE)$@ $(NFC_MFULTRALIGHT_OBJ) bin\$(DLLNAME).lib obj\nfc-mfultralight.res - if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;#1 - if exist $@.manifest del $@.manifest - -obj\mifare.obj: ..\examples\mifare.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\mifare.c - -obj\nfc-relay.obj: ..\examples\nfc-relay.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\nfc-relay.c - -obj\nfc-mfclassic.obj: ..\examples\nfc-mfclassic.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\nfc-mfclassic.c - -obj\nfc-mfultralight.obj: ..\examples\nfc-mfultralight.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\nfc-mfultralight.c - -obj\nfc-emulate.obj: ..\examples\nfc-emulate.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\nfc-emulate.c - -obj\nfcip-initiator.obj: ..\examples\nfcip-initiator.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\nfcip-initiator.c - -obj\nfcip-target.obj: ..\examples\nfcip-target.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\nfcip-target.c - -obj\nfc-poll.obj: ..\examples\nfc-poll.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\nfc-poll.c - -obj\nfc-anticol.obj: ..\examples\nfc-anticol.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\nfc-anticol.c - -obj\nfc-list.obj: ..\examples\nfc-list.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\nfc-list.c - -obj\nfc-utils.obj: ..\examples\nfc-utils.c - $(CC) /c $(CC_OUT_OBJ)$@ $(CFLAGS) ..\examples\nfc-utils.c - -obj\nfc.obj: ..\libnfc\nfc.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\nfc.c - -obj\iso14443-subr.obj: ..\libnfc\iso14443-subr.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\iso14443-subr.c - -obj\pn531_usb.obj: ..\libnfc\drivers\pn531_usb.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\drivers\pn531_usb.c - -obj\pn533_usb.obj: ..\libnfc\drivers\pn533_usb.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\drivers\pn533_usb.c - -obj\pn532_uart.obj: ..\libnfc\drivers\pn532_uart.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\drivers\pn532_uart.c - -obj\pn53x_usb.obj: ..\libnfc\drivers\pn53x_usb.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\drivers\pn53x_usb.c - -obj\acr122.obj: ..\libnfc\drivers\acr122.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\drivers\acr122.c - -obj\arygon.obj: ..\libnfc\drivers\arygon.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\drivers\arygon.c - -obj\pn53x.obj: ..\libnfc\chips\pn53x.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\chips\pn53x.c - -obj\uart.obj: ..\libnfc\buses\uart.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\buses\uart.c - -obj\usbstub.obj: usb\src\usbstub.cpp - $(CXX) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CXXFLAGS) usb\src\usbstub.cpp - -obj\mirror-subr.obj: ..\libnfc\mirror-subr.c - $(CC) /c $(CC_OUT_OBJ)$@ $(NFCLIBOPTS) $(CFLAGS) ..\libnfc\mirror-subr.c - -obj\$(DLLNAME).res: win32\$(DLLNAME).rc - rc /r $(RCFLAGS) /fo$@ win32\$(DLLNAME).rc - -obj\nfc-list.res: win32\nfc-list.rc - rc /r $(RCFLAGS) /fo$@ win32\nfc-list.rc - -obj\nfc-poll.res: win32\nfc-poll.rc - rc /r $(RCFLAGS) /fo$@ win32\nfc-poll.rc - -obj\nfc-relay.res: win32\nfc-relay.rc - rc /r $(RCFLAGS) /fo$@ win32\nfc-relay.rc - -obj\nfcip-initiator.res: win32\nfcip-initiator.rc - rc /r $(RCFLAGS) /fo$@ win32\nfcip-initiator.rc - -obj\nfcip-target.res: win32\nfcip-target.rc - rc /r $(RCFLAGS) /fo$@ win32\nfcip-target.rc - -obj\nfc-anticol.res: win32\nfc-anticol.rc - rc /r $(RCFLAGS) /fo$@ win32\nfc-anticol.rc - -obj\nfc-emulate.res: win32\nfc-emulate.rc - rc /r $(RCFLAGS) /fo$@ win32\nfc-emulate.rc - -obj\nfc-mfclassic.res: win32\nfc-mfclassic.rc - rc /r $(RCFLAGS) /fo$@ win32\nfc-mfclassic.rc - -obj\nfc-mfultralight.res: win32\nfc-mfultralight.rc - rc /r $(RCFLAGS) /fo$@ win32\nfc-mfultralight.rc - -install: all - cd mm - call make.bat - cd .. - - - diff --git a/windows/mm/libnfc.mm b/windows/mm/libnfc.mm deleted file mode 100644 index abd84ab..0000000 --- a/windows/mm/libnfc.mm +++ /dev/null @@ -1,54 +0,0 @@ -;---------------------------------------------------------------------------- -; MODULE NAME: LIBNFC.MM -; -; $Author: USER "rogerb" $ -; $Revision: 1267 $ -; $Date: 02 Jun 2006 17:10:46 $ -; $Logfile: C:/DBAREIS/Projects.PVCS/Win32/MakeMsi/TryMe.mm.pvcs $ -; -; DESCRIPTION -; ~~~~~~~~~~~ -; This is a simple sample/test MSI. Takes about 30 seconds to build and -; validate on my AMD 3200. -; -; Any line within this file that begins with ";" can be ignored as its -; only a comment so there are only 3 important lines in this file: -; -; 1. #include "ME.MMH" -; 2. <$DirectoryTree Key="INSTALLDIR" ... -; 3. <$Files "TryMe.*" DestDir="INSTALLDIR"> -;---------------------------------------------------------------------------- - -; #define? COMPANY_PRODUCT_ICON ..\win32\libnfc.ico ;; override from company.mmh -#define? UISAMPLE_DIALOG_FILE_dlgbmp nfcleft.bmp ;; override uisample.mmh -#define? UISAMPLE_BLINE_TEXT www.nfc-tools.org -#define? COMPANY_WANT_TO_INSTALL_DOCUMENTATION N - -;--- Include MAKEMSI support (with my customisations and MSI branding) ------ -#define VER_FILENAME.VER libnfc.Ver ;;I only want one VER file for all samples! (this line not actually required in "tryme.mm") -#include "ME.MMH" - -;--- Want to debug (not common) --------------------------------------------- -;#debug on -;#Option DebugLevel=^NONE, +OpSys^ - - -;--- Define default location where file should install and add files -------- -<$DirectoryTree Key="INSTALLDIR" Dir="[ProgramFilesFolder]libnfc-1.3.4" CHANGE="\" PrimaryFolder="Y"> -<$DirectoryTree Key="INSTALLDIR2" Dir="[INSTALLDIR]bin" > -<$DirectoryTree Key="INSTALLDIR3" Dir="[INSTALLDIR]lib" > -<$DirectoryTree Key="INSTALLDIR4" Dir="[INSTALLDIR]include" > -<$DirectoryTree Key="INSTALLDIR5" Dir="[INSTALLDIR4]nfc" > -<$Files "..\bin\nfc-list.exe" DestDir="INSTALLDIR2" > -<$Files "..\bin\nfc-poll.exe" DestDir="INSTALLDIR2" > -<$Files "..\bin\nfc-relay.exe" DestDir="INSTALLDIR2" > -<$Files "..\bin\nfc-emulate.exe" DestDir="INSTALLDIR2" > -<$Files "..\bin\nfc-mfultralight.exe" DestDir="INSTALLDIR2" > -<$Files "..\bin\nfc-mfclassic.exe" DestDir="INSTALLDIR2" > -<$Files "..\bin\nfcip-initiator.exe" DestDir="INSTALLDIR2" > -<$Files "..\bin\nfcip-target.exe" DestDir="INSTALLDIR2" > -<$Files "..\bin\nfc.dll" DestDir="SystemFolder" > -<$Files "..\bin\nfc.lib" DestDir="INSTALLDIR3" > -<$Files "..\..\include\nfc\nfc.h" DestDir="INSTALLDIR5" > -<$Files "..\..\include\nfc\nfc-messages.h" DestDir="INSTALLDIR5" > -<$Files "..\..\include\nfc\nfc-types.h" DestDir="INSTALLDIR5" > diff --git a/windows/mm/libnfc.ver b/windows/mm/libnfc.ver deleted file mode 100644 index 1e21c3a..0000000 --- a/windows/mm/libnfc.ver +++ /dev/null @@ -1,13 +0,0 @@ -;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -; ProductName = libnfc -; DESCRIPTION = Public platform independent Near Field Communication (NFC) library -; Installed = WINDOWS_ALL -; Guid.UpgradeCode = {5880D072-659D-4038-894D-C85BF514B95A} -; MsiName = libnfc-1.4.0 -;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -;############################################################################ -VERSION : 1.4.0.0 -DATE : 26 Oct 2010 -CHANGES : Example Packaging - diff --git a/windows/mm/make.bat b/windows/mm/make.bat deleted file mode 100644 index 56d3b93..0000000 --- a/windows/mm/make.bat +++ /dev/null @@ -1,15 +0,0 @@ -set OLDPATH=%PATH% -set PATH=%PATH%;"c:\program files\makemsi" -rmdir /s /q out -call "%ProgramFiles%\MakeMSI\mm.cmd" "libnfc.mm" -if errorlevel 1 goto failed - -:success -echo success -goto doneall - -:failed -echo failed - -:doneall -set PATH=%OLDPATH% diff --git a/windows/mm/me.mmh b/windows/mm/me.mmh deleted file mode 100644 index ea61d4a..0000000 --- a/windows/mm/me.mmh +++ /dev/null @@ -1,88 +0,0 @@ -; Copyright 2009, Snapper Services Limited, New Zealand -; All rights reserved -; $Id: me.mmh 1224 2010-05-04 04:14:44Z roger.brown $ - -;---------------------------------------------------------------------------- -; -; MODULE NAME: ME.MMH -; -; $Author: USER "Dennis" $ -; $Revision: 1224 $ -; $Date: 27 Sep 2007 17:38:34 $ -; $Logfile: C:/DBAREIS/Projects.PVCS/Win32/MakeMsi/ME.mmh.pvcs $ -; -; Very simplistic example of a MAKEMSI customisation/branding file, see -; "DENNIS.MMH" for a more complex variation (please don't use it though...). -;---------------------------------------------------------------------------- - - - -;---------------------------------------------------------------------------- -;--- Set up some options specific to my requirements ------------------------ -;---------------------------------------------------------------------------- -#define? DEPT_ARP_URL_PUBLISHER http://www.MyUrl.com/See/ME.MMH/ -#define? DEPT_ARP_URL_TECHNICAL_SUPPORT http://www.MyUrl.com/See/ME.MMH/Support -#define? DEPT_NAME no department -#define? DEPT_ADDRESS New Zealand -#define? COMPANY_CONTACT_NAME <$DEPT_NAME> -#define? COMPANY_CONTACT_NAME_PHONE ;;No phone -#define? COMPANY_SUMMARY_SCHEMA 110 ;;Minimum v1.1 Installer - - - -;---------------------------------------------------------------------------- -;--- Override/set some standard defaults ------------------------------------ -;---------------------------------------------------------------------------- -#define? DBG_ALL Y ;;Add MAKEMSI debugging to "console file" -#define? DBG_SAY_LOCATION call Say2Logs <$DBG_INDENT> || ' ' || time() || ' ' ;;Adding time makes it a bit slower but useful for debugging slow builds... -#define? COMMONFRAMEWORK_ZIP_SOURCE_FOR_BACKUP N ;;No "insurance" until I bother to install "info zip"... -#define? DEFAULT_SERVICE_CONTROL_UNINSTALL_EVENTS ;;I think this option is safer than the MAKEMSI default -#define? DEFAULT_SERVICE_CONTROL_INSTALL_EVENTS ;;I think this option is better -#define? DEFAULT_FILE_WANT_FILEHASH Y ;;My box can generate MD5 hashes! -#define? COMPANY_PREPROCESS_LICENCE_FILE Y ;;Default is to preprocess licence files -#define? MAKEMSI_HTML_EXTENSION hta ;;Default extension (HTML Application - gets around WINXP SP2 issue) -#define? UISAMPLE_LEFTSIDE_TEXT_FONT_NAME Tahoma -#define? UISAMPLE_LEFTSIDE_TEXT_FONT_SIZE 8 -#define? UISAMPLE_LEFTSIDE_TEXT_FONT_COLOR &H000000 ;;Black -#( - #define? UISAMPLE_LEFTSIDE_TEXT -#) -#( - #define? @VALIDATE_TEXT_FOR_MISSINGDATA ;;Example only as now duplicates exact text as new default value - This column is not mentioned in the _Validation table. - Either add the validation data or use the "@validate" parameter - on the "row" command (or alter its default). -#) - - - -;---------------------------------------------------------------------------- -;--- Include MAKEMSI support ------------------------------------------------ -;---------------------------------------------------------------------------- -#include "DEPT.MMH" - - -;---------------------------------------------------------------------------- -;--- I want to compress any DLL based custom actions generated by MAKEMSI --- -;---------------------------------------------------------------------------- -<$GetFullBuildTimeFileName RcVar="@@FullUpxExeName" Macro="DENNIS_UPX.EXE" File="upx.exe" MustExist="N"> -#if [@@FullUpxExeName = ''] - ;--- If UPX.EXE doesn't exist report an error --------------------------- - ;#error "DLL not being compressed (UPX.EXE not found)" ;;This is also a sample, can't expect users to have "UPX.EXE"... - #info "DLL custom action code will not be compressed (UPX.EXE not found)" -#else - ;--- "UPX.EXE" was found ------------------------------------------------ - #( - ;--- Define the macro that MAKEMSI will use as required ------------- - #define+ DLLCA-C_COMPRESS_DLL_COMMAND_LINE ;;Need to OVERRIDE value (we couldn't do it earler or "GetFullBuildTimeFileName" wouldn't exist!) - - ;--- I expect "upx.exe" to be in the "PATH" environment variable ---- - "" ;;Full name of UPX.EXE (get from "http://upx.sourceforge.net/") - - ;--- I want highest compression ------------------------------------- - --best - - ;--- Backup the DLL as a debugging aid... --------------------------- - -k - #) -#endif diff --git a/windows/mm/nfcleft.bmp b/windows/mm/nfcleft.bmp deleted file mode 100644 index 038bb9a..0000000 Binary files a/windows/mm/nfcleft.bmp and /dev/null differ diff --git a/windows/usb/include/usb.h b/windows/usb/include/usb.h deleted file mode 100644 index 663749e..0000000 --- a/windows/usb/include/usb.h +++ /dev/null @@ -1,408 +0,0 @@ -/* - * from the libusb-win32 project - * - * Copyright (c) 2000-2003 Johannes Erdfelt - * - * This library is covered by the LGPL, read LICENSE for details. - * - */ - -/* - * $Id: usb.h 1220 2010-05-04 03:14:56Z roger.brown $ - */ - - -#ifndef __USB_H__ -#define __USB_H__ - -#include -#include - -/* - * 'interface' is defined somewhere in the Windows header files. This macro - * is deleted here to avoid conflicts and compile errors. - */ - -#ifdef interface -#undef interface -#endif - -/* - * PATH_MAX from limits.h can't be used on Windows if the dll and - * import libraries are build/used by different compilers - */ - -#define LIBUSB_PATH_MAX 512 - - -/* - * USB spec information - * - * This is all stuff grabbed from various USB specs and is pretty much - * not subject to change - */ - -/* - * Device and/or Interface Class codes - */ -#define USB_CLASS_PER_INTERFACE 0 /* for DeviceClass */ -#define USB_CLASS_AUDIO 1 -#define USB_CLASS_COMM 2 -#define USB_CLASS_HID 3 -#define USB_CLASS_PRINTER 7 -#define USB_CLASS_MASS_STORAGE 8 -#define USB_CLASS_HUB 9 -#define USB_CLASS_DATA 10 -#define USB_CLASS_VENDOR_SPEC 0xff - -/* - * Descriptor types - */ -#define USB_DT_DEVICE 0x01 -#define USB_DT_CONFIG 0x02 -#define USB_DT_STRING 0x03 -#define USB_DT_INTERFACE 0x04 -#define USB_DT_ENDPOINT 0x05 - -#define USB_DT_HID 0x21 -#define USB_DT_REPORT 0x22 -#define USB_DT_PHYSICAL 0x23 -#define USB_DT_HUB 0x29 - -/* - * Descriptor sizes per descriptor type - */ -#define USB_DT_DEVICE_SIZE 18 -#define USB_DT_CONFIG_SIZE 9 -#define USB_DT_INTERFACE_SIZE 9 -#define USB_DT_ENDPOINT_SIZE 7 -#define USB_DT_ENDPOINT_AUDIO_SIZE 9 /* Audio extension */ -#define USB_DT_HUB_NONVAR_SIZE 7 - - -/* ensure byte-packed structures */ -#include - - -/* All standard descriptors have these 2 fields in common */ -struct usb_descriptor_header { - unsigned char bLength; - unsigned char bDescriptorType; -}; - -/* String descriptor */ -struct usb_string_descriptor { - unsigned char bLength; - unsigned char bDescriptorType; - unsigned short wData[1]; -}; - -/* HID descriptor */ -struct usb_hid_descriptor { - unsigned char bLength; - unsigned char bDescriptorType; - unsigned short bcdHID; - unsigned char bCountryCode; - unsigned char bNumDescriptors; -}; - -/* Endpoint descriptor */ -#define USB_MAXENDPOINTS 32 -struct usb_endpoint_descriptor { - unsigned char bLength; - unsigned char bDescriptorType; - unsigned char bEndpointAddress; - unsigned char bmAttributes; - unsigned short wMaxPacketSize; - unsigned char bInterval; - unsigned char bRefresh; - unsigned char bSynchAddress; - - unsigned char *extra; /* Extra descriptors */ - int extralen; -}; - -#define USB_ENDPOINT_ADDRESS_MASK 0x0f /* in bEndpointAddress */ -#define USB_ENDPOINT_DIR_MASK 0x80 - -#define USB_ENDPOINT_TYPE_MASK 0x03 /* in bmAttributes */ -#define USB_ENDPOINT_TYPE_CONTROL 0 -#define USB_ENDPOINT_TYPE_ISOCHRONOUS 1 -#define USB_ENDPOINT_TYPE_BULK 2 -#define USB_ENDPOINT_TYPE_INTERRUPT 3 - -/* Interface descriptor */ -#define USB_MAXINTERFACES 32 -struct usb_interface_descriptor { - unsigned char bLength; - unsigned char bDescriptorType; - unsigned char bInterfaceNumber; - unsigned char bAlternateSetting; - unsigned char bNumEndpoints; - unsigned char bInterfaceClass; - unsigned char bInterfaceSubClass; - unsigned char bInterfaceProtocol; - unsigned char iInterface; - - struct usb_endpoint_descriptor *endpoint; - - unsigned char *extra; /* Extra descriptors */ - int extralen; -}; - -#define USB_MAXALTSETTING 128 /* Hard limit */ - -struct usb_interface { - struct usb_interface_descriptor *altsetting; - - int num_altsetting; -}; - -/* Configuration descriptor information.. */ -#define USB_MAXCONFIG 8 -struct usb_config_descriptor { - unsigned char bLength; - unsigned char bDescriptorType; - unsigned short wTotalLength; - unsigned char bNumInterfaces; - unsigned char bConfigurationValue; - unsigned char iConfiguration; - unsigned char bmAttributes; - unsigned char MaxPower; - - struct usb_interface *interface; - - unsigned char *extra; /* Extra descriptors */ - int extralen; -}; - -/* Device descriptor */ -struct usb_device_descriptor { - unsigned char bLength; - unsigned char bDescriptorType; - unsigned short bcdUSB; - unsigned char bDeviceClass; - unsigned char bDeviceSubClass; - unsigned char bDeviceProtocol; - unsigned char bMaxPacketSize0; - unsigned short idVendor; - unsigned short idProduct; - unsigned short bcdDevice; - unsigned char iManufacturer; - unsigned char iProduct; - unsigned char iSerialNumber; - unsigned char bNumConfigurations; -}; - -struct usb_ctrl_setup { - unsigned char bRequestType; - unsigned char bRequest; - unsigned short wValue; - unsigned short wIndex; - unsigned short wLength; -}; - -/* - * Standard requests - */ -#define USB_REQ_GET_STATUS 0x00 -#define USB_REQ_CLEAR_FEATURE 0x01 -/* 0x02 is reserved */ -#define USB_REQ_SET_FEATURE 0x03 -/* 0x04 is reserved */ -#define USB_REQ_SET_ADDRESS 0x05 -#define USB_REQ_GET_DESCRIPTOR 0x06 -#define USB_REQ_SET_DESCRIPTOR 0x07 -#define USB_REQ_GET_CONFIGURATION 0x08 -#define USB_REQ_SET_CONFIGURATION 0x09 -#define USB_REQ_GET_INTERFACE 0x0A -#define USB_REQ_SET_INTERFACE 0x0B -#define USB_REQ_SYNCH_FRAME 0x0C - -#define USB_TYPE_STANDARD (0x00 << 5) -#define USB_TYPE_CLASS (0x01 << 5) -#define USB_TYPE_VENDOR (0x02 << 5) -#define USB_TYPE_RESERVED (0x03 << 5) - -#define USB_RECIP_DEVICE 0x00 -#define USB_RECIP_INTERFACE 0x01 -#define USB_RECIP_ENDPOINT 0x02 -#define USB_RECIP_OTHER 0x03 - -/* - * Various libusb API related stuff - */ - -#define USB_ENDPOINT_IN 0x80 -#define USB_ENDPOINT_OUT 0x00 - -/* Error codes */ -#define USB_ERROR_BEGIN 500000 - -/* - * This is supposed to look weird. This file is generated from autoconf - * and I didn't want to make this too complicated. - */ -#define USB_LE16_TO_CPU(x) - -/* Data types */ -/* struct usb_device; */ -/* struct usb_bus; */ - -struct usb_device { - struct usb_device *next, *prev; - - char filename[LIBUSB_PATH_MAX]; - - struct usb_bus *bus; - - struct usb_device_descriptor descriptor; - struct usb_config_descriptor *config; - - void *dev; /* Darwin support */ - - unsigned char devnum; - - unsigned char num_children; - struct usb_device **children; -}; - -struct usb_bus { - struct usb_bus *next, *prev; - - char dirname[LIBUSB_PATH_MAX]; - - struct usb_device *devices; - unsigned long location; - - struct usb_device *root_dev; -}; - -/* Version information, Windows specific */ -struct usb_version { - struct { - int major; - int minor; - int micro; - int nano; - } dll; - struct { - int major; - int minor; - int micro; - int nano; - } driver; -}; - - -struct usb_dev_handle; -typedef struct usb_dev_handle usb_dev_handle; - -/* Variables */ -#ifndef __USB_C__ -#define usb_busses usb_get_busses() -#endif - - - -#include - - -#ifdef __cplusplus -extern "C" { -#endif - - /* Function prototypes */ - - /* usb.c */ - usb_dev_handle *usb_open(struct usb_device *dev); - int usb_close(usb_dev_handle *dev); - int usb_get_string(usb_dev_handle *dev, int index, int langid, char *buf, - size_t buflen); - int usb_get_string_simple(usb_dev_handle *dev, int index, char *buf, - size_t buflen); - - /* descriptors.c */ - int usb_get_descriptor_by_endpoint(usb_dev_handle *udev, int ep, - unsigned char type, unsigned char index, - void *buf, int size); - int usb_get_descriptor(usb_dev_handle *udev, unsigned char type, - unsigned char index, void *buf, int size); - - /* .c */ - int usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size, - int timeout); - int usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size, - int timeout); - int usb_interrupt_write(usb_dev_handle *dev, int ep, char *bytes, int size, - int timeout); - int usb_interrupt_read(usb_dev_handle *dev, int ep, char *bytes, int size, - int timeout); - int usb_control_msg(usb_dev_handle *dev, int requesttype, int request, - int value, int index, char *bytes, int size, - int timeout); - int usb_set_configuration(usb_dev_handle *dev, int configuration); - int usb_claim_interface(usb_dev_handle *dev, int interface); - int usb_release_interface(usb_dev_handle *dev, int interface); - int usb_set_altinterface(usb_dev_handle *dev, int alternate); - int usb_resetep(usb_dev_handle *dev, unsigned int ep); - int usb_clear_halt(usb_dev_handle *dev, unsigned int ep); - int usb_reset(usb_dev_handle *dev); - - char *usb_strerror(void); - - void usb_init(void); - void usb_set_debug(int level); - int usb_find_busses(void); - int usb_find_devices(void); - struct usb_device *usb_device(usb_dev_handle *dev); - struct usb_bus *usb_get_busses(void); - - - /* Windows specific functions */ - -#define LIBUSB_HAS_INSTALL_SERVICE_NP 1 - int usb_install_service_np(void); - void CALLBACK usb_install_service_np_rundll(HWND wnd, HINSTANCE instance, - LPSTR cmd_line, int cmd_show); - -#define LIBUSB_HAS_UNINSTALL_SERVICE_NP 1 - int usb_uninstall_service_np(void); - void CALLBACK usb_uninstall_service_np_rundll(HWND wnd, HINSTANCE instance, - LPSTR cmd_line, int cmd_show); - -#define LIBUSB_HAS_INSTALL_DRIVER_NP 1 - int usb_install_driver_np(const char *inf_file); - void CALLBACK usb_install_driver_np_rundll(HWND wnd, HINSTANCE instance, - LPSTR cmd_line, int cmd_show); - -#define LIBUSB_HAS_TOUCH_INF_FILE_NP 1 - int usb_touch_inf_file_np(const char *inf_file); - void CALLBACK usb_touch_inf_file_np_rundll(HWND wnd, HINSTANCE instance, - LPSTR cmd_line, int cmd_show); - -#define LIBUSB_HAS_INSTALL_NEEDS_RESTART_NP 1 - int usb_install_needs_restart_np(void); - - const struct usb_version *usb_get_version(void); - - int usb_isochronous_setup_async(usb_dev_handle *dev, void **context, - unsigned char ep, int pktsize); - int usb_bulk_setup_async(usb_dev_handle *dev, void **context, - unsigned char ep); - int usb_interrupt_setup_async(usb_dev_handle *dev, void **context, - unsigned char ep); - - int usb_submit_async(void *context, char *bytes, int size); - int usb_reap_async(void *context, int timeout); - int usb_reap_async_nocancel(void *context, int timeout); - int usb_cancel_async(void *context); - int usb_free_async(void **context); - - -#ifdef __cplusplus -} -#endif - -#endif /* __USB_H__ */ - diff --git a/windows/usb/src/usbstub.cpp b/windows/usb/src/usbstub.cpp deleted file mode 100644 index f39abb7..0000000 --- a/windows/usb/src/usbstub.cpp +++ /dev/null @@ -1,294 +0,0 @@ -/************************************************************************** - * - * Copyright 2010, Roger Brown - * - * This file is part of Roger Brown's Toolkit. - * - * Roger Brown's Toolkit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Roger Brown's Toolkit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Roger Brown's Toolkit. If not, see . - * - */ - -/* - * $Id: usbstub.cpp 1220 2010-05-04 03:14:56Z roger.brown $ - */ - -/* - * this is a stub loader for the LIBUSB0.DLL - */ - -#include - -#define LIBUSB_CALLTYPE __cdecl - -extern "C" -{ - typedef void (LIBUSB_CALLTYPE *voidProc)(void); -} - -class CStubLoader -{ - HMODULE hDll; - CRITICAL_SECTION cs; - const char *name; - - void bomb(DWORD dw) - { - RaiseException(dw,EXCEPTION_NONCONTINUABLE,0,0); - } - -public: - ~CStubLoader() - { -/* if (hDll) - { - FreeLibrary(hDll); - }*/ - - DeleteCriticalSection(&cs); - } - - CStubLoader(const char *n) : name(n) - { - InitializeCriticalSection(&cs); - } - - HMODULE get_dll(void) - { - HMODULE h=NULL; - DWORD dw=0; - - EnterCriticalSection(&cs); - - if (!hDll) - { - hDll=LoadLibrary(name); - if (!hDll) dw=GetLastError(); - } - - h=hDll; - - LeaveCriticalSection(&cs); - - if (!h) - { - bomb(dw); - } - - return h; - } - - voidProc GetProc(const char *name) - { - voidProc p=(voidProc)GetProcAddress(get_dll(),name); - - if (!p) - { - bomb(GetLastError()); - } - - return p; - } -}; - - -static CStubLoader libusb0("LIBUSB0"); - -extern "C" -{ -# define MAP_FN(ret,name,args) \ - typedef ret (LIBUSB_CALLTYPE *pfn_##name##_t)args; \ - static ret LIBUSB_CALLTYPE load_##name args; \ - static pfn_##name##_t pfn_##name=load_##name,test_##name=##name; - -# define LOAD_FN(name) int success=1; __try { pfn_##name=(pfn_##name##_t)libusb0.GetProc(#name); } __except(1) { success=0; } - - MAP_FN(int,usb_reset,(usb_dev_handle *dev)) - MAP_FN(int,usb_claim_interface,(usb_dev_handle *dev,int)) - MAP_FN(int,usb_find_busses,(void)) - MAP_FN(int,usb_find_devices,(void)) - MAP_FN(void,usb_init,(void)) - MAP_FN(int,usb_close,(usb_dev_handle *dev)) - MAP_FN(int,usb_bulk_write,(usb_dev_handle *,int,char *,int,int)); - MAP_FN(int,usb_bulk_read,(usb_dev_handle *,int,char *,int,int)); - MAP_FN(usb_dev_handle *,usb_open,(struct usb_device *)); - MAP_FN(int,usb_set_configuration,(usb_dev_handle *,int)); - MAP_FN(usb_bus *,usb_get_busses,(void)); - MAP_FN(int,usb_release_interface,(usb_dev_handle *,int)); - MAP_FN(int,usb_get_string_simple,(usb_dev_handle *dev, int index, char *buf,size_t buflen)); - - static int LIBUSB_CALLTYPE load_usb_reset(usb_dev_handle *dev) - { - LOAD_FN(usb_reset); - - return success ? usb_reset(dev) : -1; - } - - static int LIBUSB_CALLTYPE load_usb_claim_interface(usb_dev_handle *dev,int interface) - { - LOAD_FN(usb_claim_interface) - - return success ? usb_claim_interface(dev,interface) : -1; - } - - static int LIBUSB_CALLTYPE load_usb_release_interface(usb_dev_handle *dev,int interface) - { - LOAD_FN(usb_release_interface) - - return success ? usb_release_interface(dev,interface) : -1; - } - - static int LIBUSB_CALLTYPE load_usb_close(usb_dev_handle *dev) - { - LOAD_FN(usb_close) - - return success ? usb_close(dev) : -1; - } - - static usb_dev_handle * LIBUSB_CALLTYPE load_usb_open(struct usb_device *dev) - { - LOAD_FN(usb_open) - - return success ? usb_open(dev) : NULL; - } - - static int LIBUSB_CALLTYPE load_usb_find_devices(void) - { - LOAD_FN(usb_find_devices) - - return success ? usb_find_devices() : -1; - } - - static int LIBUSB_CALLTYPE load_usb_find_busses(void) - { - LOAD_FN(usb_find_busses) - - return success ? usb_find_busses() : -1; - } - - static int LIBUSB_CALLTYPE load_usb_set_configuration(usb_dev_handle *dev,int configuration) - { - LOAD_FN(usb_set_configuration) - - return success ? usb_set_configuration(dev,configuration) : -1; - } - - static usb_bus * LIBUSB_CALLTYPE load_usb_get_busses(void) - { - LOAD_FN(usb_get_busses) - - return success ? usb_get_busses() : NULL; - } - - static void LIBUSB_CALLTYPE load_usb_init(void) - { - LOAD_FN(usb_init) - - if (success) usb_init(); - } - - static int LIBUSB_CALLTYPE load_usb_bulk_read(usb_dev_handle *dev,int ep,char *bytes,int size,int timeout) - { - LOAD_FN(usb_bulk_read); - - return success ? usb_bulk_read(dev,ep,bytes,size,timeout) : -1; - } - - static int LIBUSB_CALLTYPE load_usb_bulk_write(usb_dev_handle *dev,int ep,char *bytes,int size,int timeout) - { - LOAD_FN(usb_bulk_write); - - return success ? usb_bulk_write(dev,ep,bytes,size,timeout) : -1; - } - - static int LIBUSB_CALLTYPE load_usb_get_string_simple(usb_dev_handle *dev, int index, char *buf, - size_t buflen) - { - LOAD_FN(usb_get_string_simple); - - return success ? usb_get_string_simple(dev,index,buf,buflen) : -1; - } -} - -int LIBUSB_CALLTYPE usb_claim_interface(usb_dev_handle *dev, int interface) -{ - return pfn_usb_claim_interface(dev,interface); -} - -int LIBUSB_CALLTYPE usb_reset(usb_dev_handle *dev) -{ - return pfn_usb_reset(dev); -} - -int LIBUSB_CALLTYPE usb_find_busses(void) -{ - return pfn_usb_find_busses(); -} - -int LIBUSB_CALLTYPE usb_find_devices(void) -{ - return pfn_usb_find_devices(); -} - -void LIBUSB_CALLTYPE usb_init(void) -{ - pfn_usb_init(); -} - -int LIBUSB_CALLTYPE usb_close(usb_dev_handle *dev) -{ - return pfn_usb_close(dev); -} - -usb_dev_handle * LIBUSB_CALLTYPE usb_open(struct usb_device *dev) -{ - return pfn_usb_open(dev); -} - -int LIBUSB_CALLTYPE usb_set_configuration(usb_dev_handle *dev, int configuration) -{ - return pfn_usb_set_configuration(dev,configuration); -} - -struct usb_bus * LIBUSB_CALLTYPE usb_get_busses(void) -{ - return pfn_usb_get_busses(); -} - -int LIBUSB_CALLTYPE usb_release_interface(usb_dev_handle *dev, int interface) -{ - return pfn_usb_release_interface(dev,interface); -} - -int LIBUSB_CALLTYPE usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size, - int timeout) -{ - return pfn_usb_bulk_write(dev,ep,bytes,size,timeout); -} - -int LIBUSB_CALLTYPE usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size, - int timeout) -{ - return pfn_usb_bulk_read(dev,ep,bytes,size,timeout); -} - -int LIBUSB_CALLTYPE usb_get_string_simple(usb_dev_handle *dev, int index, char *buf, - size_t buflen) -{ - return pfn_usb_get_string_simple(dev,index,buf,buflen); -} - - - - - diff --git a/windows/version.rc.in b/windows/version.rc.in new file mode 100644 index 0000000..473d579 --- /dev/null +++ b/windows/version.rc.in @@ -0,0 +1,35 @@ +#include "windows.h" + +1 VERSIONINFO + FILEVERSION @VERSION_MAJOR@,@VERSION_MINOR@,@VERSION_PATCH@,0 + PRODUCTVERSION @VERSION_MAJOR@,@VERSION_MINOR@,@VERSION_PATCH@,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG|VS_FF_PRERELEASE +#else + FILEFLAGS 0L +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE @RC_FILE_TYPE@ + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "Comments", "@RC_COMMENT@\0" + VALUE "CompanyName", "libnfc.org\0" + VALUE "FileDescription", "\0" + VALUE "FileVersion", "@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@.0\0" + VALUE "InternalName", "@RC_INTERNAL_NAME@ @WIN32_MODE@\0" + VALUE "LegalCopyright", "Copyright (C) @CURRENT_YEAR@\0" + VALUE "OriginalFilename", "@RC_ORIGINAL_NAME@\0" + VALUE "ProductName", "@PACKAGE_NAME@ @WIN32_MODE@\0" + VALUE "ProductVersion", "@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 1252 + END +END diff --git a/windows/win32/nfc-anticol.rc b/windows/win32/nfc-anticol.rc deleted file mode 100644 index 384e031..0000000 --- a/windows/win32/nfc-anticol.rc +++ /dev/null @@ -1,35 +0,0 @@ -#include "windows.h" - -1 VERSIONINFO - FILEVERSION 1,3,9,0 - PRODUCTVERSION 1,3,9,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG|VS_FF_PRERELEASE -#else - FILEFLAGS VS_FF_PRERELEASE -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "140904e4" - BEGIN - VALUE "Comments", "example from libnfc\0" - VALUE "CompanyName", "libnfc.org\0" - VALUE "FileDescription", "NFC test application\0" - VALUE "FileVersion", "1.4.0.0\0" - VALUE "InternalName", "nfc-anticol\0" - VALUE "LegalCopyright", "Copyright (C) 2009, Roel Verdult\0" - VALUE "OriginalFilename", "NFC-ANTICOL.EXE\0" - VALUE "ProductName", "libnfc\0" - VALUE "ProductVersion", "1.4.0.0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x1409, 1252 - END -END diff --git a/windows/win32/nfc-emulate.rc b/windows/win32/nfc-emulate.rc deleted file mode 100644 index bde47b9..0000000 --- a/windows/win32/nfc-emulate.rc +++ /dev/null @@ -1,35 +0,0 @@ -#include "windows.h" - -1 VERSIONINFO - FILEVERSION 1,3,9,0 - PRODUCTVERSION 1,3,9,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG|VS_FF_PRERELEASE -#else - FILEFLAGS VS_FF_PRERELEASE -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "140904e4" - BEGIN - VALUE "Comments", "example from libnfc\0" - VALUE "CompanyName", "libnfc.org\0" - VALUE "FileDescription", "NFC test application\0" - VALUE "FileVersion", "1.4.0.0\0" - VALUE "InternalName", "nfc-emulate\0" - VALUE "LegalCopyright", "Copyright (C) 2009, Roel Verdult\0" - VALUE "OriginalFilename", "NFC-EMULATE.EXE\0" - VALUE "ProductName", "libnfc\0" - VALUE "ProductVersion", "1.4.0.0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x1409, 1252 - END -END diff --git a/windows/win32/nfc-list.rc b/windows/win32/nfc-list.rc deleted file mode 100644 index e57202f..0000000 --- a/windows/win32/nfc-list.rc +++ /dev/null @@ -1,35 +0,0 @@ -#include "windows.h" - -1 VERSIONINFO - FILEVERSION 1,3,9,0 - PRODUCTVERSION 1,3,9,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG|VS_FF_PRERELEASE -#else - FILEFLAGS VS_FF_PRERELEASE -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "140904e4" - BEGIN - VALUE "Comments", "example from libnfc\0" - VALUE "CompanyName", "libnfc.org\0" - VALUE "FileDescription", "NFC test application\0" - VALUE "FileVersion", "1.4.0.0\0" - VALUE "InternalName", "nfc-list\0" - VALUE "LegalCopyright", "Copyright (C) 2009, Roel Verdult\0" - VALUE "OriginalFilename", "NFC-LIST.EXE\0" - VALUE "ProductName", "libnfc\0" - VALUE "ProductVersion", "1.4.0.0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x1409, 1252 - END -END diff --git a/windows/win32/nfc-mfclassic.rc b/windows/win32/nfc-mfclassic.rc deleted file mode 100644 index 6dcb22a..0000000 --- a/windows/win32/nfc-mfclassic.rc +++ /dev/null @@ -1,35 +0,0 @@ -#include "windows.h" - -1 VERSIONINFO - FILEVERSION 1,3,9,0 - PRODUCTVERSION 1,3,9,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG|VS_FF_PRERELEASE -#else - FILEFLAGS VS_FF_PRERELEASE -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "140904e4" - BEGIN - VALUE "Comments", "example from libnfc\0" - VALUE "CompanyName", "libnfc.org\0" - VALUE "FileDescription", "NFC test application\0" - VALUE "FileVersion", "1.4.0.0\0" - VALUE "InternalName", "nfc-mfclassic\0" - VALUE "LegalCopyright", "Copyright (C) 2009, Roel Verdult\0" - VALUE "OriginalFilename", "NFC-MFCLASSIC.EXE\0" - VALUE "ProductName", "libnfc\0" - VALUE "ProductVersion", "1.4.0.0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x1409, 1252 - END -END diff --git a/windows/win32/nfc-mfultralight.rc b/windows/win32/nfc-mfultralight.rc deleted file mode 100644 index 209e572..0000000 --- a/windows/win32/nfc-mfultralight.rc +++ /dev/null @@ -1,35 +0,0 @@ -#include "windows.h" - -1 VERSIONINFO - FILEVERSION 1,3,9,0 - PRODUCTVERSION 1,3,9,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG|VS_FF_PRERELEASE -#else - FILEFLAGS VS_FF_PRERELEASE -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "140904e4" - BEGIN - VALUE "Comments", "example from libnfc\0" - VALUE "CompanyName", "libnfc.org\0" - VALUE "FileDescription", "NFC test application\0" - VALUE "FileVersion", "1.4.0.0\0" - VALUE "InternalName", "nfc-mfultralight\0" - VALUE "LegalCopyright", "Copyright (C) 2009, Roel Verdult\0" - VALUE "OriginalFilename", "NFC-MFULTRALIGHT.EXE\0" - VALUE "ProductName", "libnfc\0" - VALUE "ProductVersion", "1.4.0.0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x1409, 1252 - END -END diff --git a/windows/win32/nfc-poll.rc b/windows/win32/nfc-poll.rc deleted file mode 100644 index 161a23a..0000000 --- a/windows/win32/nfc-poll.rc +++ /dev/null @@ -1,35 +0,0 @@ -#include "windows.h" - -1 VERSIONINFO - FILEVERSION 1,3,9,0 - PRODUCTVERSION 1,3,9,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG|VS_FF_PRERELEASE -#else - FILEFLAGS VS_FF_PRERELEASE -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "140904e4" - BEGIN - VALUE "Comments", "example from libnfc\0" - VALUE "CompanyName", "libnfc.org\0" - VALUE "FileDescription", "NFC test application\0" - VALUE "FileVersion", "1.4.0.0\0" - VALUE "InternalName", "nfc-poll\0" - VALUE "LegalCopyright", "Copyright (C) 2009, Roel Verdult\0" - VALUE "OriginalFilename", "NFC-POLL.EXE\0" - VALUE "ProductName", "libnfc\0" - VALUE "ProductVersion", "1.4.0.0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x1409, 1252 - END -END diff --git a/windows/win32/nfc-relay.rc b/windows/win32/nfc-relay.rc deleted file mode 100644 index 73ecc7d..0000000 --- a/windows/win32/nfc-relay.rc +++ /dev/null @@ -1,35 +0,0 @@ -#include "windows.h" - -1 VERSIONINFO - FILEVERSION 1,3,9,0 - PRODUCTVERSION 1,3,9,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG|VS_FF_PRERELEASE -#else - FILEFLAGS VS_FF_PRERELEASE -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "140904e4" - BEGIN - VALUE "Comments", "example from libnfc\0" - VALUE "CompanyName", "libnfc.org\0" - VALUE "FileDescription", "NFC test application\0" - VALUE "FileVersion", "1.4.0.0\0" - VALUE "InternalName", "nfc-relay\0" - VALUE "LegalCopyright", "Copyright (C) 2009, Roel Verdult\0" - VALUE "OriginalFilename", "NFC-RELAY.EXE\0" - VALUE "ProductName", "libnfc\0" - VALUE "ProductVersion", "1.4.0.0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x1409, 1252 - END -END diff --git a/windows/win32/nfc.def b/windows/win32/nfc.def index f18b0c6..efee475 100644 --- a/windows/win32/nfc.def +++ b/windows/win32/nfc.def @@ -1,28 +1,48 @@ -LIBRARY NFC -VERSION 1.3.9 +LIBRARY libnfc +VERSION 1.7 EXPORTS - nfc_list_devices - nfc_connect - nfc_disconnect - nfc_configure - nfc_initiator_init - nfc_initiator_select_passive_target - nfc_initiator_list_passive_targets - nfc_initiator_select_dep_target - nfc_initiator_deselect_target - nfc_initiator_poll_targets - nfc_initiator_transceive_bits - nfc_initiator_transceive_bytes - nfc_target_init - nfc_target_receive_bits - nfc_target_receive_bytes - nfc_target_send_bits - nfc_target_send_bytes - nfc_device_name - iso14443a_crc - append_iso14443a_crc - nfc_version - nfc_perror - nfc_strerror - nfc_strerror_r + nfc_init + nfc_exit + nfc_open + nfc_close + nfc_abbort_command + nfc_list_devices + nfc_idle + nfc_initiator_init + nfc_initiator_init_secure_element + nfc_initiator_select_passive_target + nfc_initiator_list_passive_targets + nfc_initiator_poll_target + nfc_initiator_select_dep_target + nfc_initiator_poll_dep_target + nfc_initiator_deselect_target + nfc_initiator_poll_targets + nfc_initiator_transceive_bytes + nfc_initiator_transceive_bits + nfc_initiator_transceive_bytes_timed + nfc_initiator_transceive_bits_timed + nfc_initiator_target_is_present + nfc_target_init + nfc_target_send_bytes + nfc_target_receive_bytes + nfc_target_send_bits + nfc_target_receive_bits + nfc_strerror + nfc_strerror_r + nfc_perror + nfc_device_get_last_error + nfc_device_get_name + nfc_device_get_connstring + nfc_device_get_supported_modulation + nfc_device_get_supported_baud_rate + nfc_device_set_property_int + nfc_device_set_property_bool + iso14443a_crc + iso14443a_crc_append + iso14443a_locate_historical_bytes + nfc_version + nfc_device_get_information_about + str_nfc_modulation_type + str_nfc_baud_rate + str_nfc_target diff --git a/windows/win32/nfc.rc b/windows/win32/nfc.rc deleted file mode 100644 index 757ff5c..0000000 --- a/windows/win32/nfc.rc +++ /dev/null @@ -1,28 +0,0 @@ -#include - -1 VERSIONINFO - PRODUCTVERSION 1,3,9,0 - FILEOS VOS__WINDOWS32 - FILEVERSION 1,3,9,0 - FILETYPE VFT_DLL -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "140904E4" - BEGIN - VALUE "CompanyName","nfc.org\000\000" - VALUE "LegalCopyright","Copyright (C) 2009, Roel Verdult\000\000" - VALUE "ProductName","nfc\000\000" - VALUE "ProductVersion","1.4.0.0\000\000" - VALUE "Comments","Demonstration Win32 packaging\000\000" - VALUE "FileDescription","Near Field Communication Library\000\000" - VALUE "FileVersion","1.4.0.0\000\000" - VALUE "InternalName","nfc\000\000" - VALUE "OriginalFilename","NFC.DLL\000\000" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x1409, 1252 - END -END diff --git a/windows/win32/nfcip-initiator.rc b/windows/win32/nfcip-initiator.rc deleted file mode 100644 index 8c14075..0000000 --- a/windows/win32/nfcip-initiator.rc +++ /dev/null @@ -1,35 +0,0 @@ -#include "windows.h" - -1 VERSIONINFO - FILEVERSION 1,3,9,0 - PRODUCTVERSION 1,3,9,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG|VS_FF_PRERELEASE -#else - FILEFLAGS VS_FF_PRERELEASE -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "140904e4" - BEGIN - VALUE "Comments", "example from libnfc\0" - VALUE "CompanyName", "libnfc.org\0" - VALUE "FileDescription", "NFC test application\0" - VALUE "FileVersion", "1.4.0.0\0" - VALUE "InternalName", "nfcip-initiator\0" - VALUE "LegalCopyright", "Copyright (C) 2009, Roel Verdult\0" - VALUE "OriginalFilename", "NFC-INITIATOR.EXE\0" - VALUE "ProductName", "libnfc\0" - VALUE "ProductVersion", "1.4.0.0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x1409, 1252 - END -END diff --git a/windows/win32/nfcip-target.rc b/windows/win32/nfcip-target.rc deleted file mode 100644 index 0e55b44..0000000 --- a/windows/win32/nfcip-target.rc +++ /dev/null @@ -1,35 +0,0 @@ -#include "windows.h" - -1 VERSIONINFO - FILEVERSION 1,3,9,0 - PRODUCTVERSION 1,3,9,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG|VS_FF_PRERELEASE -#else - FILEFLAGS VS_FF_PRERELEASE -#endif - FILEOS VOS_NT_WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "140904e4" - BEGIN - VALUE "Comments", "example from libnfc\0" - VALUE "CompanyName", "libnfc.org\0" - VALUE "FileDescription", "NFC test application\0" - VALUE "FileVersion", "1.4.0.0\0" - VALUE "InternalName", "nfcip-target\0" - VALUE "LegalCopyright", "Copyright (C) 2009, Roel Verdult\0" - VALUE "OriginalFilename", "NFCIP-TARGET.EXE\0" - VALUE "ProductName", "libnfc\0" - VALUE "ProductVersion", "1.4.0.0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x1409, 1252 - END -END