Link to, and adjust types for, the PCSC framework included with OSX

Signed-off-by: Arran Cudbard-Bell <a.cudbardb@freeradius.org>
This commit is contained in:
Arran Cudbard-Bell 2016-07-02 15:57:39 -04:00 committed by Jouni Malinen
parent 842c5af5d3
commit b84ce655d3
2 changed files with 23 additions and 2 deletions

View file

@ -11,7 +11,11 @@
*/
#include "includes.h"
#ifdef __APPLE__
#include <PCSC/winscard.h>
#else
#include <winscard.h>
#endif
#include "common.h"
#include "pcsc_funcs.h"
@ -110,7 +114,11 @@ typedef enum { SCARD_GSM_SIM, SCARD_USIM } sim_types;
struct scard_data {
SCARDCONTEXT ctx;
SCARDHANDLE card;
#ifdef __APPLE__
uint32_t protocol;
#else
DWORD protocol;
#endif
sim_types sim_type;
int pin1_required;
};
@ -504,7 +512,12 @@ static int scard_get_aid(struct scard_data *scard, unsigned char *aid,
struct scard_data * scard_init(const char *reader)
{
long ret;
unsigned long len, pos;
#ifdef __APPLE__
uint32_t len;
#else
unsigned long len;
#endif
unsigned long pos;
struct scard_data *scard;
#ifdef CONFIG_NATIVE_WINDOWS
TCHAR *readers = NULL;
@ -605,7 +618,7 @@ struct scard_data * scard_init(const char *reader)
readers = NULL;
wpa_printf(MSG_DEBUG, "SCARD: card=0x%x active_protocol=%lu (%s)",
(unsigned int) scard->card, scard->protocol,
(unsigned int) scard->card, (unsigned long) scard->protocol,
scard->protocol == SCARD_PROTOCOL_T0 ? "T0" : "T1");
ret = SCardBeginTransaction(scard->card);
@ -764,7 +777,11 @@ static long scard_transmit(struct scard_data *scard,
unsigned char *_recv, size_t *recv_len)
{
long ret;
#ifdef __APPLE__
uint32_t rlen;
#else
unsigned long rlen;
#endif
wpa_hexdump_key(MSG_DEBUG, "SCARD: scard_transmit: send",
_send, send_len);

View file

@ -931,9 +931,13 @@ ifdef CONFIG_NATIVE_WINDOWS
#dynamic symbol loading that is now used in pcsc_funcs.c
#LIBS += -lwinscard
else
ifdef CONFIG_OSX
LIBS += -framework PCSC
else
LIBS += -lpcsclite -lpthread
endif
endif
endif
ifdef CONFIG_SIM_SIMULATOR
CFLAGS += -DCONFIG_SIM_SIMULATOR