From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=45653 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q4DN7-0002z2-UO for qemu-devel@nongnu.org; Mon, 28 Mar 2011 10:24:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q4DN6-0003sk-Ok for qemu-devel@nongnu.org; Mon, 28 Mar 2011 10:24:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:18991) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q4DN6-0003sd-CB for qemu-devel@nongnu.org; Mon, 28 Mar 2011 10:24:44 -0400 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p2SEOhl4019542 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 28 Mar 2011 10:24:43 -0400 Date: Mon, 28 Mar 2011 16:24:38 +0200 From: Alon Levy Subject: Re: [Qemu-devel] [PATCH v23 08/11] libcacard: add passthru Message-ID: <20110328142438.GA2741@playa.redhat.com> References: <1300886393-2799-1-git-send-email-alevy@redhat.com> <1300886393-2799-9-git-send-email-alevy@redhat.com> <4D908CD5.5030301@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4D908CD5.5030301@redhat.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jes Sorensen Cc: qemu-devel@nongnu.org On Mon, Mar 28, 2011 at 03:27:49PM +0200, Jes Sorensen wrote: > On 03/23/11 14:19, Alon Levy wrote: > > diff --git a/libcacard/passthru.c b/libcacard/passthru.c > > new file mode 100644 > > index 0000000..d78e2db > > --- /dev/null > > +++ b/libcacard/passthru.c > > @@ -0,0 +1,609 @@ > > +/* > > + * implement the applets for the CAC card. > > + * > > + * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. > > + * See the COPYING.LIB file in the top-level directory. > > + */ > > +#ifdef USE_PASSTHRU > > +#include > > +#include > > + > > +#include > > + > > +#include "qemu-thread.h" > > + > > +#include "vcard.h" > > +#include "vcard_emul.h" > > +#include "card_7816.h" > > +#include "vreader.h" > > +#include "vcard_emul.h" > > +#include "passthru.h" > > + > > +/* > > + * Passthru applet private data > > + */ > > +struct VCardAppletPrivateStruct { > > + char *reader_name; > > + /* pcsc-lite parameters */ > > + SCARDHANDLE hCard; > > + uint32_t hProtocol; > > + SCARD_IO_REQUEST *send_io; > > + unsigned char atr[MAX_ATR_SIZE]; > > + int atr_len; > > +}; > > + > > +static SCARDCONTEXT global_context; > > + > > +#define MAX_RESPONSE_LENGTH 261 /*65537 */ > > +/* > > + * handle all the APDU's that are common to all CAC applets > > + */ > > +static VCardStatus > > +passthru_process_apdu(VCard *card, VCardAPDU *apdu, VCardResponse **response) > > +{ > > + LONG rv; > > Where does this odd LONG type come from? I think Windows uses LONG so > having your own type would conflict with that, and of course we don't > really want Windows types directly in QEMU either, so I am curious? Using the "not my code" defence, so no idea. I'll fix. > > Otherwise the code looks fine. > > Cheers, > Jes