You use APDUs to communicate with a smartcard.
APDU stands for Application Processing Data Unit.
APDU is a message transmitted between the smartcard and the host.
It consists of a 5 byte header, and up to 256 bytes of optional data.
CLA : Class byte. It is usually unique to an application.
INS : Instruction byte. It specifies the instruction.
P1 : Parameter 1. Instruction specific.
P2 : Parameter 2. Instruction specific.
P3 : Parameter 3. This specifies the length of the data.
Data: 0 - 256 byte data transmitted from host to card, or the other way.