Struct pcsc::Transaction
[−]
[src]
pub struct Transaction<'card> { /* fields omitted */ }An exclusive transaction with a card.
Methods
impl<'card> Transaction<'card>[src]
fn end(self,
disposition: Disposition)
-> Result<(), (Transaction<'card>, Error)>
disposition: Disposition)
-> Result<(), (Transaction<'card>, Error)>
End the transaction.
In case of error, ownership of the transaction is returned to the caller.
This function wraps SCardEndTransaction (pcsclite,
MSDN).
Note
Transaction implements Drop which automatically ends the
transaction using Disposition::LeaveCard; you only need to call
this function if you want to handle errors or use a different
disposition method.
Methods from Deref<Target=Card<'card>>
fn disconnect(self, disposition: Disposition) -> Result<(), (Card<'ctx>, Error)>
Disconnect from the card.
In case of error, ownership of the card is returned to the caller.
This function wraps SCardDisconnect (pcsclite, MSDN).
Note
Card implements Drop which automatically disconnects the card
using Disposition::ResetCard; you only need to call this
function if you want to handle errors or use a different
disposition method.
fn status(&self) -> Result<(Status, Protocol), Error>
fn get_attribute<'buf>(&self,
attribute: Attribute,
buffer: &'buf mut [u8])
-> Result<&'buf [u8], Error>
attribute: Attribute,
buffer: &'buf mut [u8])
-> Result<&'buf [u8], Error>
Get an attribute of the card or card reader.
buffer is a buffer that should be large enough for the attribute
data.
Returns a slice into buffer containing the attribute data.
If the buffer is not large enough, Error::InsufficientBuffer is
returned.
fn set_attribute(&self,
attribute: Attribute,
attribute_data: &[u8])
-> Result<(), Error>
attribute: Attribute,
attribute_data: &[u8])
-> Result<(), Error>
fn transmit<'buf>(&self,
send_buffer: &[u8],
receive_buffer: &'buf mut [u8])
-> Result<&'buf [u8], Error>
send_buffer: &[u8],
receive_buffer: &'buf mut [u8])
-> Result<&'buf [u8], Error>
Transmit an APDU command to the card.
receive_buffer is a buffer that should be large enough to hold
the APDU response.
Returns a slice into receive_buffer containing the APDU
response.
If receive_buffer is not large enough to hold the APDU response,
Error::InsufficientBuffer is returned.