On 05/02/07, Iain MacDonnell <[EMAIL PROTECTED]> wrote:
Ludovic Rousseau wrote on 02/ 5/07 09:13 AM:
> I am working on a new version of pcsc-lite with some "major" changes
> (speed improvements at the user level). I would like you to test it by
> installing, using it and recompiling applications and reader driver
> with it.
Here's a problem building OpenSC against it:
cc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src/include
-I/opt/ITsmartcard/include -I/opt/ITsmartcard/include/PCSC
-I/usr/sfw/include -I/opt/sfw/include -I/usr/local/include
-I/usr/sfw/include -I/opt/ITsmartcard/include -D_REENTRANT
-I/opt/ITsmartcard/include/PCSC -I../../src/common -I../../src/include
-I/opt/ITsmartcard/include -I/opt/ITsmartcard/include/PCSC
-I/usr/sfw/include -I/opt/sfw/include -I/usr/local/include
-I/opt/ITsmartcard/include -I/opt/ITsmartcard/include/PCSC
-I/usr/sfw/include -I/opt/sfw/include -D_REENTRANT -c reader-pcsc.c
-KPIC -DPIC -o .libs/reader-pcsc.o
"/opt/ITsmartcard/include/PCSC/reader.h", line 125: warning: ignoring
malformed #pragma pack(n)
"/opt/ITsmartcard/include/PCSC/reader.h", line 203: warning: ignoring
malformed #pragma pack(n)
"reader-pcsc.c", line 716: undefined symbol: SCARD_SCOPE_GLOBAL
cc: acomp failed for reader-pcsc.c
gmake[5]: *** [reader-pcsc.lo] Error 1
gmake[5]: Leaving directory
`/export/ws/ITsmartcard/20070205a/opensc-svn/src/libopensc'
The malformed #pragma's probably aren't new, but SCARD_SCOPE_GLOBAL
appears to have been moved into pcscd.h...
Exact. Good job.
Micorosft SCardEstablishContext() [1] only supports SCARD_SCOPE_USER
and SCARD_SCOPE_SYSTEM.
And the dwScope argument is not used by pcsc-lite.
I propose to patch OpenSC to use SCARD_SCOPE_USER instead.
I propose the patch:
Index: src/libopensc/reader-pcsc.c
===================================================================
--- src/libopensc/reader-pcsc.c (révision 3115)
+++ src/libopensc/reader-pcsc.c (copie de travail)
@@ -60,7 +60,6 @@
#undef SCARD_PROTOCOL_ANY
#define SCARD_PROTOCOL_ANY (SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1)
#ifdef _WIN32
-#define SCARD_SCOPE_GLOBAL SCARD_SCOPE_USER
/* Error printing */
#define PCSC_ERROR(ctx, desc, rv) sc_error(ctx, desc ": %lx\n", rv);
@@ -716,7 +715,7 @@ static int pcsc_init(sc_context_t *ctx,
struct pcsc_global_private_data *gpriv;
scconf_block *conf_block;
- rv = SCardEstablishContext(SCARD_SCOPE_GLOBAL,
+ rv = SCardEstablishContext(SCARD_SCOPE_USER,
NULL, NULL, &pcsc_ctx);
if (rv != SCARD_S_SUCCESS)
return pcsc_ret_to_error(rv);
bye,
[1] http://msdn2.microsoft.com/en-us/library/aa379479.aspx
--
Dr. Ludovic Rousseau
_______________________________________________
opensc-devel mailing list
[email protected]
http://www.opensc-project.org/mailman/listinfo/opensc-devel