Annotation of qemu/libcacard/card_7816.h, revision 1.1.1.2

1.1       root        1: /*
                      2:  * Implement the 7816 portion of the card spec
                      3:  *
                      4:  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
                      5:  * See the COPYING.LIB file in the top-level directory.
                      6:  */
                      7: #ifndef CARD_7816_H
                      8: #define CARD_7816_H  1
                      9: 
                     10: #include "card_7816t.h"
                     11: #include "vcardt.h"
                     12: 
                     13: /*
                     14:  * constructors for VCardResponse's
                     15:  */
                     16: /* response from a return buffer and a status */
                     17: VCardResponse *vcard_response_new(VCard *card, unsigned char *buf, int len,
                     18:                                   int Le, vcard_7816_status_t status);
                     19: /* response from a return buffer and status bytes */
                     20: VCardResponse *vcard_response_new_bytes(VCard *card, unsigned char *buf,
                     21:                                         int len, int Le,
                     22:                                         unsigned char sw1, unsigned char sw2);
                     23: /* response from just status bytes */
                     24: VCardResponse *vcard_response_new_status_bytes(unsigned char sw1,
                     25:                                                unsigned char sw2);
1.1.1.2 ! root       26: /* response from just status: NOTE this cannot fail, it will always return a
1.1       root       27:  * valid response, if it can't allocate memory, the response will be
                     28:  * VCARD7816_STATUS_EXC_ERROR_MEMORY_FAILURE */
                     29: VCardResponse *vcard_make_response(vcard_7816_status_t status);
                     30: 
                     31: /* create a raw response (status has already been encoded */
                     32: VCardResponse *vcard_response_new_data(unsigned char *buf, int len);
                     33: 
                     34: 
                     35: 
                     36: 
                     37: /*
                     38:  * destructor for VCardResponse.
                     39:  *  Can be called with a NULL response
                     40:  */
                     41: void vcard_response_delete(VCardResponse *response);
                     42: 
                     43: /*
                     44:  * constructor for VCardAPDU
                     45:  */
                     46: VCardAPDU *vcard_apdu_new(unsigned char *raw_apdu, int len,
                     47:                           unsigned short *status);
                     48: 
                     49: /*
                     50:  * destructor for VCardAPDU
                     51:  *  Can be called with a NULL apdu
                     52:  */
                     53: void vcard_apdu_delete(VCardAPDU *apdu);
                     54: 
                     55: /*
                     56:  * APDU processing starts here. This routes the card processing stuff to the
                     57:  * right location. Always returns a valid response.
                     58:  */
                     59: VCardStatus vcard_process_apdu(VCard *card, VCardAPDU *apdu,
                     60:                                VCardResponse **response);
                     61: 
                     62: #endif

unix.superglobalmegacorp.com