[Pcsclite-cvs-commit] CVS PCSC/src
CVS User rousseau
ludovic.rousseau@free.fr
Mon, 28 Feb 2005 01:49:24 -0700
Update of /cvsroot/pcsclite/PCSC/src
In directory haydn:/tmp/cvs-serv22586/src
Modified Files:
winscard_scf.c
Log Message:
code cleanup
--- /cvsroot/pcsclite/PCSC/src/winscard_scf.c 2005/02/28 08:42:29 1.18
+++ /cvsroot/pcsclite/PCSC/src/winscard_scf.c 2005/02/28 08:49:23 1.19
@@ -6,8 +6,10 @@
* Copyright (C) 2002
* David Corcoran <corcoran@linuxnet.com>
* Najam Siddiqui
+ * Copyright (C) 2005
+ * Ludovic Rousseau <ludovic.rousseau@free.fr>
*
- * $Id: winscard_scf.c,v 1.18 2005/02/28 08:42:29 rousseau Exp $
+ * $Id: winscard_scf.c,v 1.19 2005/02/28 08:49:23 rousseau Exp $
*/
#include "config.h"
@@ -124,7 +126,6 @@
{
LONG rv = 0;
-
if (SCARD_S_SUCCESS != isOCFServerRunning())
return SCARD_E_NO_SERVICE;
@@ -134,24 +135,18 @@
return rv;
if (NULL == phContext)
- {
return SCARD_E_INVALID_PARAMETER;
- }
else
- {
*phContext = 0;
- }
if (dwScope != SCARD_SCOPE_USER && dwScope != SCARD_SCOPE_TERMINAL &&
dwScope != SCARD_SCOPE_SYSTEM && dwScope != SCARD_SCOPE_GLOBAL)
{
-
*phContext = 0;
return SCARD_E_INVALID_VALUE;
}
rv = getNewContext(phContext);
return rv;
-
}
LONG SCardEstablishContext(DWORD dwScope, LPCVOID pvReserved1,
@@ -164,14 +159,11 @@
pvReserved2, phContext);
SCardUnlockThread();
-
return rv;
-
}
static LONG SCardReleaseContextTH(SCARDCONTEXT hContext)
{
-
LONG rv;
/* Zero out everything */
@@ -236,7 +228,6 @@
if (1 >= dwReadersLen)
return SCARD_E_READER_UNAVAILABLE;
-
if (mszReaders == 0)
{
*pcchReaders = dwReadersLen;
@@ -274,7 +265,6 @@
LONG SCardListReaders(SCARDCONTEXT hContext, LPCTSTR mszGroups,
LPTSTR mszReaders, LPDWORD pcchReaders)
{
-
long rv;
SCardLockThread();
@@ -301,37 +291,26 @@
/* Check for NULL parameters */
if (phCard == 0 || pdwActiveProtocol == 0)
- {
return SCARD_E_INVALID_PARAMETER;
- }
else
- {
*phCard = 0;
- }
/* Make sure this context has been opened */
if (SCardGetContextIndice(hContext) == -1)
- {
return SCARD_E_INVALID_HANDLE;
- }
if (szReader == 0)
- {
return SCARD_E_UNKNOWN_READER;
- }
/* Check for uninitialized strings */
if (strlen(szReader) > MAX_READERNAME)
- {
return SCARD_E_INVALID_VALUE;
- }
if (!(dwPreferredProtocols & SCARD_PROTOCOL_T0) &&
!(dwPreferredProtocols & SCARD_PROTOCOL_T1) &&
!(dwPreferredProtocols & SCARD_PROTOCOL_RAW) &&
!(dwPreferredProtocols & SCARD_PROTOCOL_ANY))
{
-
return SCARD_E_INVALID_VALUE;
}
@@ -348,9 +327,7 @@
rv = getNewHandle(hContext, szReader, phCard, dwShareMode);
if (SCARD_S_SUCCESS != rv)
- {
return rv;
- }
*pdwActiveProtocol = SCARD_PROTOCOL_T0;
return SCARD_S_SUCCESS;
@@ -367,12 +344,10 @@
dwPreferredProtocols, phCard, pdwActiveProtocol);
SCardUnlockThread();
return rv;
-
}
static LONG SCardDisconnectTH(SCARDHANDLE hCard, DWORD dwDisposition)
{
-
long rv;
LONG retIndice = 0;
@@ -392,9 +367,7 @@
/*CHECK HANDLE VALIDITY */
retIndice = SCardGetHandleIndice(hCard);
if ((retIndice == -1) || (NULL == psChannelMap[retIndice].SCF_hCard))
- {
return SCARD_E_INVALID_HANDLE;
- }
/* TODO Take Care of the Disposition... */
/* Resetting the card for SCARD_RESET_CARD |
@@ -417,14 +390,12 @@
rv = SCardRemoveHandle(hCard);
return rv;
-
}
static LONG SCardReconnectTH(SCARDHANDLE hCard, DWORD dwShareMode,
DWORD dwPreferredProtocols, DWORD dwInitialization,
LPDWORD pdwActiveProtocol)
{
-
SCARDCONTEXT hContext;
LPTSTR ReaderName;
SCARDHANDLE tempHandle;
@@ -434,9 +405,8 @@
if (SCARD_S_SUCCESS != isOCFServerRunning())
return SCARD_E_NO_SERVICE;
if (pdwActiveProtocol == 0)
- {
return SCARD_E_INVALID_PARAMETER;
- }
+
if (dwInitialization != SCARD_LEAVE_CARD &&
dwInitialization != SCARD_RESET_CARD &&
dwInitialization != SCARD_UNPOWER_CARD &&
@@ -448,9 +418,7 @@
retIndice = SCardGetHandleIndice(hCard);
if (-1 == retIndice)
- {
return SCARD_E_INVALID_HANDLE;
- }
hContext = psChannelMap[retIndice].hContext;
ReaderName = psReaderMap[psChannelMap[retIndice].ReaderIndice].ReaderName;
@@ -461,15 +429,11 @@
rv = SCardConnectTH(hContext, ReaderName, dwShareMode,
dwPreferredProtocols, &tempHandle, pdwActiveProtocol);
if (SCARD_S_SUCCESS != rv)
- {
return rv;
- }
retIndice = SCardGetHandleIndice(tempHandle);
if (-1 == retIndice)
- {
return SCARD_E_NO_MEMORY;
- }
/*set PCSC hCard to old Handle */
SCardEventLock();
@@ -477,7 +441,6 @@
SCardEventUnlock();
return SCARD_S_SUCCESS;
-
}
LONG SCardReconnect(SCARDHANDLE hCard, DWORD dwShareMode,
@@ -491,25 +454,21 @@
dwInitialization, pdwActiveProtocol);
SCardUnlockThread();
return rv;
-
}
LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition)
{
-
long rv;
SCardLockThread();
rv = SCardDisconnectTH(hCard, dwDisposition);
SCardUnlockThread();
return rv;
-
}
LONG SCardBeginTransaction(SCARDHANDLE hCard)
{
-
LONG rv;
SCF_Card_t SCF_hCard;
@@ -539,12 +498,10 @@
rv = ConvertStatus(status);
return rv;
-
}
static LONG SCardEndTransactionTH(SCARDHANDLE hCard, DWORD dwDisposition)
{
-
LONG rv;
LONG retIndice = 0;
SCF_Card_t SCF_hCard;
@@ -564,9 +521,7 @@
}
retIndice = SCardGetHandleIndice(hCard);
if (retIndice == -1)
- {
return SCARD_E_INVALID_HANDLE;
- }
rv = getCardForHandle(hCard, &SCF_hCard);
if (rv != SCARD_S_SUCCESS)
@@ -593,7 +548,6 @@
LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition)
{
-
long rv;
SCardLockThread();
@@ -613,7 +567,6 @@
LONG SCardCancelTransaction(SCARDHANDLE hCard)
{
-
long rv;
SCardLockThread();
@@ -621,6 +574,7 @@
SCardUnlockThread();
return rv;
}
+
static LONG SCardStatusTH(SCARDHANDLE hCard, LPTSTR mszReaderNames,
LPDWORD pcchReaderLen, LPDWORD pdwState,
LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen)
@@ -645,7 +599,6 @@
return SCARD_E_INVALID_PARAMETER;
}
-
retIndice = SCardGetHandleIndice(hCard);
rv = getCardForHandle(hCard, &SCF_hCard);
@@ -737,7 +690,6 @@
DWORD dwBreakFlag;
int i, j;
-
if (SCARD_S_SUCCESS != isOCFServerRunning())
return SCARD_E_NO_SERVICE;
@@ -754,22 +706,18 @@
dwBreakFlag = 0;
if (rgReaderStates == 0 && cReaders > 0)
- {
return SCARD_E_INVALID_PARAMETER;
- }
+
if (cReaders < 0)
- {
return SCARD_E_INVALID_VALUE;
- }
+
/* change by najam */
SCardLockThread();
retIndice = SCardGetContextIndice(hContext);
/* change by najam */
SCardUnlockThread();
if (retIndice == -1)
- {
return SCARD_E_INVALID_HANDLE;
- }
/* Application is waiting for a reader -
return the first available reader
@@ -1009,9 +957,7 @@
/* Counter and resetter */
j = j + 1;
if (j == cReaders)
- {
j = 0;
- }
if (dwTimeout != INFINITE && dwTimeout != 0)
{
@@ -1029,15 +975,11 @@
/* Declare all the break conditions */
/* TODO think about this */
if (psContextMap[retIndice].contextBlockStatus == BLOCK_STATUS_RESUME)
- {
break;
- }
/* Break if UNAWARE is set and all readers have been checked */
if ((dwBreakFlag == 1) && (j == 0))
- {
break;
- }
/*
* Solve the problem of never exiting the loop when a smartcard is
@@ -1045,9 +987,7 @@
* (patch proposed by Serge Koganovitsch)
*/
if ((dwTimeout == 0) && (j == 0))
- {
break;
- }
}
while (1); /* end of do */
@@ -1064,7 +1004,6 @@
LONG SCardControl(SCARDHANDLE hCard, LPCBYTE pbSendBuffer, DWORD cbSendLength,
LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength)
{
-
/* TODO */
return SCARD_S_SUCCESS;
}
@@ -1073,7 +1012,6 @@
LPCBYTE pbSendBuffer, DWORD cbSendLength,
LPSCARD_IO_REQUEST pioRecvPci, LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength)
{
-
BYTE Buffer[MAX_BUFFER_SIZE];
LONG rv = 0;
SCF_Card_t SCF_hCard;
@@ -1090,9 +1028,7 @@
rv = getCardForHandle(hCard, &SCF_hCard);
if (rv != SCARD_S_SUCCESS)
- {
return rv;
- }
if ((cbSendLength > MAX_BUFFER_SIZE) || (*pcbRecvLength < 2))
return SCARD_E_INSUFFICIENT_BUFFER;
@@ -1120,7 +1056,6 @@
psTransmitMap[retIndice].isResponseCached = 0;
}
-
status = SCF_Card_exchangeAPDU(SCF_hCard,
(const uint8_t *) pbSendBuffer, (size_t) cbSendLength,
(uint8_t *) Buffer, (size_t *) & localRecvLen);
@@ -1161,14 +1096,12 @@
rv = ConvertStatus(status);
return rv;
-
}
[268 lines skipped]