|
From: <lu...@us...> - 2008-12-16 10:05:28
|
Revision: 242
http://pyscard.svn.sourceforge.net/pyscard/?rev=242&view=rev
Author: ludov
Date: 2008-12-16 10:05:24 +0000 (Tue, 16 Dec 2008)
Log Message:
-----------
reformat
Modified Paths:
--------------
trunk/pyscard/src/smartcard/scard/scard.i
Modified: trunk/pyscard/src/smartcard/scard/scard.i
===================================================================
--- trunk/pyscard/src/smartcard/scard/scard.i 2008-12-09 14:51:15 UTC (rev 241)
+++ trunk/pyscard/src/smartcard/scard/scard.i 2008-12-16 10:05:24 UTC (rev 242)
@@ -253,7 +253,8 @@
psl->sz=NULL;
lRetCode=(mySCardGetCardTypeProviderNameA)(
- hcontext, pszCardName, dwProviderId, (LPTSTR)&psl->sz, &cchProviderName );
+ hcontext, pszCardName, dwProviderId,
+ (LPTSTR)&psl->sz, &cchProviderName );
return lRetCode;
};
@@ -330,7 +331,8 @@
pgl->hcontext = hcontext;
pgl->aguid = NULL;
- lRetCode = (mySCardListInterfacesA)( hcontext, pszCard, (LPGUID)&pgl->aguid, &pgl->cGuids );
+ lRetCode = (mySCardListInterfacesA)(hcontext, pszCard, (LPGUID)&pgl->aguid,
+ &pgl->cGuids );
if( lRetCode!=SCARD_S_SUCCESS )
{
pgl->cGuids=0;
@@ -541,7 +543,8 @@
{
SCARDHANDLE hcard;
SCARDDWORDARG dwarg;
- (mySCardConnectA)( *phContext, "dummy-reader", SCARD_SHARE_SHARED, SCARD_PROTOCOL_ANY, &hcard, &dwarg );
+ (mySCardConnectA)( *phContext, "dummy-reader", SCARD_SHARE_SHARED,
+ SCARD_PROTOCOL_ANY, &hcard, &dwarg );
}
#endif // __TIGER__
@@ -573,7 +576,8 @@
prsl->ars[i].dwCurrentState = prsl->ars[i].dwCurrentState & (0xFFFFFFFF ^ SCARD_STATE_CHANGED);
}
- hresult = (mySCardGetStatusChangeA)( hcontext, dwTimeout, prsl->ars, prsl->cRStates );
+ hresult = (mySCardGetStatusChangeA)( hcontext, dwTimeout, prsl->ars,
+ prsl->cRStates );
//printf( "\n%.8lx ", hresult );
//for( i=0; i<prsl->cRStates; i++ )
@@ -593,11 +597,9 @@
// ATR not valid on output
prsl->ars[i].cbAtr=0;
-
}
}
-
return hresult;
}
@@ -613,7 +615,7 @@
winscard_init();
- if(pmszGroups)
+ if (pmszGroups)
{
mszGroups=pmszGroups->ac;
}
@@ -629,7 +631,8 @@
pmszReaders->ac=NULL;
pmszReaders->hcontext=hcontext;
- return (mySCardListReadersA)( hcontext, mszGroups, (LPTSTR)&pmszReaders->ac, &cchReaders );
+ return (mySCardListReadersA)( hcontext, mszGroups,
+ (LPTSTR)&pmszReaders->ac, &cchReaders );
#endif //AUTOALLOCATE
// no autoallocate on pcsc-lite; do a first call to get length
@@ -640,7 +643,10 @@
pmszReaders->hcontext=0;
pmszReaders->ac=NULL;
cchReaders=0;
- lRetCode = (mySCardListReadersA)( hcontext, mszGroups, NULL, &cchReaders );
+
+ lRetCode = (mySCardListReadersA)( hcontext, mszGroups, NULL,
+ &cchReaders );
+
if ( SCARD_S_SUCCESS!=lRetCode )
{
return lRetCode;
@@ -659,7 +665,6 @@
return (mySCardListReadersA)( hcontext, mszGroups, (LPTSTR)pmszReaders->ac, &cchReaders );
#endif // !NOAUTOALLOCATE
-
}
///////////////////////////////////////////////////////////////////////////////
@@ -675,7 +680,8 @@
pmszReaderGroups->ac=NULL;
pmszReaderGroups->hcontext=hcontext;
- return (mySCardListReaderGroupsA)( hcontext, (LPTSTR)&pmszReaderGroups->ac, &cchReaderGroups );
+ return (mySCardListReaderGroupsA)( hcontext,
+ (LPTSTR)&pmszReaderGroups->ac, &cchReaderGroups );
#endif // NOAUTOALLOCATE
// no autoallocate on pcsc-lite; do a first call to get length
@@ -687,7 +693,8 @@
pmszReaderGroups->hcontext=0;
cchReaderGroups = 0;
pmszReaderGroups->ac=NULL;
- lRetCode = (mySCardListReaderGroupsA)( hcontext, (LPTSTR)pmszReaderGroups->ac, &cchReaderGroups );
+ lRetCode = (mySCardListReaderGroupsA)( hcontext,
+ (LPTSTR)pmszReaderGroups->ac, &cchReaderGroups );
if ( SCARD_S_SUCCESS!=lRetCode )
{
return lRetCode;
@@ -965,7 +972,7 @@
ERRORSTRING* _GetErrorMessage( long lErrCode )
{
#ifdef WIN32
- #define _NO_SERVICE_MSG "The Smart card resource manager is not running."
+ #define _NO_SERVICE_MSG "The Smart card resource manager is not running."
DWORD dwRetCode;
LPVOID ppszError;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lu...@us...> - 2009-03-20 16:50:36
|
Revision: 282
http://pyscard.svn.sourceforge.net/pyscard/?rev=282&view=rev
Author: ludov
Date: 2009-03-20 16:50:23 +0000 (Fri, 20 Mar 2009)
Log Message:
-----------
copy the definition of SCARD_CTL_CODE() from pcsc-lite instead of
inventing a new (and different) one.
Modified Paths:
--------------
trunk/pyscard/src/smartcard/scard/scard.i
Modified: trunk/pyscard/src/smartcard/scard/scard.i
===================================================================
--- trunk/pyscard/src/smartcard/scard/scard.i 2009-03-13 15:09:46 UTC (rev 281)
+++ trunk/pyscard/src/smartcard/scard/scard.i 2009-03-20 16:50:23 UTC (rev 282)
@@ -173,7 +173,7 @@
#ifdef __APPLE__
//#include <PCSC/reader.h>
#ifndef SCARD_CTL_CODE
- #define SCARD_CTL_CODE(x) (x)
+ #define SCARD_CTL_CODE(code) (0x42000000 + (code))
#endif
#else
#include <reader.h>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lu...@us...> - 2010-03-10 12:46:17
|
Revision: 380
http://pyscard.svn.sourceforge.net/pyscard/?rev=380&view=rev
Author: ludov
Date: 2010-03-10 12:46:10 +0000 (Wed, 10 Mar 2010)
Log Message:
-----------
define local _* functions as static to avoid compiler warning: no
previous prototype for '_*'
Modified Paths:
--------------
trunk/pyscard/src/smartcard/scard/scard.i
Modified: trunk/pyscard/src/smartcard/scard/scard.i
===================================================================
--- trunk/pyscard/src/smartcard/scard/scard.i 2010-03-10 12:38:32 UTC (rev 379)
+++ trunk/pyscard/src/smartcard/scard/scard.i 2010-03-10 12:46:10 UTC (rev 380)
@@ -379,14 +379,14 @@
//
#ifndef __TIGER__
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _IsValidContext( SCARDCONTEXT hcontext )
+static SCARDRETCODE _IsValidContext( SCARDCONTEXT hcontext )
{
winscard_init();
return (mySCardIsValidContext)( hcontext );
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _GetAttrib( SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* pbl )
+static SCARDRETCODE _GetAttrib( SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* pbl )
{
long lRetCode;
@@ -412,7 +412,7 @@
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _SetAttrib( SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* pbl )
+static SCARDRETCODE _SetAttrib( SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* pbl )
{
long lRetCode;
@@ -430,7 +430,7 @@
#ifdef __TIGER__
///////////////////////////////////////////////////////////////////////////////
- SCARDRETCODE _Control(
+ static SCARDRETCODE _Control(
SCARDHANDLE hcard,
BYTELIST* pblSendBuffer,
BYTELIST* pblRecvBuffer
@@ -452,7 +452,7 @@
}
#else // !__TIGER__
///////////////////////////////////////////////////////////////////////////////
- SCARDRETCODE _Control(
+ static SCARDRETCODE _Control(
SCARDHANDLE hcard,
SCARDDWORDARG controlCode,
BYTELIST* pblSendBuffer,
@@ -478,21 +478,21 @@
#endif // __TIGER__
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _BeginTransaction( SCARDHANDLE hcard )
+static SCARDRETCODE _BeginTransaction( SCARDHANDLE hcard )
{
winscard_init();
return (mySCardBeginTransaction)( hcard );
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _Cancel( SCARDCONTEXT hcontext )
+static SCARDRETCODE _Cancel( SCARDCONTEXT hcontext )
{
winscard_init();
return (mySCardCancel)( hcontext );
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _Connect(
+static SCARDRETCODE _Connect(
SCARDCONTEXT hcontext,
char* szReader,
SCARDDWORDARG dwShareMode,
@@ -516,21 +516,21 @@
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _Disconnect( SCARDHANDLE hcard, SCARDDWORDARG dwDisposition )
+static SCARDRETCODE _Disconnect( SCARDHANDLE hcard, SCARDDWORDARG dwDisposition )
{
winscard_init();
return (mySCardDisconnect)( hcard, dwDisposition );
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _EndTransaction( SCARDHANDLE hcard, SCARDDWORDARG dwDisposition )
+static SCARDRETCODE _EndTransaction( SCARDHANDLE hcard, SCARDDWORDARG dwDisposition )
{
winscard_init();
return (mySCardEndTransaction)( hcard, dwDisposition );
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _EstablishContext( SCARDDWORDARG dwScope, SCARDCONTEXT* phContext )
+static SCARDRETCODE _EstablishContext( SCARDDWORDARG dwScope, SCARDCONTEXT* phContext )
{
long lRet;
winscard_init();
@@ -552,7 +552,7 @@
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _GetStatusChange(
+static SCARDRETCODE _GetStatusChange(
SCARDCONTEXT hcontext,
SCARDDWORDARG dwTimeout,
READERSTATELIST* prsl )
@@ -604,7 +604,7 @@
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _ListReaders(
+static SCARDRETCODE _ListReaders(
SCARDCONTEXT hcontext,
STRINGLIST* pmszGroups,
STRINGLIST* pmszReaders )
@@ -668,7 +668,7 @@
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _ListReaderGroups( SCARDCONTEXT hcontext, STRINGLIST* pmszReaderGroups )
+static SCARDRETCODE _ListReaderGroups( SCARDCONTEXT hcontext, STRINGLIST* pmszReaderGroups )
{
DWORD cchReaderGroups;
LONG lRetCode;
@@ -717,7 +717,7 @@
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _Reconnect(
+static SCARDRETCODE _Reconnect(
SCARDHANDLE hcard,
SCARDDWORDARG dwShareMode,
SCARDDWORDARG dwPreferredProtocols,
@@ -736,7 +736,7 @@
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _ReleaseContext( SCARDCONTEXT hcontext )
+static SCARDRETCODE _ReleaseContext( SCARDCONTEXT hcontext )
{
SCARDRETCODE lRet;
winscard_init();
@@ -745,7 +745,7 @@
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _Status(
+static SCARDRETCODE _Status(
SCARDHANDLE hcard,
STRING* pszReaderName,
SCARDDWORDARG* pdwState,
@@ -789,7 +789,7 @@
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _Transmit(
+static SCARDRETCODE _Transmit(
SCARDHANDLE hcard,
unsigned long pioSendPci,
BYTELIST* pblSendBuffer,
@@ -836,12 +836,12 @@
}
///////////////////////////////////////////////////////////////////////////////
-long _SCARD_CTL_CODE( long code )
+static long _SCARD_CTL_CODE( long code )
{
return SCARD_CTL_CODE(code);
}
-ERRORSTRING* _GetErrorMessage( long lErrCode )
+static ERRORSTRING* _GetErrorMessage( long lErrCode )
{
#ifdef WIN32
#define _NO_SERVICE_MSG "The Smart card resource manager is not running."
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lu...@us...> - 2010-03-11 09:22:40
|
Revision: 381
http://pyscard.svn.sourceforge.net/pyscard/?rev=381&view=rev
Author: ludov
Date: 2010-03-11 09:22:34 +0000 (Thu, 11 Mar 2010)
Log Message:
-----------
Use MAX_BUFFER_SIZE_EXTENDED (64k) instead of 1024 for the receiving
buffer of SCardControl() and SCardTransmit()
Fixes "SCardTransmit with ISO7816 extended case APDU - ID: 2914636"
https://sourceforge.net/tracker/?func=detail&aid=2914636&group_id=196342&atid=957072
Modified Paths:
--------------
trunk/pyscard/src/smartcard/scard/scard.i
Modified: trunk/pyscard/src/smartcard/scard/scard.i
===================================================================
--- trunk/pyscard/src/smartcard/scard/scard.i 2010-03-10 12:46:10 UTC (rev 380)
+++ trunk/pyscard/src/smartcard/scard/scard.i 2010-03-11 09:22:34 UTC (rev 381)
@@ -182,6 +182,8 @@
// SCARD_CTL_CODE defined in WinSmCrd.h included by Win32 winscard.h
#endif //PCSCLITE
+#define MAX_BUFFER_SIZE_EXTENDED (1<<16)
+
#include "pcsctypes.h"
#include "helpers.h"
#include "memlog.h"
@@ -439,8 +441,8 @@
SCARDRETCODE lRet;
winscard_init();
- pblRecvBuffer->ab = (unsigned char*)mem_Malloc(1024*sizeof(unsigned char));
- pblRecvBuffer->cBytes=1024;
+ pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
+ pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;
lRet = (mySCardControl)(
hcard,
@@ -462,8 +464,8 @@
SCARDRETCODE lRet;
winscard_init();
- pblRecvBuffer->ab = (unsigned char*)mem_Malloc(1024*sizeof(unsigned char));
- pblRecvBuffer->cBytes=1024;
+ pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
+ pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;
lRet = (mySCardControl)(
hcard,
@@ -801,8 +803,8 @@
winscard_init();
- pblRecvBuffer->ab = (unsigned char*)mem_Malloc(1024*sizeof(unsigned char));
- pblRecvBuffer->cBytes=1024;
+ pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
+ pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;
// keep in sync with redefinition in PcscDefs.i
switch(pioSendPci)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lu...@us...> - 2010-03-12 10:34:11
|
Revision: 382
http://pyscard.svn.sourceforge.net/pyscard/?rev=382&view=rev
Author: ludov
Date: 2010-03-12 10:34:04 +0000 (Fri, 12 Mar 2010)
Log Message:
-----------
call winscard_init() to load the library only in the %init section
instead of in each wrapped function.
The side effect is that the library is loaded at the import time and not
when the first PC/SC function is called. We then avoid loading the
library in a Python thread (crashes on Mac OS X).
Modified Paths:
--------------
trunk/pyscard/src/smartcard/scard/scard.i
Modified: trunk/pyscard/src/smartcard/scard/scard.i
===================================================================
--- trunk/pyscard/src/smartcard/scard/scard.i 2010-03-11 09:22:34 UTC (rev 381)
+++ trunk/pyscard/src/smartcard/scard/scard.i 2010-03-12 10:34:04 UTC (rev 382)
@@ -210,7 +210,6 @@
char* szReaderName,
char* szGroupName )
{
- winscard_init();
return (mySCardAddReaderToGroupA)(
hcontext,
szReaderName,
@@ -220,21 +219,18 @@
///////////////////////////////////////////////////////////////////////////////
SCARDRETCODE _ForgetCardType( SCARDCONTEXT hcontext, char* pszCardName )
{
- winscard_init();
return (mySCardForgetCardTypeA)( hcontext, pszCardName );
}
///////////////////////////////////////////////////////////////////////////////
SCARDRETCODE _ForgetReader( SCARDCONTEXT hcontext, char* szReaderName )
{
- winscard_init();
return (mySCardForgetReaderA)( hcontext, szReaderName );
}
///////////////////////////////////////////////////////////////////////////////
SCARDRETCODE _ForgetReaderGroup( SCARDCONTEXT hcontext, char* szGroupName )
{
- winscard_init();
return (mySCardForgetReaderGroupA)( hcontext, szGroupName );
}
@@ -248,7 +244,6 @@
long lRetCode;
unsigned long cchProviderName=SCARD_AUTOALLOCATE;
- winscard_init();
// autoallocate memory; will be freed on output typemap
psl->hcontext=hcontext;
@@ -271,7 +266,6 @@
BYTELIST* pbAtrMask
)
{
- winscard_init();
return (mySCardIntroduceCardTypeA)(
hcontext,
pszCardName,
@@ -286,14 +280,12 @@
///////////////////////////////////////////////////////////////////////////////
SCARDRETCODE _IntroduceReader( SCARDCONTEXT hcontext, char* szReaderName, char* szDeviceName )
{
- winscard_init();
return (mySCardIntroduceReaderA)( hcontext, szReaderName, szDeviceName );
}
///////////////////////////////////////////////////////////////////////////////
SCARDRETCODE _IntroduceReaderGroup( SCARDCONTEXT hcontext, char* szGroupName )
{
- winscard_init();
return (mySCardIntroduceReaderGroupA)( hcontext, szGroupName );
}
@@ -303,7 +295,6 @@
// autoallocate memory; will be freed on output typemap
unsigned long cchCards=SCARD_AUTOALLOCATE;
- winscard_init();
pmszCards->ac=NULL;
pmszCards->hcontext=hcontext;
@@ -327,8 +318,6 @@
{
long lRetCode;
- winscard_init();
-
pgl->cGuids = SCARD_AUTOALLOCATE;
pgl->hcontext = hcontext;
pgl->aguid = NULL;
@@ -351,8 +340,6 @@
{
LPCSTR pcstr=(0==strlen((LPCTSTR)mszCards->ac)) ? NULL : (LPCTSTR)mszCards->ac;
- winscard_init();
-
return (mySCardLocateCardsA)(
hcontext,
pcstr,
@@ -366,7 +353,6 @@
char* szReaderName,
char* szGroupName )
{
- winscard_init();
return (mySCardRemoveReaderFromGroupA)(
hcontext,
szReaderName,
@@ -383,7 +369,6 @@
///////////////////////////////////////////////////////////////////////////////
static SCARDRETCODE _IsValidContext( SCARDCONTEXT hcontext )
{
- winscard_init();
return (mySCardIsValidContext)( hcontext );
}
@@ -392,8 +377,6 @@
{
long lRetCode;
- winscard_init();
-
pbl->cBytes = 0;
pbl->ab = NULL;
@@ -418,8 +401,6 @@
{
long lRetCode;
- winscard_init();
-
lRetCode = (mySCardSetAttrib)( hcard, dwAttrId, pbl->ab, pbl->cBytes );
return lRetCode;
}
@@ -439,7 +420,6 @@
)
{
SCARDRETCODE lRet;
- winscard_init();
pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;
@@ -462,7 +442,6 @@
)
{
SCARDRETCODE lRet;
- winscard_init();
pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;
@@ -482,14 +461,12 @@
///////////////////////////////////////////////////////////////////////////////
static SCARDRETCODE _BeginTransaction( SCARDHANDLE hcard )
{
- winscard_init();
return (mySCardBeginTransaction)( hcard );
}
///////////////////////////////////////////////////////////////////////////////
static SCARDRETCODE _Cancel( SCARDCONTEXT hcontext )
{
- winscard_init();
return (mySCardCancel)( hcontext );
}
@@ -505,7 +482,6 @@
{
SCARDRETCODE lRet;
- winscard_init();
lRet = (mySCardConnectA)(
hcontext,
(LPCTSTR)szReader,
@@ -520,14 +496,12 @@
///////////////////////////////////////////////////////////////////////////////
static SCARDRETCODE _Disconnect( SCARDHANDLE hcard, SCARDDWORDARG dwDisposition )
{
- winscard_init();
return (mySCardDisconnect)( hcard, dwDisposition );
}
///////////////////////////////////////////////////////////////////////////////
static SCARDRETCODE _EndTransaction( SCARDHANDLE hcard, SCARDDWORDARG dwDisposition )
{
- winscard_init();
return (mySCardEndTransaction)( hcard, dwDisposition );
}
@@ -535,7 +509,6 @@
static SCARDRETCODE _EstablishContext( SCARDDWORDARG dwScope, SCARDCONTEXT* phContext )
{
long lRet;
- winscard_init();
lRet = (mySCardEstablishContext)( dwScope, NULL, NULL, phContext );
#ifdef __TIGER__
@@ -562,8 +535,6 @@
SCARDRETCODE hresult;
int i;
- winscard_init();
-
// bad reader state list
if( NULL==prsl )
{
@@ -615,8 +586,6 @@
SCARDDWORDARG cchReaders;
LONG lRetCode;
- winscard_init();
-
if (pmszGroups)
{
mszGroups=pmszGroups->ac;
@@ -675,8 +644,6 @@
DWORD cchReaderGroups;
LONG lRetCode;
- winscard_init();
-
#ifdef NOAUTOALLOCATE
cchReaderGroups = SCARD_AUTOALLOCATE;
pmszReaderGroups->ac=NULL;
@@ -727,8 +694,6 @@
SCARDDWORDARG* pdwActiveProtocol
)
{
- winscard_init();
-
return (mySCardReconnect)(
hcard,
dwShareMode,
@@ -741,7 +706,6 @@
static SCARDRETCODE _ReleaseContext( SCARDCONTEXT hcontext )
{
SCARDRETCODE lRet;
- winscard_init();
lRet = (mySCardReleaseContext)( hcontext );
return lRet;
}
@@ -759,7 +723,6 @@
SCARDDWORDARG dwReaderLen=256;
SCARDDWORDARG dwAtrLen=36;
- winscard_init();
for(;;)
{
pbl->ab = (unsigned char*)mem_Malloc(dwAtrLen*sizeof(unsigned char));
@@ -801,8 +764,6 @@
PSCARD_IO_REQUEST piorequest=NULL;
long ret;
- winscard_init();
-
pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;
@@ -843,6 +804,7 @@
return SCARD_CTL_CODE(code);
}
+///////////////////////////////////////////////////////////////////////////////
static ERRORSTRING* _GetErrorMessage( long lErrCode )
{
#ifdef WIN32
@@ -2087,6 +2049,9 @@
PyExc_SCardError = PyErr_NewException("scard.error", NULL, NULL);
if (PyExc_SCardError != NULL)
PyDict_SetItemString(d, "error", PyExc_SCardError);
+
+ /* load the PCSC library */
+ winscard_init();
%}
//----------------------------------------------------------------------
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lu...@us...> - 2010-04-18 08:10:19
|
Revision: 389
http://pyscard.svn.sourceforge.net/pyscard/?rev=389&view=rev
Author: ludov
Date: 2010-04-18 08:10:13 +0000 (Sun, 18 Apr 2010)
Log Message:
-----------
Define MAX_BUFFER_SIZE_EXTENDED only if pcsc-lite is not used (Windows).
pcsc-lite already defines it.
Thanks to Martin Paljak for the bug report
Modified Paths:
--------------
trunk/pyscard/src/smartcard/scard/scard.i
Modified: trunk/pyscard/src/smartcard/scard/scard.i
===================================================================
--- trunk/pyscard/src/smartcard/scard/scard.i 2010-04-07 06:48:50 UTC (rev 388)
+++ trunk/pyscard/src/smartcard/scard/scard.i 2010-04-18 08:10:13 UTC (rev 389)
@@ -180,10 +180,10 @@
#endif
#else // !PCSCLITE
// SCARD_CTL_CODE defined in WinSmCrd.h included by Win32 winscard.h
+// MAX_BUFFER_SIZE_EXTENDED is pcsc-lite specific
+#define MAX_BUFFER_SIZE_EXTENDED (1<<16)
#endif //PCSCLITE
-#define MAX_BUFFER_SIZE_EXTENDED (1<<16)
-
#include "pcsctypes.h"
#include "helpers.h"
#include "memlog.h"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jda...@us...> - 2010-05-07 16:17:18
|
Revision: 406
http://pyscard.svn.sourceforge.net/pyscard/?rev=406&view=rev
Author: jdaussel
Date: 2010-05-07 16:17:12 +0000 (Fri, 07 May 2010)
Log Message:
-----------
Definition of MAX_BUFFER_SIZE_EXTENDED for older releases of pcsc-lite, e.g. on fedora 6
Modified Paths:
--------------
trunk/pyscard/src/smartcard/scard/scard.i
Modified: trunk/pyscard/src/smartcard/scard/scard.i
===================================================================
--- trunk/pyscard/src/smartcard/scard/scard.i 2010-05-07 13:31:59 UTC (rev 405)
+++ trunk/pyscard/src/smartcard/scard/scard.i 2010-05-07 16:17:12 UTC (rev 406)
@@ -178,6 +178,10 @@
#else
#include <reader.h>
#endif
+ // undefined on older releases
+ #ifndef MAX_BUFFER_SIZE_EXTENDED
+ #define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3)
+ #endif
#else // !PCSCLITE
// SCARD_CTL_CODE defined in WinSmCrd.h included by Win32 winscard.h
// MAX_BUFFER_SIZE_EXTENDED is pcsc-lite specific
@@ -199,9 +203,9 @@
%{
-//
+//
// these functions are only available on win32 PCSC
-//
+//
#ifdef WIN32
///////////////////////////////////////////////////////////////////////////////
@@ -409,7 +413,7 @@
//
// SCardControl does not have the same prototype on Mac OS X Tiger
-//
+//
#ifdef __TIGER__
///////////////////////////////////////////////////////////////////////////////
@@ -420,10 +424,10 @@
)
{
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,
@@ -442,10 +446,10 @@
)
{
SCARDRETCODE lRet;
-
+
pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;
-
+
lRet = (mySCardControl)(
hcard,
controlCode,
@@ -514,12 +518,12 @@
#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 )
+ if( SCARD_S_SUCCESS==lRet )
{
SCARDHANDLE hcard;
SCARDDWORDARG dwarg;
(mySCardConnectA)( *phContext, "dummy-reader", SCARD_SHARE_SHARED,
- SCARD_PROTOCOL_ANY, &hcard, &dwarg );
+ SCARD_PROTOCOL_ANY, &hcard, &dwarg );
}
#endif // __TIGER__
@@ -884,9 +888,9 @@
%typemap(doc, name="dwControlCode", type="") (SCARDDWORDARG dwControlCode) "dwControlCode: the control code to send";
-//
+//
// these functions are only available on win32 PCSC
-//
+//
#ifdef WIN32
///////////////////////////////////////////////////////////////////////////////
@@ -1253,7 +1257,7 @@
valid. After a smart card context handle has been set by
SCardEstablishContext(), it may become not valid if the resource manager
service has been shut down.
-
+
from smartcard.scard import *
hresult, hcontext = SCardEstablishContext( SCARD_SCOPE_USER )
hresult = SCardIsValidContext( hcontext )
@@ -1265,15 +1269,15 @@
%feature("docstring") DOCSTRING_ISVALIDCONTEXT;
%rename(SCardIsValidContext) _IsValidContext( SCARDCONTEXT hcontext );
SCARDRETCODE _IsValidContext( SCARDCONTEXT hcontext );
-
+
///////////////////////////////////////////////////////////////////////////////
%define DOCSTRING_GETATTRIB
"
-
+
This function get an attribute from the IFD Handler.
-
+
For PCSC lite, the list of possible attributes is:
-
+
* SCARD_ATTR_ASYNC_PROTOCOL_TYPES
* SCARD_ATTR_ATR_STRING
* SCARD_ATTR_CHANNEL_ID
@@ -1318,9 +1322,9 @@
* SCARD_ATTR_VENDOR_IFD_TYPE
* SCARD_ATTR_VENDOR_IFD_VERSION
* SCARD_ATTR_VENDOR_NAME
-
+
For Windows Resource Manager, the list of possible attributes is:
-
+
* SCARD_ATTR_VENDOR_NAME
* SCARD_ATTR_VENDOR_IFD_TYPE
* SCARD_ATTR_VENDOR_IFD_VERSION
@@ -1363,12 +1367,12 @@
* SCARD_ATTR_DEVICE_FRIENDLY_NAME_W
* SCARD_ATTR_DEVICE_SYSTEM_NAME_W
* SCARD_ATTR_SUPRESS_T1_IFS_REQUEST
-
+
Not all the dwAttrId values listed above may be implemented in the IFD
Handler you are using. And some dwAttrId values not listed here may be
implemented.
-
-
+
+
from smartcard.scard import *
... establish context and connect to card ...
hresult, attrib = SCardGetAttrib( hcard, SCARD_ATTR_ATR_STRING )
@@ -1381,16 +1385,16 @@
%feature("docstring") DOCSTRING_GETATTRIB;
%rename(SCardGetAttrib) _GetAttrib( SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* ATTRIBUTES );
SCARDRETCODE _GetAttrib( SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* ATTRIBUTES );
-
+
///////////////////////////////////////////////////////////////////////////////
%define DOCSTRING_SETATTRIB
"
-
- This function sets an attribute from the IFD Handler. Not all attributes are supported by all readers nor can
+
+ This function sets an attribute from the IFD Handler. Not all attributes are supported by all readers nor can
they be set at all times.
-
+
For PCSC lite, the list of possible attributes is:
-
+
* SCARD_ATTR_ASYNC_PROTOCOL_TYPES
* SCARD_ATTR_ATR_STRING
* SCARD_ATTR_CHANNEL_ID
@@ -1435,9 +1439,9 @@
* SCARD_ATTR_VENDOR_IFD_TYPE
* SCARD_ATTR_VENDOR_IFD_VERSION
* SCARD_ATTR_VENDOR_NAME
-
+
For Windows Resource Manager, the list of possible attributes is:
-
+
* SCARD_ATTR_VENDOR_NAME
* SCARD_ATTR_VENDOR_IFD_TYPE
* SCARD_ATTR_VENDOR_IFD_VERSION
@@ -1480,12 +1484,12 @@
* SCARD_ATTR_DEVICE_FRIENDLY_NAME_W
* SCARD_ATTR_DEVICE_SYSTEM_NAME_W
* SCARD_ATTR_SUPRESS_T1_IFS_REQUEST
-
+
Not all the dwAttrId values listed above may be implemented in the IFD
Handler you are using. And some dwAttrId values not listed here may be
implemented.
-
-
+
+
from smartcard.scard import *
... establish context and connect to card ...
hresult, attrib = SCardSetAttrib( hcard, SCARD_ATTR_VENDOR_NAME, ['G', 'e', 'm', 'a', 'l', 't', 'o'] )
@@ -1497,13 +1501,13 @@
%feature("docstring") DOCSTRING_SETATTRIB;
%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
@@ -1538,8 +1542,8 @@
"
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(
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lu...@us...> - 2010-06-12 22:48:31
|
Revision: 488
http://pyscard.svn.sourceforge.net/pyscard/?rev=488&view=rev
Author: ludov
Date: 2010-06-12 22:48:25 +0000 (Sat, 12 Jun 2010)
Log Message:
-----------
improve epydoc and make sample code more pep8 compliant
Modified Paths:
--------------
trunk/pyscard/src/smartcard/scard/scard.i
Modified: trunk/pyscard/src/smartcard/scard/scard.i
===================================================================
--- trunk/pyscard/src/smartcard/scard/scard.i 2010-06-12 22:14:03 UTC (rev 487)
+++ trunk/pyscard/src/smartcard/scard/scard.i 2010-06-12 22:48:25 UTC (rev 488)
@@ -1,6 +1,7 @@
/*==============================================================================
Copyright 2001-2010 gemalto
Author: Jean-Daniel Aussel, mailto:jea...@ge...
+Author: Ludovic Rousseau, mailto:lud...@fr...
This file is part of pyscard.
@@ -29,12 +30,12 @@
You should avoid using the smartcard.scard package directly, and use the
pyscard directly because:
-. smartcard.scard being a C wrapper, the code tends to look like C code
-written in python syntax
+ - smartcard.scard being a C wrapper, the code tends to look like C code
+ written in python syntax
-. the smartcard package provides higher level abstractions (e.g. CardType,
-CardConnection), and makes programming easier since it is totally written
-in Python
+ - the smartcard package provides higher level abstractions (e.g.
+ CardType, CardConnection), and makes programming easier since it is
+ totally written in Python
You can still use the smartcard.scard package if you want to write your
own framework, or if you want to perform quick-and-dirty port of C
@@ -53,87 +54,91 @@
On Windows using the smart card base components, the smartcard.scard
module provides mapping for the following API functions:
-SCardAddReaderToGroup
-SCardBeginTransaction
-SCardCancel
-SCardConnect
-SCardControl
-SCardDisconnect
-SCardEndTransaction
-SCardEstablishContext
-SCardForgetCardType
-SCardForgetReader
-SCardForgetReaderGroup
-SCardGetAttrib
-SCardGetCardTypeProviderName
-SCardGetErrorMessage
-SCardGetStatusChange
-SCardIntroduceCardType
-SCardIntroduceReader
-SCardIntroduceReaderGroup
-SCardIsValidContext
-SCardListInterfaces
-SCardListCards
-SCardListReaders
-SCardListReaderGroups
-SCardLocateCards
-SCardReconnect
-SCardReleaseContext
-SCardRemoveReaderFromGroup
-SCardSetAttrib
-SCardStatus
-SCardTransmit
+ - SCardAddReaderToGroup
+ - SCardBeginTransaction
+ - SCardCancel
+ - SCardConnect
+ - SCardControl
+ - SCardDisconnect
+ - SCardEndTransaction
+ - SCardEstablishContext
+ - SCardForgetCardType
+ - SCardForgetReader
+ - SCardForgetReaderGroup
+ - SCardGetAttrib
+ - SCardGetCardTypeProviderName
+ - SCardGetErrorMessage
+ - SCardGetStatusChange
+ - SCardIntroduceCardType
+ - SCardIntroduceReader
+ - SCardIntroduceReaderGroup
+ - SCardIsValidContext
+ - SCardListInterfaces
+ - SCardListCards
+ - SCardListReaders
+ - SCardListReaderGroups
+ - SCardLocateCards
+ - SCardReconnect
+ - SCardReleaseContext
+ - SCardRemoveReaderFromGroup
+ - SCardSetAttrib
+ - SCardStatus
+ - SCardTransmit
-On linux or Mac OS X Leopard with PCSC lite, the smartcard.scard module provides mapping for the following API functions:
+On linux or Mac OS X Leopard with PCSC lite, the smartcard.scard module
+provides mapping for the following API functions:
-SCardBeginTransaction
-SCardCancel
-SCardConnect
-SCardControl
-SCardDisconnect
-SCardEndTransaction
-SCardEstablishContext
-SCardGetAttrib
-SCardGetStatusChange
-SCardIsValidContext
-SCardListReaders
-SCardListReaderGroups
-SCardReconnect
-SCardReleaseContext
-SCardSetAttrib
-SCardStatus
-SCardTransmit
+ - SCardBeginTransaction
+ - SCardCancel
+ - SCardConnect
+ - SCardControl
+ - SCardDisconnect
+ - SCardEndTransaction
+ - SCardEstablishContext
+ - SCardGetAttrib
+ - SCardGetStatusChange
+ - SCardIsValidContext
+ - SCardListReaders
+ - SCardListReaderGroups
+ - SCardReconnect
+ - SCardReleaseContext
+ - SCardSetAttrib
+ - SCardStatus
+ - SCardTransmit
-On Mac OS X Tiger with PCSC lite, the smartcard.scard module provides mapping for the following API functions:
+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
+ - 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:
+The following PCSC smart card functions are not wrapped by the scard
+module on any platform:
-GetOpenCardName
-SCardFreeMemory
-SCardGetProviderId
-SCardSetCartTypeProviderName
-SCardUIDlgSelectCard
+ - GetOpenCardName
+ - SCardFreeMemory
+ - SCardGetProviderId
+ - SCardSetCartTypeProviderName
+ - SCardUIDlgSelectCard
-Comments, bugs, improvements welcome.
+Comments, bug reports, improvements welcome.
-------------------------------------------------------------------------------
Copyright 2001-2010 gemalto
-Author: Jean-Daniel Aussel, mailto:jea...@ge...
+@Author: Jean-Daniel Aussel, mailto:jea...@ge...
+@Author: Ludovic Rousseau, mailto:lud...@fr...
This file is part of pyscard.
@@ -154,9 +159,9 @@
"
%enddef
-%module( docstring=DOCSTRING, package="smartcard.scard") scard
+%module(docstring=DOCSTRING, package="smartcard.scard") scard
-%feature("autodoc", "3" );
+%feature("autodoc", "3");
%{
#ifdef WIN32
@@ -212,30 +217,30 @@
SCARDRETCODE _AddReaderToGroup(
SCARDCONTEXT hcontext,
char* szReaderName,
- char* szGroupName )
+ char* szGroupName)
{
return (mySCardAddReaderToGroupA)(
hcontext,
szReaderName,
- szGroupName );
+ szGroupName);
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _ForgetCardType( SCARDCONTEXT hcontext, char* pszCardName )
+SCARDRETCODE _ForgetCardType(SCARDCONTEXT hcontext, char* pszCardName)
{
- return (mySCardForgetCardTypeA)( hcontext, pszCardName );
+ return (mySCardForgetCardTypeA)(hcontext, pszCardName);
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _ForgetReader( SCARDCONTEXT hcontext, char* szReaderName )
+SCARDRETCODE _ForgetReader(SCARDCONTEXT hcontext, char* szReaderName)
{
- return (mySCardForgetReaderA)( hcontext, szReaderName );
+ return (mySCardForgetReaderA)(hcontext, szReaderName);
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _ForgetReaderGroup( SCARDCONTEXT hcontext, char* szGroupName )
+SCARDRETCODE _ForgetReaderGroup(SCARDCONTEXT hcontext, char* szGroupName)
{
- return (mySCardForgetReaderGroupA)( hcontext, szGroupName );
+ return (mySCardForgetReaderGroupA)(hcontext, szGroupName);
}
///////////////////////////////////////////////////////////////////////////////
@@ -243,7 +248,7 @@
SCARDCONTEXT hcontext,
char* pszCardName,
SCARDDWORDARG dwProviderId,
- PROVIDERNAME_t* psl )
+ PROVIDERNAME_t* psl)
{
long lRetCode;
unsigned long cchProviderName=SCARD_AUTOALLOCATE;
@@ -255,7 +260,7 @@
lRetCode=(mySCardGetCardTypeProviderNameA)(
hcontext, pszCardName, dwProviderId,
- (LPTSTR)&psl->sz, &cchProviderName );
+ (LPTSTR)&psl->sz, &cchProviderName);
return lRetCode;
};
@@ -278,23 +283,23 @@
rgguidInterfaces ? rgguidInterfaces->cGuids : 0,
pbAtr->ab,
pbAtrMask->ab,
- pbAtr->cBytes );
+ pbAtr->cBytes);
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _IntroduceReader( SCARDCONTEXT hcontext, char* szReaderName, char* szDeviceName )
+SCARDRETCODE _IntroduceReader(SCARDCONTEXT hcontext, char* szReaderName, char* szDeviceName)
{
- return (mySCardIntroduceReaderA)( hcontext, szReaderName, szDeviceName );
+ return (mySCardIntroduceReaderA)(hcontext, szReaderName, szDeviceName);
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _IntroduceReaderGroup( SCARDCONTEXT hcontext, char* szGroupName )
+SCARDRETCODE _IntroduceReaderGroup(SCARDCONTEXT hcontext, char* szGroupName)
{
- return (mySCardIntroduceReaderGroupA)( hcontext, szGroupName );
+ return (mySCardIntroduceReaderGroupA)(hcontext, szGroupName);
}
///////////////////////////////////////////////////////////////////////////////
-SCARDRETCODE _ListCards( SCARDCONTEXT hcontext, BYTELIST* pbl, GUIDLIST* guidlist, STRINGLIST* pmszCards )
+SCARDRETCODE _ListCards(SCARDCONTEXT hcontext, BYTELIST* pbl, GUIDLIST* guidlist, STRINGLIST* pmszCards)
{
// autoallocate memory; will be freed on output typemap
unsigned long cchCards=SCARD_AUTOALLOCATE;
@@ -302,14 +307,14 @@
pmszCards->ac=NULL;
pmszCards->hcontext=hcontext;
- //SCardHelper_PrintByteList( pbl );
+ //SCardHelper_PrintByteList(pbl);
return (mySCardListCardsA)(
hcontext,
pbl->ab,
(NULL==guidlist) ? NULL : guidlist->aguid,
(NULL==guidlist) ? 0 : guidlist->cGuids,
(LPTSTR)&pmszCards->ac,
- &cchCards );
+ &cchCards);
};
@@ -327,8 +332,8 @@
pgl->aguid = NULL;
lRetCode = (mySCardListInterfacesA)(hcontext, pszCard, (LPGUID)&pgl->aguid,
- &pgl->cGuids );
- if( lRetCode!=SCARD_S_SUCCESS )
+ &pgl->cGuids);
+ if (lRetCode!=SCARD_S_SUCCESS)
{
pgl->cGuids=0;
}
@@ -348,19 +353,19 @@
hcontext,
pcstr,
prl->ars,
- prl->cRStates );
+ prl->cRStates);
}
///////////////////////////////////////////////////////////////////////////////
SCARDRETCODE _RemoveReaderFromGroup(
SCARDCONTEXT hcontext,
char* szReaderName,
- char* szGroupName )
+ char* szGroupName)
{
return (mySCardRemoveReaderFromGroupA)(
hcontext,
szReaderName,
- szGroupName );
+ szGroupName);
}
#endif // WIN32
@@ -371,21 +376,21 @@
//
#ifndef __TIGER__
///////////////////////////////////////////////////////////////////////////////
-static SCARDRETCODE _IsValidContext( SCARDCONTEXT hcontext )
+static SCARDRETCODE _IsValidContext(SCARDCONTEXT hcontext)
{
- return (mySCardIsValidContext)( hcontext );
+ return (mySCardIsValidContext)(hcontext);
}
///////////////////////////////////////////////////////////////////////////////
-static SCARDRETCODE _GetAttrib( SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* pbl )
+static SCARDRETCODE _GetAttrib(SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* pbl)
{
long lRetCode;
pbl->cBytes = 0;
pbl->ab = NULL;
- lRetCode = (mySCardGetAttrib)( hcard, dwAttrId, pbl->ab, &pbl->cBytes );
- if( (lRetCode!=SCARD_S_SUCCESS) || (pbl->cBytes<1) )
+ lRetCode = (mySCardGetAttrib)(hcard, dwAttrId, pbl->ab, &pbl->cBytes);
+ if ((lRetCode!=SCARD_S_SUCCESS) || (pbl->cBytes<1))
{
return lRetCode;
}
@@ -396,16 +401,16 @@
return SCARD_E_NO_MEMORY;
}
- lRetCode = (mySCardGetAttrib)( hcard, dwAttrId, pbl->ab, &pbl->cBytes );
+ lRetCode = (mySCardGetAttrib)(hcard, dwAttrId, pbl->ab, &pbl->cBytes);
return lRetCode;
}
///////////////////////////////////////////////////////////////////////////////
-static SCARDRETCODE _SetAttrib( SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* pbl )
+static SCARDRETCODE _SetAttrib(SCARDHANDLE hcard, SCARDDWORDARG dwAttrId, BYTELIST* pbl)
{
long lRetCode;
- lRetCode = (mySCardSetAttrib)( hcard, dwAttrId, pbl->ab, pbl->cBytes );
+ lRetCode = (mySCardSetAttrib)(hcard, dwAttrId, pbl->ab, pbl->cBytes);
return lRetCode;
}
#endif // !__TIGER__
@@ -421,7 +426,7 @@
SCARDHANDLE hcard,
BYTELIST* pblSendBuffer,
BYTELIST* pblRecvBuffer
- )
+ )
{
SCARDRETCODE lRet;
@@ -433,7 +438,7 @@
pblSendBuffer->ab,
pblSendBuffer->cBytes,
pblRecvBuffer->ab,
- &pblRecvBuffer->cBytes );
+ &pblRecvBuffer->cBytes);
return lRet;
}
#else // !__TIGER__
@@ -443,7 +448,7 @@
SCARDDWORDARG controlCode,
BYTELIST* pblSendBuffer,
BYTELIST* pblRecvBuffer
- )
+ )
{
SCARDRETCODE lRet;
@@ -457,21 +462,21 @@
pblSendBuffer->cBytes,
pblRecvBuffer->ab,
pblRecvBuffer->cBytes,
- &pblRecvBuffer->cBytes );
+ &pblRecvBuffer->cBytes);
return lRet;
}
#endif // __TIGER__
///////////////////////////////////////////////////////////////////////////////
-static SCARDRETCODE _BeginTransaction( SCARDHANDLE hcard )
+static SCARDRETCODE _BeginTransaction(SCARDHANDLE hcard)
{
- return (mySCardBeginTransaction)( hcard );
+ return (mySCardBeginTransaction)(hcard);
}
///////////////////////////////////////////////////////////////////////////////
-static SCARDRETCODE _Cancel( SCARDCONTEXT hcontext )
+static SCARDRETCODE _Cancel(SCARDCONTEXT hcontext)
{
- return (mySCardCancel)( hcontext );
+ return (mySCardCancel)(hcontext);
}
///////////////////////////////////////////////////////////////////////////////
@@ -492,38 +497,38 @@
dwShareMode,
dwPreferredProtocols,
phCard,
- pdwActiveProtocol );
+ pdwActiveProtocol);
return lRet;
}
///////////////////////////////////////////////////////////////////////////////
-static SCARDRETCODE _Disconnect( SCARDHANDLE hcard, SCARDDWORDARG dwDisposition )
+static SCARDRETCODE _Disconnect(SCARDHANDLE hcard, SCARDDWORDARG dwDisposition)
{
- return (mySCardDisconnect)( hcard, dwDisposition );
+ return (mySCardDisconnect)(hcard, dwDisposition);
}
///////////////////////////////////////////////////////////////////////////////
-static SCARDRETCODE _EndTransaction( SCARDHANDLE hcard, SCARDDWORDARG dwDisposition )
+static SCARDRETCODE _EndTransaction(SCARDHANDLE hcard, SCARDDWORDARG dwDisposition)
{
- return (mySCardEndTransaction)( hcard, dwDisposition );
+ return (mySCardEndTransaction)(hcard, dwDisposition);
}
///////////////////////////////////////////////////////////////////////////////
-static SCARDRETCODE _EstablishContext( SCARDDWORDARG dwScope, SCARDCONTEXT* phContext )
+static SCARDRETCODE _EstablishContext(SCARDDWORDARG dwScope, SCARDCONTEXT* phContext)
{
long lRet;
- lRet = (mySCardEstablishContext)( dwScope, NULL, NULL, phContext );
+ 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 )
+ if (SCARD_S_SUCCESS==lRet)
{
SCARDHANDLE hcard;
SCARDDWORDARG dwarg;
- (mySCardConnectA)( *phContext, "dummy-reader", SCARD_SHARE_SHARED,
- SCARD_PROTOCOL_ANY, &hcard, &dwarg );
+ (mySCardConnectA)(*phContext, "dummy-reader", SCARD_SHARE_SHARED,
+ SCARD_PROTOCOL_ANY, &hcard, &dwarg);
}
#endif // __TIGER__
@@ -534,32 +539,32 @@
static SCARDRETCODE _GetStatusChange(
SCARDCONTEXT hcontext,
SCARDDWORDARG dwTimeout,
- READERSTATELIST* prsl )
+ READERSTATELIST* prsl)
{
SCARDRETCODE hresult;
int i;
// bad reader state list
- if( NULL==prsl )
+ if (NULL==prsl)
{
return SCARD_E_INVALID_PARAMETER;
}
// remove changed bit
- for( i=0; i<prsl->cRStates; i++ )
+ for(i=0; i<prsl->cRStates; i++)
{
// remove changed bit
prsl->ars[i].dwCurrentState = prsl->ars[i].dwCurrentState & (0xFFFFFFFF ^ SCARD_STATE_CHANGED);
}
- hresult = (mySCardGetStatusChangeA)( hcontext, dwTimeout, prsl->ars,
- prsl->cRStates );
+ hresult = (mySCardGetStatusChangeA)(hcontext, dwTimeout, prsl->ars,
+ prsl->cRStates);
- //printf( "\n%.8lx ", hresult );
- //for( i=0; i<prsl->cRStates; i++ )
+ //printf("\n%.8lx ", hresult);
+ //for(i=0; i<prsl->cRStates; i++)
//{
- // printf( "%.8lx %.8lx ", prsl->ars[i].dwCurrentState, prsl->ars[i].dwEventState );
+ // printf("%.8lx %.8lx ", prsl->ars[i].dwCurrentState, prsl->ars[i].dwEventState);
//}
return hresult;
@@ -569,7 +574,7 @@
static SCARDRETCODE _ListReaders(
SCARDCONTEXT hcontext,
STRINGLIST* pmszGroups,
- STRINGLIST* pmszReaders )
+ STRINGLIST* pmszReaders)
{
LPCTSTR mszGroups;
SCARDDWORDARG cchReaders;
@@ -591,8 +596,8 @@
pmszReaders->ac=NULL;
pmszReaders->hcontext=hcontext;
- return (mySCardListReadersA)( hcontext, mszGroups,
- (LPTSTR)&pmszReaders->ac, &cchReaders );
+ return (mySCardListReadersA)(hcontext, mszGroups,
+ (LPTSTR)&pmszReaders->ac, &cchReaders);
#endif //AUTOALLOCATE
// no autoallocate on pcsc-lite; do a first call to get length
@@ -604,31 +609,31 @@
pmszReaders->ac=NULL;
cchReaders=0;
- lRetCode = (mySCardListReadersA)( hcontext, mszGroups, NULL,
- &cchReaders );
+ lRetCode = (mySCardListReadersA)(hcontext, mszGroups, NULL,
+ &cchReaders);
- if ( SCARD_S_SUCCESS!=lRetCode )
+ if (SCARD_S_SUCCESS!=lRetCode)
{
return lRetCode;
}
- if( 0==cchReaders )
+ if (0==cchReaders)
{
return SCARD_S_SUCCESS;
}
- pmszReaders->ac=mem_Malloc( cchReaders*sizeof( char ) );
- if ( NULL==pmszReaders->ac )
+ pmszReaders->ac=mem_Malloc(cchReaders*sizeof(char));
+ if (NULL==pmszReaders->ac)
{
return SCARD_E_NO_MEMORY;
}
- return (mySCardListReadersA)( hcontext, mszGroups, (LPTSTR)pmszReaders->ac, &cchReaders );
+ return (mySCardListReadersA)(hcontext, mszGroups, (LPTSTR)pmszReaders->ac, &cchReaders);
#endif // !NOAUTOALLOCATE
}
///////////////////////////////////////////////////////////////////////////////
-static SCARDRETCODE _ListReaderGroups( SCARDCONTEXT hcontext, STRINGLIST* pmszReaderGroups )
+static SCARDRETCODE _ListReaderGroups(SCARDCONTEXT hcontext, STRINGLIST* pmszReaderGroups)
{
DWORD cchReaderGroups;
LONG lRetCode;
@@ -638,8 +643,8 @@
pmszReaderGroups->ac=NULL;
pmszReaderGroups->hcontext=hcontext;
- return (mySCardListReaderGroupsA)( hcontext,
- (LPTSTR)&pmszReaderGroups->ac, &cchReaderGroups );
+ return (mySCardListReaderGroupsA)(hcontext,
+ (LPTSTR)&pmszReaderGroups->ac, &cchReaderGroups);
#endif // NOAUTOALLOCATE
// no autoallocate on pcsc-lite; do a first call to get length
@@ -651,25 +656,25 @@
pmszReaderGroups->hcontext=0;
cchReaderGroups = 0;
pmszReaderGroups->ac=NULL;
- lRetCode = (mySCardListReaderGroupsA)( hcontext,
- (LPTSTR)pmszReaderGroups->ac, &cchReaderGroups );
- if ( SCARD_S_SUCCESS!=lRetCode )
+ lRetCode = (mySCardListReaderGroupsA)(hcontext,
+ (LPTSTR)pmszReaderGroups->ac, &cchReaderGroups);
+ if (SCARD_S_SUCCESS!=lRetCode)
{
return lRetCode;
}
- if( 0==cchReaderGroups )
+ if (0==cchReaderGroups)
{
return SCARD_S_SUCCESS;
}
- pmszReaderGroups->ac=mem_Malloc( cchReaderGroups*sizeof( char ) );
- if ( NULL==pmszReaderGroups->ac )
+ pmszReaderGroups->ac=mem_Malloc(cchReaderGroups*sizeof(char));
+ if (NULL==pmszReaderGroups->ac)
{
return SCARD_E_NO_MEMORY;
}
- return (mySCardListReaderGroupsA)( hcontext, (LPTSTR)pmszReaderGroups->ac, &cchReaderGroups );
+ return (mySCardListReaderGroupsA)(hcontext, (LPTSTR)pmszReaderGroups->ac, &cchReaderGroups);
#endif // !NOAUTOALLOCATE
};
@@ -688,14 +693,14 @@
dwShareMode,
dwPreferredProtocols,
dwInitialization,
- pdwActiveProtocol );
+ pdwActiveProtocol);
}
///////////////////////////////////////////////////////////////////////////////
-static SCARDRETCODE _ReleaseContext( SCARDCONTEXT hcontext )
+static SCARDRETCODE _ReleaseContext(SCARDCONTEXT hcontext)
{
SCARDRETCODE lRet;
- lRet = (mySCardReleaseContext)( hcontext );
+ lRet = (mySCardReleaseContext)(hcontext);
return lRet;
}
@@ -715,7 +720,7 @@
for(;;)
{
pbl->ab = (unsigned char*)mem_Malloc(dwAtrLen*sizeof(unsigned char));
- if( pbl->ab == NULL )
+ if (pbl->ab == NULL)
{
lRetCode=SCARD_E_NO_MEMORY;
break;
@@ -723,7 +728,7 @@
pbl->cBytes = dwAtrLen;
pszReaderName->sz = mem_Malloc(dwReaderLen*sizeof(char));
pszReaderName->hcontext = 0;
- if( NULL == pszReaderName->sz )
+ if (NULL == pszReaderName->sz)
{
lRetCode=SCARD_E_NO_MEMORY;
break;
@@ -735,7 +740,7 @@
pdwState,
pdwProtocol,
pbl->ab,
- &pbl->cBytes );
+ &pbl->cBytes);
break;
}
@@ -782,19 +787,19 @@
pblSendBuffer->cBytes,
NULL,
pblRecvBuffer->ab,
- &pblRecvBuffer->cBytes );
+ &pblRecvBuffer->cBytes);
return ret;
}
///////////////////////////////////////////////////////////////////////////////
-static long _SCARD_CTL_CODE( long code )
+static long _SCARD_CTL_CODE(long code)
{
return SCARD_CTL_CODE(code);
}
///////////////////////////////////////////////////////////////////////////////
-static ERRORSTRING* _GetErrorMessage( long lErrCode )
+static ERRORSTRING* _GetErrorMessage(long lErrCode)
{
#ifdef WIN32
#define _NO_SERVICE_MSG "The Smart card resource manager is not running."
@@ -806,20 +811,20 @@
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_MAX_WIDTH_MASK,
NULL,
lErrCode,
- MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ),
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&ppszError,
0,
- NULL );
+ NULL);
- if( 0L==dwRetCode )
+ if (0L==dwRetCode)
{
ppszError=NULL;
- if( SCARD_E_NO_SERVICE==lErrCode )
+ if (SCARD_E_NO_SERVICE==lErrCode)
{
- ppszError=(LPVOID)LocalAlloc( LPTR, sizeof( _NO_SERVICE_MSG )+1 );
- if(NULL!=ppszError)
+ ppszError=(LPVOID)LocalAlloc(LPTR, sizeof(_NO_SERVICE_MSG)+1);
+ if (NULL!=ppszError)
{
- strncpy( ppszError, _NO_SERVICE_MSG, sizeof( _NO_SERVICE_MSG )+1 );
+ strncpy(ppszError, _NO_SERVICE_MSG, sizeof(_NO_SERVICE_MSG)+1);
}
}
}
@@ -827,7 +832,7 @@
return ppszError;
#endif // WIN32
#ifdef PCSCLITE
- return (ERRORSTRING*)myPcscStringifyError( lErrCode );
+ return (ERRORSTRING*)myPcscStringifyError(lErrCode);
#endif // PCSCLITE
}
@@ -907,11 +912,11 @@
newgroup = 'SCard$MyOwnGroup'
reader = 'SchlumbergerSema Reflex USB v.2 0'
readeralias = 'SchlumbergerSema Reflex USB v.2 0 alias'
- hresult = SCardIntroduceReader( hcontext, readeralias, reader] )
- if hresult!=0:
+ hresult = SCardIntroduceReader(hcontext, readeralias, reader])
+ if hresult != SCARD_S_SUCCESS:
raise error, 'Unable to introduce reader: ' + SCardGetErrorMessage(hresult)
- hresult = SCardAddReaderToGroup( hcontext, readeralias, newgroup )
+ hresult = SCardAddReaderToGroup(hcontext, readeralias, newgroup)
if hresult!=0:
raise error, 'Unable to add reader to group: ' + SCardGetErrorMessage(hresult)
@@ -922,11 +927,11 @@
%rename(SCardAddReaderToGroup) _AddReaderToGroup(
SCARDCONTEXT hcontext,
char* szReaderName,
- char* szGroupName );
+ char* szGroupName);
SCARDRETCODE _AddReaderToGroup(
SCARDCONTEXT hcontext,
char* szReaderName,
- char* szGroupName );
+ char* szGroupName);
///////////////////////////////////////////////////////////////////////////////
%define DOCSTRING_FORGETCARDTYPE
@@ -937,16 +942,16 @@
from smartcard.scard import *
... establish context ...
-hresult = SCardForgetCardType( hcontext, 'myCardName' )
-if hresult!=SCARD_S_SUCCESS:
+hresult = SCardForgetCardType(hcontext, 'myCardName')
+if hresult != SCARD_S_SUCCESS:
raise error, 'Failed to remove card type: ' + SCardGetErrorMessage(hresult)
...
"
%enddef
%feature("docstring") DOCSTRING_FORGETCARDTYPE;
-%rename(SCardForgetCardType) _ForgetCardType( SCARDCONTEXT hcontext, char* szCardName );
-SCARDRETCODE _ForgetCardType( SCARDCONTEXT hcontext, char* szCardName );
+%rename(SCardForgetCardType) _ForgetCardType(SCARDCONTEXT hcontext, char* szCardName);
+SCARDRETCODE _ForgetCardType(SCARDCONTEXT hcontext, char* szCardName);
///////////////////////////////////////////////////////////////////////////////
%define DOCSTRING_FORGETREADER
@@ -959,15 +964,15 @@
from smartcard.scard import *
... establish context ...
...
-hresult = SCardForgetReader( hcontext, dummyreader )
-if hresult!=0:
+hresult = SCardForgetReader(hcontext, dummyreader)
+if hresult != SCARD_S_SUCCESS:
raise error, 'Failed to forget readers ' + SCardGetErrorMessage(hresult)
...
"
%enddef
%feature("docstring") DOCSTRING_FORGETREADER;
-%rename(SCardForgetReader) _ForgetReader( SCARDCONTEXT hcontext, char* szReaderName );
-SCARDRETCODE _ForgetReader( SCARDCONTEXT hcontext, char* szReaderName );
+%rename(SCardForgetReader) _ForgetReader(SCARDCONTEXT hcontext, char* szReaderName);
+SCARDRETCODE _ForgetReader(SCARDCONTEXT hcontext, char* szReaderName);
///////////////////////////////////////////////////////////////////////////////
%define DOCSTRING_FORGETREADERGROUP
@@ -982,35 +987,35 @@
from smartcard.scard import *
... establish context ...
...
-hresult = SCardForgetReaderGroup( hcontext, newgroup )
-if hresult!=0:
+hresult = SCardForgetReaderGroup(hcontext, newgroup)
+if hresult != SCARD_S_SUCCESS:
raise error, 'Unable to forget reader group: ' + SCardGetErrorMessage(hresult)
...
"
%enddef
%feature("docstring") DOCSTRING_FORGETREADERGROUP;
-%rename(SCardForgetReaderGroup) _ForgetReaderGroup( SCARDCONTEXT hcontext, char* szGroupName );
-SCARDRETCODE _ForgetReaderGroup( SCARDCONTEXT hcontext, char* szGroupName );
+%rename(SCardForgetReaderGroup) _ForgetReaderGroup(SCARDCONTEXT hcontext, char* szGroupName);
+SCARDRETCODE _ForgetReaderGroup(SCARDCONTEXT hcontext, char* szGroupName);
///////////////////////////////////////////////////////////////////////////////
%define DOCSTRING_GETCARDTYPEPROVIDERNAME
"
-Returns the name of the module (dynamic link library) containing the provider for a
-given card name and provider type.
+Returns the name of the module (dynamic link library) containing the
+provider for a given card name and provider type.
Windows only, not supported by PCSC lite wrapper.
from smartcard.scard import *
... establish context ...
-hresult, cards = SCardListCards( hcontext, [], [] )
-if hresult!=SCARD_S_SUCCESS:
+hresult, cards = SCardListCards(hcontext, [], [])
+if hresult != SCARD_S_SUCCESS:
raise error, 'Failure to list cards: ' + SCardGetErrorMessage(hresult)
for i in cards:
- hresult, providername = SCardGetCardTypeProviderName( hcontext, i, SCARD_PROVIDER_PRIMARY )
- if hresult==0:
+ hresult, providername = SCardGetCardTypeProviderName(hcontext, i, SCARD_PROVIDER_PRIMARY)
+ if hresult == SCARD_S_SUCCESS:
print providername
- hresult, providername = SCardGetCardTypeProviderName( hcontext, i, SCARD_PROVIDER_CSP )
- if hresult==0:
+ hresult, providername = SCardGetCardTypeProviderName(hcontext, i, SCARD_PROVIDER_CSP)
+ if hresult == SCARD_S_SUCCESS:
print providername
...
"
@@ -1041,15 +1046,15 @@
...
znewcardName = 'dummy-card'
znewcardATR = [0x3B, 0x77, 0x94, 0x00, 0x00, 0x82, 0x30, 0x00, 0x13, 0x6C, 0x9F, 0x22]
-znewcardMask= [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
+znewcardMask = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
znewcardPrimGuid = smartcard.guid.strToGUID('{128F3806-4F70-4ccf-977A-60C390664840}')
znewcardSecGuid = smartcard.guid.strToGUID('{EB7F69EA-BA20-47d0-8C50-11CFDEB63BBE}')
...
- hresult = SCardIntroduceCardType( hcontext, znewcardName, znewcardPrimGuid,
- znewcardPrimGuid + znewcardSecGuid, znewcardATR, znewcardMask )
- if hresult!=0:
- raise error, 'Failed to introduce card type: ' + SCardGetErrorMessage(hresult)
-if hresult!=SCARD_S_SUCCESS:
+hresult = SCardIntroduceCardType(hcontext, znewcardName,
+ znewcardPrimGuid, znewcardPrimGuid + znewcardSecGuid,
+ znewcardATR, znewcardMask)
+
+if hresult != SCARD_S_SUCCESS:
raise error, 'Failed to introduce card type: ' + SCardGetErrorMessage(hresult)
...
"
@@ -1082,15 +1087,15 @@
from smartcard.scard import *
...
dummyreader = readers[0] + ' dummy'
-hresult = SCardIntroduceReader( hcontext, dummyreader, readers[0] )
-if hresult!=0:
+hresult = SCardIntroduceReader(hcontext, dummyreader, readers[0])
+if hresult != SCARD_S_SUCCESS:
raise erro...
[truncated message content] |
|
From: <jda...@us...> - 2011-10-22 17:35:06
|
Revision: 581
http://pyscard.svn.sourceforge.net/pyscard/?rev=581&view=rev
Author: jdaussel
Date: 2011-10-22 17:35:00 +0000 (Sat, 22 Oct 2011)
Log Message:
-----------
Reverted to MAX_BUFFER_SIZE_EXTENDED
Modified Paths:
--------------
trunk/pyscard/src/smartcard/scard/scard.i
Modified: trunk/pyscard/src/smartcard/scard/scard.i
===================================================================
--- trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 17:22:52 UTC (rev 580)
+++ trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 17:35:00 UTC (rev 581)
@@ -430,8 +430,8 @@
{
SCARDRETCODE lRet;
- pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char));
- pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2;
+ pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
+ pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;
lRet = (mySCardControl)(
hcard,
@@ -452,8 +452,8 @@
{
SCARDRETCODE lRet;
- pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char));
- pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2;
+ pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
+ pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;
lRet = (mySCardControl)(
hcard,
@@ -758,8 +758,8 @@
PSCARD_IO_REQUEST piorequest=NULL;
long ret;
- pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*2*sizeof(unsigned char));
- pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED+2;
+ pblRecvBuffer->ab = (unsigned char*)mem_Malloc(MAX_BUFFER_SIZE_EXTENDED*sizeof(unsigned char));
+ pblRecvBuffer->cBytes = MAX_BUFFER_SIZE_EXTENDED;
// keep in sync with redefinition in PcscDefs.i
switch(pioSendPci)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lu...@us...> - 2011-10-22 18:21:31
|
Revision: 582
http://pyscard.svn.sourceforge.net/pyscard/?rev=582&view=rev
Author: ludov
Date: 2011-10-22 18:21:25 +0000 (Sat, 22 Oct 2011)
Log Message:
-----------
Update MAX_BUFFER_SIZE_EXTENDED
For PCSCLITE add 2 bytes for SW
For Windows add 10 bytes for header, Lc and Le
Modified Paths:
--------------
trunk/pyscard/src/smartcard/scard/scard.i
Modified: trunk/pyscard/src/smartcard/scard/scard.i
===================================================================
--- trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 17:35:00 UTC (rev 581)
+++ trunk/pyscard/src/smartcard/scard/scard.i 2011-10-22 18:21:25 UTC (rev 582)
@@ -185,12 +185,12 @@
#endif
// undefined on older releases
#ifndef MAX_BUFFER_SIZE_EXTENDED
- #define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3)
+ #define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3 + 2)
#endif
#else // !PCSCLITE
// SCARD_CTL_CODE defined in WinSmCrd.h included by Win32 winscard.h
// MAX_BUFFER_SIZE_EXTENDED is pcsc-lite specific
-#define MAX_BUFFER_SIZE_EXTENDED (1<<16)+2
+#define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3 + 2)
#endif //PCSCLITE
#include "pcsctypes.h"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|