diff --git a/src/libopensc/internal-winscard.h b/src/libopensc/internal-winscard.h index 011167ddc..edc315ca2 100644 --- a/src/libopensc/internal-winscard.h +++ b/src/libopensc/internal-winscard.h @@ -138,6 +138,7 @@ typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; #endif /* HAVE_SCARD_H */ +#ifndef PCSC_API #if defined(_WIN32) #define PCSC_API WINAPI #elif defined(USE_CYGWIN) @@ -145,6 +146,12 @@ typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; #else #define PCSC_API #endif +#endif + +#ifdef __APPLE__ +#define extern +#define __attribute__(a) +#endif typedef LONG (PCSC_API *SCardEstablishContext_t)(DWORD dwScope, LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext); @@ -174,6 +181,11 @@ typedef LONG (PCSC_API *SCardListReaders_t)(SCARDCONTEXT hContext, LPCSTR mszGro typedef LONG (PCSC_API *SCardGetAttrib_t)(SCARDHANDLE hCard, DWORD dwAttrId,\ LPBYTE pbAttr, LPDWORD pcbAttrLen); +#ifdef __APPLE__ +#undef extern +#undef __attribute__ +#endif + /* Copied from pcsc-lite reader.h */ #ifndef SCARD_CTL_CODE