From 114f8372a1c102d3bb57dc716cf947c05a383b43 Mon Sep 17 00:00:00 2001 From: Martin Endler Date: Thu, 17 Nov 2016 23:52:27 +0100 Subject: [PATCH] added IOCTL_CCID_ESCAPE constant to reader object to support escape command --- .idea/jsLibraryMappings.xml | 1 + .idea/misc.xml | 10 ---------- lib/pcsclite.js | 4 ++-- src/cardreader.cpp | 3 +++ src/cardreader.h | 5 +++++ 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml index f3e502d..00f2dc2 100644 --- a/.idea/jsLibraryMappings.xml +++ b/.idea/jsLibraryMappings.xml @@ -1,6 +1,7 @@ + diff --git a/.idea/misc.xml b/.idea/misc.xml index 0997ad1..49ca13f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,16 +3,6 @@ - - - - - - - - - - $USER_HOME$/.subversion diff --git a/lib/pcsclite.js b/lib/pcsclite.js index a9136f6..c7668cc 100644 --- a/lib/pcsclite.js +++ b/lib/pcsclite.js @@ -2,7 +2,7 @@ const EventEmitter = require('events'); const pcsclite = require('bindings')('pcsclite'); -const {PCSCLite, CardReader} = pcsclite; +const { PCSCLite, CardReader } = pcsclite; inherits(PCSCLite, EventEmitter); @@ -71,7 +71,7 @@ module.exports = function () { return r.emit('error', err); } - const status = {state: state}; + const status = { state: state }; if (atr) { status.atr = atr; diff --git a/src/cardreader.cpp b/src/cardreader.cpp index 85e2ca7..42f5d3d 100644 --- a/src/cardreader.cpp +++ b/src/cardreader.cpp @@ -31,6 +31,9 @@ void CardReader::init(Handle target) { Nan::SetPrototypeTemplate(tpl, "SCARD_SHARE_EXCLUSIVE", Nan::New(SCARD_SHARE_EXCLUSIVE)); Nan::SetPrototypeTemplate(tpl, "SCARD_SHARE_DIRECT", Nan::New(SCARD_SHARE_DIRECT)); + // Control Code + Nan::SetPrototypeTemplate(tpl, "IOCTL_CCID_ESCAPE", Nan::New(IOCTL_CCID_ESCAPE)); + // Protocol Nan::SetPrototypeTemplate(tpl, "SCARD_PROTOCOL_T0", Nan::New(SCARD_PROTOCOL_T0)); Nan::SetPrototypeTemplate(tpl, "SCARD_PROTOCOL_T1", Nan::New(SCARD_PROTOCOL_T1)); diff --git a/src/cardreader.h b/src/cardreader.h index 4677d0d..af9de03 100644 --- a/src/cardreader.h +++ b/src/cardreader.h @@ -14,6 +14,11 @@ #ifdef _WIN32 #define MAX_ATR_SIZE 33 #endif +#ifdef WIN32 +#define IOCTL_CCID_ESCAPE (0x42000000 + 3500) +#else +#define IOCTL_CCID_ESCAPE (0x42000000 + 1) +#endif static Nan::Persistent name_symbol; static Nan::Persistent connected_symbol;