doc: Update README

- Improve format.
- Document API.
This commit is contained in:
Santiago Gimeno
2014-07-28 13:05:16 +02:00
parent c3d947860c
commit bb87f0b09c

View File

@@ -1,10 +1,8 @@
node-pcsclite
=============
# node-pcsclite
Bindings over pcsclite to access Smart Cards
Installation
============
## Installation
In order to install the package you need to have installed in the system the
pcsclite libraries. In Debian/Ubuntu:
@@ -19,9 +17,9 @@ To run any code you will also need to have installed the pcsc daemon:
apt-get install pcscd
Example
=======
## Example
```
var pcsc = require('pcsclite');
var pcsc = pcsc();
@@ -76,8 +74,78 @@ Example
pcsc.on('error', function(err) {
console.log('PCSC error', err.message);
});
```
## API
### Class: ChildProcess
The PCSCLite object is an EventEmitter that notifies the existence of Card Readers.
#### Event: 'error'
* *err* `Error Object`. The error.
#### Event: 'reader'
* *reader* `CardReader`. A CardReader object associated to the card reader detected
Emitted whenever a new card reader is detected.
### Class: CardReader
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/santigimeno/node-pcsclite/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
The CardReader object is an EventEmitter that allows to manipulate a card reader.
#### Event: 'error'
* *err* `Error Object`. The error.
#### Event: 'end'
Emitted when the card reader has been removed.
#### Event: 'status'
* *status* `Object`.
* *state* The current status of the card reader as returned by `SCardGetStatusChange`
* *atr* ATR of the card inserted (if any)
Emitted whenever the status of the reader changes.
#### reader.connect(callback)
* *callback* `Function` called when connection operation ends
* *error* `Error`
* *protocol* `Number` Established protocol to this connection.
Wrapper around `SCardConnect`. Establishes a connection to the reader.
#### reader.disconnect(callback)
* *callback* `Function` called when disconnection operation ends
* *error* `Error`
Wrapper around `SCardDisconnect`. Terminates a connection to the reader.
#### reader.transmit(input, res_len, protocol, callback)
* *input* `Buffer` input data to be transmitted
* *res_len* `Number`. Max. expected length of the response
* *protocol* `Number`. Protocol to be used in the transmission
* *callback* `Function` called when disconnection operation ends
* *error* `Error`
* *output* `Buffer`
Wrapper around `SCardTransmit`. Sends an APDU to the smart card contained in the reader connected to.
#### reader.control(input, control_code, res_len, callback)
* *input* `Buffer` input data to be transmitted
* *control_code* `Number`. Control code for the operation
* *res_len* `Number`. Max. expected length of the response
* *callback* `Function` called when disconnection operation ends
* *error* `Error`
* *output* `Buffer`
Wrapper around `SCardControl`. Sends a command directly to the IFD Handler (reader driver) to be processed by the reader.