Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Other cleanup #4

Closed
wants to merge 47 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
565db70
Remove support for Python releases older than 2.6
moreati Jun 19, 2015
ac3eb31
Consolidate build platform logic
moreati Jun 19, 2015
3bca937
Standardise Trove classifiers, declare OS & Python support
moreati Jun 19, 2015
119b0f2
Correct package declarations, include smartcard.pyro
moreati Jun 19, 2015
a72aa55
Switch from distutils to setuptools
moreati Jun 19, 2015
20c77ff
Add gitignore for build artefacts
moreati Jun 19, 2015
7d36645
Initial attempt at CI builds on Windows, using appveyor.com
moreati Jun 19, 2015
7b0005e
Missing comment
moreati Jun 19, 2015
88c556c
Download and install Swig in CI build
moreati Jun 19, 2015
1375471
Merge branch 'master' of github.com:moreati/pyscard
moreati Jun 20, 2015
af2c0e0
First attempt at Travis CI
moreati Jun 20, 2015
31241d9
Correct travis dependcy installation
moreati Jun 20, 2015
17feb6c
sudo helps when running apt-get
moreati Jun 20, 2015
cae9467
gitignore the config generated by the test suite
moreati Jun 22, 2015
370427c
Remove all but two uses of 'except:' & 'except Exception:'
moreati Jun 22, 2015
bedaf68
Commit convert docstring examples to doctest syntax
moreati Jun 22, 2015
7479bf1
Add default pylint config
moreati Jun 22, 2015
7b25b21
Customize pylintrc
moreati Jun 22, 2015
e1bba4b
Fix most major pylint errors and warnings
moreati Jun 22, 2015
173d961
Merge branch 'master' of github.com:LudovicRousseau/pyscard
moreati Jun 22, 2015
568d577
Consolidate Changelog, LICENSE, README etc into root dir. Delete PKG-…
moreati Jun 23, 2015
5c50b3f
Remove code supporting OS X Tiger
moreati Jun 23, 2015
fdadf6e
Reformat functions/attributes supported by `smartcard.scard` as tables
moreati Jun 23, 2015
2fb346a
Consolidate the project version in setup.py, bump to 1.7.0
moreati Jun 23, 2015
c6c442f
Merge branch 'master' of github.com:LudovicRousseau/pyscard
moreati Jun 26, 2015
2d0018b
Build Windows .exe and .msi installers
moreati Jun 28, 2015
4b639d3
README.md: Add a Continuous Integration status
LudovicRousseau Jun 26, 2015
86589a9
README.md: Add AppVeyor icon
LudovicRousseau Jun 26, 2015
907ffa2
README.md: Update travis-ci link
LudovicRousseau Jun 26, 2015
0897480
README.md: Correct Travis CI capitalisation
LudovicRousseau Jun 26, 2015
d0b7415
README.md: fix typo in Travis name
LudovicRousseau Jun 26, 2015
d552dba
configcheck.py: close file after use
LudovicRousseau Jun 27, 2015
734c8e6
Release 1.7.0
LudovicRousseau Jun 27, 2015
e30f9f8
ChangeLog: fix typos and reformat
LudovicRousseau Jun 27, 2015
cd82b30
setup.py: fix classifiers to conform to pypi
Jun 28, 2015
06a3a92
Remove support for Python releases older than 2.6
moreati Jun 19, 2015
7eee767
Consolidate build platform logic
moreati Jun 19, 2015
578da23
Standardise Trove classifiers, declare OS & Python support
moreati Jun 19, 2015
bb11fd6
Add gitignore for build artefacts
moreati Jun 19, 2015
4baa14d
Remove all but two uses of 'except:' & 'except Exception:'
moreati Jun 22, 2015
b64ec04
Fix most major pylint errors and warnings
moreati Jun 22, 2015
c9fa486
Merge branch 'master' of github.com:moreati/pyscard
moreati Jun 29, 2015
3e2f200
Revert differences to upstream@81bfc15
moreati Jun 29, 2015
b01c51d
Fix undefined variable errors found by pylint
moreati Jun 29, 2015
68f5f42
Fix missing usage of raw string
moreati Jun 29, 2015
b0f49f6
Remove no-effect loop
moreati Jun 29, 2015
9ec8fae
Fix name clash between PyroDaemonThread and threading.Thread
moreati Jun 29, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Remove code supporting OS X Tiger
  • Loading branch information
moreati committed Jun 23, 2015
commit 5c50b3f7276c9172ad674e79b9014360cfad22e4
3 changes: 1 addition & 2 deletions smartcard/Examples/scard-api/sample_control.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,7 @@
for i in xrange(len(response)):
r += "%c" % response[i]
print 'SCARD_ATTR_VENDOR_NAME:', r
elif 'pcsclite' == resourceManager and \
not 'pcsclite-tiger' == resourceManagerSubType:
elif 'pcsclite' == resourceManager:
# get firmware on Gemplus readers
hresult, response = SCardControl(
hcard,
Expand Down
103 changes: 51 additions & 52 deletions smartcard/Examples/scard-api/sample_getAttrib.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,58 +32,57 @@
from smartcard.scard import *
import smartcard.util

if 'pcsclite-tiger' == resourceManagerSubType:
attributes = {}
else:
attributes = {
SCARD_ATTR_ATR_STRING: 'SCARD_ATTR_ATR_STRING',
SCARD_ATTR_CHANNEL_ID: 'SCARD_ATTR_CHANNEL_ID',
SCARD_ATTR_CHARACTERISTICS: 'SCARD_ATTR_CHARACTERISTICS',
SCARD_ATTR_CURRENT_BWT: 'SCARD_ATTR_CURRENT_BWT',
SCARD_ATTR_CURRENT_CLK: 'SCARD_ATTR_CURRENT_CLK',
SCARD_ATTR_CURRENT_CWT: 'SCARD_ATTR_CURRENT_CWT',
SCARD_ATTR_CURRENT_D: 'SCARD_ATTR_CURRENT_D',
SCARD_ATTR_CURRENT_EBC_ENCODING: 'SCARD_ATTR_CURRENT_EBC_ENCODING',
SCARD_ATTR_CURRENT_F: 'SCARD_ATTR_CURRENT_F',
SCARD_ATTR_CURRENT_IFSC: 'SCARD_ATTR_CURRENT_IFSC',
SCARD_ATTR_CURRENT_IFSD: 'SCARD_ATTR_CURRENT_IFSD',
SCARD_ATTR_CURRENT_IO_STATE: 'SCARD_ATTR_CURRENT_IO_STATE',
SCARD_ATTR_CURRENT_N: 'SCARD_ATTR_CURRENT_N',
SCARD_ATTR_CURRENT_PROTOCOL_TYPE: 'SCARD_ATTR_CURRENT_PROTOCOL_TYPE',
SCARD_ATTR_CURRENT_W: 'SCARD_ATTR_CURRENT_W',
SCARD_ATTR_DEFAULT_CLK: 'SCARD_ATTR_DEFAULT_CLK',
SCARD_ATTR_DEFAULT_DATA_RATE: 'SCARD_ATTR_DEFAULT_DATA_RATE',
SCARD_ATTR_DEVICE_FRIENDLY_NAME_A: 'SCARD_ATTR_DEVICE_FRIENDLY_NAME_A',
SCARD_ATTR_DEVICE_FRIENDLY_NAME_W: 'SCARD_ATTR_DEVICE_FRIENDLY_NAME_W',
SCARD_ATTR_DEVICE_IN_USE: 'SCARD_ATTR_DEVICE_IN_USE',
SCARD_ATTR_DEVICE_SYSTEM_NAME_A: 'SCARD_ATTR_DEVICE_SYSTEM_NAME_A',
SCARD_ATTR_DEVICE_SYSTEM_NAME_W: 'SCARD_ATTR_DEVICE_SYSTEM_NAME_W',
SCARD_ATTR_DEVICE_UNIT: 'SCARD_ATTR_DEVICE_UNIT',
SCARD_ATTR_ESC_AUTHREQUEST: 'SCARD_ATTR_ESC_AUTHREQUEST',
SCARD_ATTR_ESC_CANCEL: 'SCARD_ATTR_ESC_CANCEL',
SCARD_ATTR_ESC_RESET: 'SCARD_ATTR_ESC_RESET',
SCARD_ATTR_EXTENDED_BWT: 'SCARD_ATTR_EXTENDED_BWT',
SCARD_ATTR_ICC_INTERFACE_STATUS: 'SCARD_ATTR_ICC_INTERFACE_STATUS',
SCARD_ATTR_ICC_PRESENCE: 'SCARD_ATTR_ICC_PRESENCE',
SCARD_ATTR_ICC_TYPE_PER_ATR: 'SCARD_ATTR_ICC_TYPE_PER_ATR',
SCARD_ATTR_MAXINPUT: 'SCARD_ATTR_MAXINPUT',
SCARD_ATTR_MAX_CLK: 'SCARD_ATTR_MAX_CLK',
SCARD_ATTR_MAX_DATA_RATE: 'SCARD_ATTR_MAX_DATA_RATE',
SCARD_ATTR_MAX_IFSD: 'SCARD_ATTR_MAX_IFSD',
SCARD_ATTR_POWER_MGMT_SUPPORT: 'SCARD_ATTR_POWER_MGMT_SUPPORT',
SCARD_ATTR_SUPRESS_T1_IFS_REQUEST: 'SCARD_ATTR_SUPRESS_T1_IFS_REQUEST',
SCARD_ATTR_USER_AUTH_INPUT_DEVICE: 'SCARD_ATTR_USER_AUTH_INPUT_DEVICE',
SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE: \
'SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE',
SCARD_ATTR_VENDOR_IFD_SERIAL_NO: 'SCARD_ATTR_VENDOR_IFD_SERIAL_NO',
SCARD_ATTR_VENDOR_IFD_TYPE: 'SCARD_ATTR_VENDOR_IFD_TYPE',
SCARD_ATTR_VENDOR_IFD_VERSION: 'SCARD_ATTR_VENDOR_IFD_VERSION',
SCARD_ATTR_VENDOR_NAME: 'SCARD_ATTR_VENDOR_NAME'}
if 'pcsclite' == resourceManager:
extra_attributes = {
SCARD_ATTR_ASYNC_PROTOCOL_TYPES: 'SCARD_ATTR_ASYNC_PROTOCOL_TYPES',
SCARD_ATTR_SYNC_PROTOCOL_TYPES: 'SCARD_ATTR_SYNC_PROTOCOL_TYPES'}
attributes.update(extra_attributes)
attributes = {
SCARD_ATTR_ATR_STRING: 'SCARD_ATTR_ATR_STRING',
SCARD_ATTR_CHANNEL_ID: 'SCARD_ATTR_CHANNEL_ID',
SCARD_ATTR_CHARACTERISTICS: 'SCARD_ATTR_CHARACTERISTICS',
SCARD_ATTR_CURRENT_BWT: 'SCARD_ATTR_CURRENT_BWT',
SCARD_ATTR_CURRENT_CLK: 'SCARD_ATTR_CURRENT_CLK',
SCARD_ATTR_CURRENT_CWT: 'SCARD_ATTR_CURRENT_CWT',
SCARD_ATTR_CURRENT_D: 'SCARD_ATTR_CURRENT_D',
SCARD_ATTR_CURRENT_EBC_ENCODING: 'SCARD_ATTR_CURRENT_EBC_ENCODING',
SCARD_ATTR_CURRENT_F: 'SCARD_ATTR_CURRENT_F',
SCARD_ATTR_CURRENT_IFSC: 'SCARD_ATTR_CURRENT_IFSC',
SCARD_ATTR_CURRENT_IFSD: 'SCARD_ATTR_CURRENT_IFSD',
SCARD_ATTR_CURRENT_IO_STATE: 'SCARD_ATTR_CURRENT_IO_STATE',
SCARD_ATTR_CURRENT_N: 'SCARD_ATTR_CURRENT_N',
SCARD_ATTR_CURRENT_PROTOCOL_TYPE: 'SCARD_ATTR_CURRENT_PROTOCOL_TYPE',
SCARD_ATTR_CURRENT_W: 'SCARD_ATTR_CURRENT_W',
SCARD_ATTR_DEFAULT_CLK: 'SCARD_ATTR_DEFAULT_CLK',
SCARD_ATTR_DEFAULT_DATA_RATE: 'SCARD_ATTR_DEFAULT_DATA_RATE',
SCARD_ATTR_DEVICE_FRIENDLY_NAME_A: 'SCARD_ATTR_DEVICE_FRIENDLY_NAME_A',
SCARD_ATTR_DEVICE_FRIENDLY_NAME_W: 'SCARD_ATTR_DEVICE_FRIENDLY_NAME_W',
SCARD_ATTR_DEVICE_IN_USE: 'SCARD_ATTR_DEVICE_IN_USE',
SCARD_ATTR_DEVICE_SYSTEM_NAME_A: 'SCARD_ATTR_DEVICE_SYSTEM_NAME_A',
SCARD_ATTR_DEVICE_SYSTEM_NAME_W: 'SCARD_ATTR_DEVICE_SYSTEM_NAME_W',
SCARD_ATTR_DEVICE_UNIT: 'SCARD_ATTR_DEVICE_UNIT',
SCARD_ATTR_ESC_AUTHREQUEST: 'SCARD_ATTR_ESC_AUTHREQUEST',
SCARD_ATTR_ESC_CANCEL: 'SCARD_ATTR_ESC_CANCEL',
SCARD_ATTR_ESC_RESET: 'SCARD_ATTR_ESC_RESET',
SCARD_ATTR_EXTENDED_BWT: 'SCARD_ATTR_EXTENDED_BWT',
SCARD_ATTR_ICC_INTERFACE_STATUS: 'SCARD_ATTR_ICC_INTERFACE_STATUS',
SCARD_ATTR_ICC_PRESENCE: 'SCARD_ATTR_ICC_PRESENCE',
SCARD_ATTR_ICC_TYPE_PER_ATR: 'SCARD_ATTR_ICC_TYPE_PER_ATR',
SCARD_ATTR_MAXINPUT: 'SCARD_ATTR_MAXINPUT',
SCARD_ATTR_MAX_CLK: 'SCARD_ATTR_MAX_CLK',
SCARD_ATTR_MAX_DATA_RATE: 'SCARD_ATTR_MAX_DATA_RATE',
SCARD_ATTR_MAX_IFSD: 'SCARD_ATTR_MAX_IFSD',
SCARD_ATTR_POWER_MGMT_SUPPORT: 'SCARD_ATTR_POWER_MGMT_SUPPORT',
SCARD_ATTR_SUPRESS_T1_IFS_REQUEST: 'SCARD_ATTR_SUPRESS_T1_IFS_REQUEST',
SCARD_ATTR_USER_AUTH_INPUT_DEVICE: 'SCARD_ATTR_USER_AUTH_INPUT_DEVICE',
SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE:
'SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE',
SCARD_ATTR_VENDOR_IFD_SERIAL_NO: 'SCARD_ATTR_VENDOR_IFD_SERIAL_NO',
SCARD_ATTR_VENDOR_IFD_TYPE: 'SCARD_ATTR_VENDOR_IFD_TYPE',
SCARD_ATTR_VENDOR_IFD_VERSION: 'SCARD_ATTR_VENDOR_IFD_VERSION',
SCARD_ATTR_VENDOR_NAME: 'SCARD_ATTR_VENDOR_NAME',
}
if 'pcsclite' == resourceManager:
extra_attributes = {
SCARD_ATTR_ASYNC_PROTOCOL_TYPES: 'SCARD_ATTR_ASYNC_PROTOCOL_TYPES',
SCARD_ATTR_SYNC_PROTOCOL_TYPES: 'SCARD_ATTR_SYNC_PROTOCOL_TYPES',
}
attributes.update(extra_attributes)


def printAttribute(attrib, value):
Expand Down
5 changes: 0 additions & 5 deletions smartcard/scard/PcscDefs.i
Original file line number Diff line number Diff line change
Expand Up @@ -348,10 +348,5 @@ typedef enum
%constant unsigned long SCARD_P_SHUTDOWN = 0x80100018 ;

// Infinite timeout
// on Mac OS X Tiger, a 0xffffffff infinite time-out causes a random crash upon SCardGetStatusChange return
#ifdef __TIGER__
%constant unsigned long INFINITE = 4320000 ;
#else // !__TIGER__
%constant unsigned long INFINITE = 0x7FFFFFFF ;
#endif // __TIGER__

108 changes: 0 additions & 108 deletions smartcard/scard/scard.i
Original file line number Diff line number Diff line change
Expand Up @@ -106,24 +106,6 @@ provides mapping for the following API functions:
- SCardStatus
- SCardTransmit

On Mac OS X Tiger with PCSC lite, the smartcard.scard module provides
mapping for the following API functions:

- SCardBeginTransaction
- SCardCancel
- SCardConnect
- SCardControl
- SCardDisconnect
- SCardEndTransaction
- SCardEstablishContext
- SCardGetStatusChange
- SCardListReaders
- SCardListReaderGroups
- SCardReconnect
- SCardReleaseContext
- SCardStatus
- SCardTransmit

The following PCSC smart card functions are not wrapped by the scard
module on any platform:

Expand Down Expand Up @@ -371,10 +353,6 @@ SCARDRETCODE _RemoveReaderFromGroup(
#endif // WIN32


//
// These functions are not available on Max OS X Tiger
//
#ifndef __TIGER__
///////////////////////////////////////////////////////////////////////////////
static SCARDRETCODE _IsValidContext(SCARDCONTEXT hcontext)
{
Expand Down Expand Up @@ -413,35 +391,9 @@ static SCARDRETCODE _SetAttrib(SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELI
lRetCode = (mySCardSetAttrib)(hcard, dwAttrId, pbl->ab, pbl->cBytes);
return lRetCode;
}
#endif // !__TIGER__


//
// SCardControl does not have the same prototype on Mac OS X Tiger
//

#ifdef __TIGER__
///////////////////////////////////////////////////////////////////////////////
static SCARDRETCODE _Control(
SCARDHANDLE hcard,
BYTELIST* pblSendBuffer,
BYTELIST* pblRecvBuffer
)
{
SCARDRETCODE lRet;

pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;

lRet = (mySCardControl)(
hcard,
pblSendBuffer->ab,
pblSendBuffer->cBytes,
pblRecvBuffer->ab,
&pblRecvBuffer->cBytes);
return lRet;
}
#else // !__TIGER__
///////////////////////////////////////////////////////////////////////////////
static SCARDRETCODE _Control(
SCARDHANDLE hcard,
Expand All @@ -465,7 +417,6 @@ static SCARDRETCODE _SetAttrib(SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELI
&pblRecvBuffer->cBytes);
return lRet;
}
#endif // __TIGER__

///////////////////////////////////////////////////////////////////////////////
static SCARDRETCODE _BeginTransaction(SCARDHANDLE hcard)
Expand Down Expand Up @@ -519,20 +470,6 @@ static SCARDRETCODE _EstablishContext(SCARDDWORDARG dwScope, SCARDCONTEXT* phCon
{
long lRet;
lRet = (mySCardEstablishContext)(dwScope, NULL, NULL, phContext);

#ifdef __TIGER__
// SCardReleaseContext on Mac OS X Tiger fails if SCardConnect is not called with an established
// context, even on a dummy reader
if (SCARD_S_SUCCESS==lRet)
{
SCARDHANDLE hcard;
SCARDDWORDARG dwarg;
(mySCardConnectA)(*phContext, "dummy-reader", SCARD_SHARE_SHARED,
SCARD_PROTOCOL_ANY, &hcard, &dwarg);
}
#endif // __TIGER__

return lRet;
}

///////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -1248,13 +1185,6 @@ SCARDRETCODE _RemoveReaderFromGroup(

#endif // WIN32


//
// These functions are not available on Max OS X Tiger
//
//
#ifndef __TIGER__

///////////////////////////////////////////////////////////////////////////////
%define DOCSTRING_ISVALIDCONTEXT
"
Expand Down Expand Up @@ -1508,41 +1438,7 @@ SCARDRETCODE _RemoveReaderFromGroup(
%rename(SCardSetAttrib) _SetAttrib(SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* ATTRIBUTESIN);
SCARDRETCODE _SetAttrib(SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* ATTRIBUTESIN);

#endif // !__TIGER__


//
// SCardControl does not have the same prototype on Mac OS X Tiger
//
#ifdef __TIGER__
///////////////////////////////////////////////////////////////////////////////
%define DOCSTRING_CONTROL
"
This function sends a control command to the reader connected to by
SCardConnect(). It returns a result and the control response.

from smartcard.scard import *
hresult, hcontext = SCardEstablishContext(SCARD_SCOPE_USER)
hresult, hcard, dwActiveProtocol = SCardConnect(
hcontext, 'SchlumbergerSema Reflex USB v.2 0', SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0)
CMD = [ 42, 0x12, 0x34]
hresult, response = SCardControl(hcard, CMD)
if hresult != SCARD_S_SUCCESS:
raise error, 'Failed to control: ' + SCardGetErrorMessage(hresult)
"
%enddef
%feature("docstring") DOCSTRING_CONTROL;
%rename(SCardControl) _Control(
SCARDHANDLE hcard,
BYTELIST* INBUFFER,
BYTELIST* OUTBUFFER
);
SCARDRETCODE _Control(
SCARDHANDLE hcard,
BYTELIST* INBUFFER,
BYTELIST* OUTBUFFER
);
#else // !__TIGER__
///////////////////////////////////////////////////////////////////////////////
%define DOCSTRING_CONTROL
"
Expand Down Expand Up @@ -1573,7 +1469,6 @@ SCARDRETCODE _RemoveReaderFromGroup(
BYTELIST* INBUFFER,
BYTELIST* OUTBUFFER
);
#endif // __TIGER__


///////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -2080,9 +1975,6 @@ def SCardLocateCards(hcontext, cardnames, readerstates):
#ifdef PCSCLITE
%constant char* resourceManager = "pcsclite" ;
#ifdef __APPLE__
#ifdef __TIGER__
%constant char* resourceManagerSubType = "pcsclite-tiger" ;
#endif //__TIGER__
#ifdef __LEOPARD__
%constant char* resourceManagerSubType = "pcsclite-leopard" ;
#endif //__LEOPARD__
Expand Down
30 changes: 1 addition & 29 deletions smartcard/scard/winscarddll.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,10 +228,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
SCARDSTATE mySCardState = _defaultSCARDSTATE;
#endif // WIN32

//
// These functions are not available on Max OS X Tiger
//
#ifndef __TIGER__
static WINSCARDAPI SCARDRETCODE
WINAPI _defaultSCARDISVALIDCONTEXT(
IN SCARDCONTEXT hContext)
Expand Down Expand Up @@ -275,23 +271,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
SCARDGETATTRIB mySCardGetAttrib = _defaultSCARDGETATTRIB;
SCARDSETATTRIB mySCardSetAttrib = _defaultSCARDSETATTRIB;

#endif // !__TIGER__

//
// SCardControl does not have the same prototype on Mac OS X Tiger
//
#ifdef __TIGER__
static WINSCARDAPI SCARDRETCODE
WINAPI _defaultSCARDCONTROL(
IN SCARDHANDLE hCard,
IN const unsigned char* lpInBuffer,
IN SCARDDWORDARG nInBufferSize,
OUT unsigned char* lpOutBuffer,
IN OUT SCARDDWORDARG* lpBytesReturned)
{
return SCARD_E_NO_SERVICE;
}
#else // !__TIGER__
static WINSCARDAPI SCARDRETCODE
WINAPI _defaultSCARDCONTROL(
IN SCARDHANDLE hCard,
Expand All @@ -312,7 +291,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

return SCARD_E_NO_SERVICE;
}
#endif // __TIGER__

#ifdef PCSCLITE
///////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -774,18 +752,12 @@ long winscard_init(void)
#ifndef __APPLE__
GETPROCADDRESS( SCARDCONTROL, SCardControl, SCardControl );
#else // !__APPLE__
#ifdef __TIGER__
GETPROCADDRESS( SCARDCONTROL, SCardControl, SCardControl );
#else // ! __TIGER__
GETPROCADDRESS( SCARDCONTROL, SCardControl, SCardControl132 );
#endif // __TIGER__
GETPROCADDRESS( SCARDCONTROL, SCardControl, SCardControl132 );
#endif // __APPLE__

#ifndef __TIGER__
SILENTGETPROCADDRESS( SCARDISVALIDCONTEXT , SCardIsValidContext , SCardIsValidContext );
GETPROCADDRESS( SCARDGETATTRIB , SCardGetAttrib , SCardGetAttrib );
GETPROCADDRESS( SCARDSETATTRIB , SCardSetAttrib , SCardSetAttrib );
#endif

myg_prgSCardT0Pci = dlsym( handle, "g_rgSCardT0Pci" );
myg_prgSCardT1Pci = dlsym( handle, "g_rgSCardT1Pci" );
Expand Down
Loading