|
pcsc-lite
1.8.23
|
This defines some structures and #defines to be used over the transport layer. More...
#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | version_struct |
| Information transmitted in CMD_VERSION Messages. More... | |
| struct | rxHeader |
| header structure for client/server message data exchange. More... | |
| struct | client_struct |
| struct | wait_reader_state_change |
| Information contained in CMD_WAIT_READER_STATE_CHANGE Messages. More... | |
| struct | establish_struct |
| Information contained in SCARD_ESTABLISH_CONTEXT Messages. More... | |
| struct | release_struct |
| Information contained in SCARD_RELEASE_CONTEXT Messages. More... | |
| struct | connect_struct |
| contained in SCARD_CONNECT Messages. More... | |
| struct | reconnect_struct |
| contained in SCARD_RECONNECT Messages. More... | |
| struct | disconnect_struct |
| contained in SCARD_DISCONNECT Messages. More... | |
| struct | begin_struct |
| contained in SCARD_BEGIN_TRANSACTION Messages. More... | |
| struct | end_struct |
| contained in SCARD_END_TRANSACTION Messages. More... | |
| struct | cancel_struct |
| contained in SCARD_CANCEL Messages. More... | |
| struct | status_struct |
| contained in SCARD_STATUS Messages. More... | |
| struct | transmit_struct |
| contained in SCARD_TRANSMIT Messages. More... | |
| struct | control_struct |
| contained in SCARD_CONTROL Messages. More... | |
| struct | getset_struct |
contained in SCARD_GET_ATTRIB and Messages. More... | |
Macros | |
| #define | PROTOCOL_VERSION_MAJOR 4 |
| Major version of the current message protocol. | |
| #define | PROTOCOL_VERSION_MINOR 3 |
| Minor version of the current message protocol. | |
Enumerations | |
| enum | pcsc_msg_commands { CMD_ENUM_FIRST, SCARD_ESTABLISH_CONTEXT = 0x01, SCARD_RELEASE_CONTEXT = 0x02, SCARD_LIST_READERS = 0x03, SCARD_CONNECT = 0x04, SCARD_RECONNECT = 0x05, SCARD_DISCONNECT = 0x06, SCARD_BEGIN_TRANSACTION = 0x07, SCARD_END_TRANSACTION = 0x08, SCARD_TRANSMIT = 0x09, SCARD_CONTROL = 0x0A, SCARD_STATUS = 0x0B, SCARD_GET_STATUS_CHANGE = 0x0C, SCARD_CANCEL = 0x0D, SCARD_CANCEL_TRANSACTION = 0x0E, SCARD_GET_ATTRIB = 0x0F, SCARD_SET_ATTRIB = 0x10, CMD_VERSION = 0x11, CMD_GET_READERS_STATE = 0x12, CMD_WAIT_READER_STATE_CHANGE = 0x13, CMD_STOP_WAITING_READER_STATE_CHANGE = 0x14, CMD_ENUM_LAST } |
Commands available to use in the field sharedSegmentMsg.command. More... | |
Functions | |
| char * | getSocketName (void) |
| int32_t | ClientSetupSession (uint32_t *) |
| Prepares a communication channel for the client to talk to the server. More... | |
| void | ClientCloseSession (uint32_t) |
| Closes the socket used by the client to communicate with the server. More... | |
| LONG | MessageReceiveTimeout (uint32_t command, void *buffer, uint64_t buffer_size, int32_t filedes, long timeOut) |
| Called by the Client to get the reponse from the server or vice-versa. More... | |
| LONG | MessageSendWithHeader (uint32_t command, uint32_t dwClientID, uint64_t size, void *data) |
| Wrapper for the MessageSend() function. More... | |
| LONG | MessageSend (void *buffer, uint64_t buffer_size, int32_t filedes) |
| Sends a menssage from client to server or vice-versa. More... | |
| LONG | MessageReceive (void *buffer, uint64_t buffer_size, int32_t filedes) |
| Called by the Client to get the reponse from the server or vice-versa. More... | |
This defines some structures and #defines to be used over the transport layer.
Definition in file winscard_msg.h.
| enum pcsc_msg_commands |
Commands available to use in the field sharedSegmentMsg.command.
| Enumerator | |
|---|---|
| SCARD_ESTABLISH_CONTEXT | used by SCardEstablishContext() |
| SCARD_RELEASE_CONTEXT | used by SCardReleaseContext() |
| SCARD_LIST_READERS | used by SCardListReaders() |
| SCARD_CONNECT | used by SCardConnect() |
| SCARD_RECONNECT | used by SCardReconnect() |
| SCARD_DISCONNECT | used by SCardDisconnect() |
| SCARD_BEGIN_TRANSACTION | used by SCardBeginTransaction() |
| SCARD_END_TRANSACTION | used by SCardEndTransaction() |
| SCARD_TRANSMIT | used by SCardTransmit() |
| SCARD_CONTROL | used by SCardControl() |
| SCARD_STATUS | used by SCardStatus() |
| SCARD_GET_STATUS_CHANGE | not used |
| SCARD_CANCEL | used by SCardCancel() |
| SCARD_CANCEL_TRANSACTION | not used |
| SCARD_GET_ATTRIB | used by SCardGetAttrib() |
| SCARD_SET_ATTRIB | used by SCardSetAttrib() |
| CMD_VERSION | get the client/server protocol version |
| CMD_GET_READERS_STATE | get the readers state |
| CMD_WAIT_READER_STATE_CHANGE | wait for a reader state change |
| CMD_STOP_WAITING_READER_STATE_CHANGE | stop waiting for a reader state change |
Definition at line 73 of file winscard_msg.h.
| void ClientCloseSession | ( | uint32_t | dwClientID | ) |
Closes the socket used by the client to communicate with the server.
| [in] | dwClientID | Client socket handle to be closed. |
| 0 | Success. |
Definition at line 172 of file winscard_msg.c.
| int32_t ClientSetupSession | ( | uint32_t * | pdwClientID | ) |
Prepares a communication channel for the client to talk to the server.
This is called by the application to create a socket for local IPC with the server. The socket is associated to the file PCSCLITE_CSOCK_NAME.
| [out] | pdwClientID | Client Connection ID. |
| 0 | Success. |
| -1 | Can not create the socket. |
| -1 | The socket can not open a connection. |
| -1 | Can not set the socket to non-blocking. |
Definition at line 117 of file winscard_msg.c.
| LONG MessageReceive | ( | void * | buffer_void, |
| uint64_t | buffer_size, | ||
| int32_t | filedes | ||
| ) |
Called by the Client to get the reponse from the server or vice-versa.
Reads the message from the file filedes.
| [out] | buffer_void | Message read. |
| [in] | buffer_size | Size to read |
| [in] | filedes | Socket handle. |
| SCARD_S_SUCCESS | Success. |
| SCARD_F_COMM_ERROR | Socket is closed. |
| SCARD_F_COMM_ERROR | A signal was received. |
Definition at line 452 of file winscard_msg.c.
| LONG MessageReceiveTimeout | ( | uint32_t | command, |
| void * | buffer_void, | ||
| uint64_t | buffer_size, | ||
| int32_t | filedes, | ||
| long | timeOut | ||
| ) |
Called by the Client to get the reponse from the server or vice-versa.
Reads the message from the file filedes.
| [in] | command | one of the pcsc_msg_commands commands |
| [out] | buffer_void | Message read. |
| [in] | buffer_size | Size to read |
| [in] | filedes | Socket handle. |
| [in] | timeOut | Timeout in milliseconds. |
| SCARD_S_SUCCESS | Success. |
| SCARD_E_TIMEOUT | Timeout. |
| SCARD_F_COMM_ERROR | Socket is closed. |
| SCARD_F_COMM_ERROR | A signal was received. |
Definition at line 193 of file winscard_msg.c.
| LONG MessageSend | ( | void * | buffer_void, |
| uint64_t | buffer_size, | ||
| int32_t | filedes | ||
| ) |
Sends a menssage from client to server or vice-versa.
Writes the message in the shared file filedes.
| [in] | buffer_void | Message to be sent. |
| [in] | buffer_size | Size of the message to send |
| [in] | filedes | Socket handle. |
| SCARD_S_SUCCESS | Success |
| SCARD_E_TIMEOUT | Timeout. |
| SCARD_F_COMM_ERROR | Socket is closed. |
| SCARD_F_COMM_ERROR | A signal was received. |
Definition at line 354 of file winscard_msg.c.
| LONG MessageSendWithHeader | ( | uint32_t | command, |
| uint32_t | dwClientID, | ||
| uint64_t | size, | ||
| void * | data_void | ||
| ) |
Wrapper for the MessageSend() function.
Called by clients to send messages to the server. The parameters command and data are set in the sharedSegmentMsg struct in order to be sent.
| [in] | command | Command to be sent. |
| [in] | dwClientID | Client socket handle. |
| [in] | size | Size of the message (data). |
| [in] | data_void | Data to be sent. |
Definition at line 318 of file winscard_msg.c.
1.8.14