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

1.1       root        1: /*
                      2:  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
                      3:  * See the COPYING.LIB file in the top-level directory.
                      4:  */
                      5: #ifndef VCARDT_H
                      6: #define VCARDT_H 1
                      7: 
                      8: /*
                      9:  * these should come from some common spice header file
                     10:  */
                     11: #include <assert.h>
                     12: #ifndef MIN
                     13: #define MIN(x, y) ((x) > (y) ? (y) : (x))
                     14: #define MAX(x, y) ((x) > (y) ? (x) : (y))
                     15: #endif
                     16: 
                     17: typedef struct VCardStruct VCard;
                     18: typedef struct VCardAPDUStruct VCardAPDU;
                     19: typedef struct VCardResponseStruct VCardResponse;
                     20: typedef struct VCardBufferResponseStruct VCardBufferResponse;
                     21: typedef struct VCardAppletStruct VCardApplet;
                     22: typedef struct VCardAppletPrivateStruct VCardAppletPrivate;
                     23: typedef struct VCardKeyStruct VCardKey;  /* opaque */
                     24: typedef struct VCardEmulStruct VCardEmul;
                     25: 
                     26: #define MAX_CHANNEL 4
                     27: 
                     28: /* create an ATR with appropriate historical bytes */
1.1.1.2 ! root       29: #define VCARD_ATR_PREFIX(size) 0x3b, 0x68+(size), 0x00, 0xff, \
1.1       root       30:                                'V', 'C', 'A', 'R', 'D', '_'
                     31: 
                     32: 
                     33: typedef enum {
                     34:     VCARD_DONE,
                     35:     VCARD_NEXT,
                     36:     VCARD_FAIL
                     37: } VCardStatus;
                     38: 
                     39: typedef enum {
                     40:     VCARD_FILE_SYSTEM,
                     41:     VCARD_VM,
                     42:     VCARD_DIRECT
                     43: } VCardType;
                     44: 
                     45: typedef enum {
                     46:     VCARD_POWER_ON,
                     47:     VCARD_POWER_OFF
                     48: } VCardPower;
                     49: 
                     50: typedef VCardStatus (*VCardProcessAPDU)(VCard *card, VCardAPDU *apdu,
                     51:                                         VCardResponse **response);
                     52: typedef VCardStatus (*VCardResetApplet)(VCard *card, int channel);
                     53: typedef void (*VCardAppletPrivateFree) (VCardAppletPrivate *);
                     54: typedef void (*VCardEmulFree) (VCardEmul *);
                     55: typedef void (*VCardGetAtr) (VCard *, unsigned char *atr, int *atr_len);
                     56: 
                     57: struct VCardBufferResponseStruct {
                     58:     unsigned char *buffer;
                     59:     int buffer_len;
                     60:     unsigned char *current;
                     61:     int len;
                     62: };
                     63: 
                     64: #endif

unix.superglobalmegacorp.com