Add smartcard support for mac os x

git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1310 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Michael Gernoth 2006-11-01 21:23:08 +00:00
parent b3eadf86a3
commit ae67d3e759
4 changed files with 30 additions and 10 deletions

View File

@ -83,14 +83,26 @@ AC_ARG_ENABLE(smartcard,
[ --enable-smartcard Enables smart-card support. [ --enable-smartcard Enables smart-card support.
], ],
[ [
if test -n "$PKG_CONFIG"; then case "$OSTYPE" in
PKG_CHECK_MODULES(PCSCLITE, libpcsclite, [WITH_SCARD=1], [WITH_SCARD=0]) darwin*)
if test x"$WITH_SCARD" = "x1"; then AC_CHECK_HEADER(PCSC/pcsclite.h, [WITH_SCARD=1], [WITH_SCARD=0])
SCARDOBJ="scard.o" AC_DEFINE(PCSC_OSX)
CFLAGS="$CFLAGS $PCSCLITE_CFLAGS" AC_DEFINE(WITH_PCSC120)
LIBS="$LIBS $PCSCLITE_LIBS" PCSCLITE_CFLAGS=""
AC_DEFINE(WITH_SCARD) PCSCLITE_LIBS="-framework PCSC"
fi ;;
*)
if test -n "$PKG_CONFIG"; then
PKG_CHECK_MODULES(PCSCLITE, libpcsclite, [WITH_SCARD=1], [WITH_SCARD=0])
fi
;;
esac
if test x"$WITH_SCARD" = "x1"; then
SCARDOBJ="scard.o"
CFLAGS="$CFLAGS $PCSCLITE_CFLAGS"
LIBS="$LIBS $PCSCLITE_LIBS"
AC_DEFINE(WITH_SCARD)
fi fi
]) ])

View File

@ -13,8 +13,13 @@
#include <sys/types.h> #include <sys/types.h>
#include <time.h> #include <time.h>
#ifndef MAKE_PROTO #ifndef MAKE_PROTO
#ifdef PCSC_OSX
#include <PCSC/pcsclite.h>
#include <PCSC/winscard.h>
#else
#include <pcsclite.h> #include <pcsclite.h>
#include <winscard.h> #include <winscard.h>
#endif /* PCSC_OSX */
#include "scard.h" #include "scard.h"
/* variable segment */ /* variable segment */
@ -2079,7 +2084,7 @@ TS_SCardControl(STREAM in, STREAM out)
MYPCSC_SCARDHANDLE myHCard; MYPCSC_SCARDHANDLE myHCard;
SERVER_DWORD map[3]; SERVER_DWORD map[3];
SERVER_DWORD dwControlCode; SERVER_DWORD dwControlCode;
char *pInBuffer, *pOutBuffer; unsigned char *pInBuffer, *pOutBuffer;
SERVER_DWORD nInBufferSize, nOutBufferSize, nOutBufferRealSize, nBytesReturned; SERVER_DWORD nInBufferSize, nOutBufferSize, nOutBufferRealSize, nBytesReturned;
MYPCSC_DWORD sc_nBytesReturned; MYPCSC_DWORD sc_nBytesReturned;
PMEM_HANDLE lcHandle = NULL; PMEM_HANDLE lcHandle = NULL;

View File

@ -6,7 +6,6 @@
/************************************/ /************************************/
#include <pthread.h> #include <pthread.h>
#include <pcsclite.h>
#include "proto.h" #include "proto.h"
/*************************************************************************/ /*************************************************************************/

View File

@ -19,7 +19,11 @@
*/ */
#ifdef WITH_SCARD #ifdef WITH_SCARD
#ifdef PCSC_OSX
#include <PCSC/wintypes.h>
#else
#include <wintypes.h> #include <wintypes.h>
#endif /* PCSC_OSX */
#else #else
typedef int BOOL; typedef int BOOL;
#endif #endif