/[winpt]/trunk/Include/wptCard.h
ViewVC logotype

Diff of /trunk/Include/wptCard.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 23 by twoaday, Fri Sep 30 10:10:16 2005 UTC revision 33 by twoaday, Tue Oct 25 07:46:20 2005 UTC
# Line 17  Line 17 
17   * along with WinPT; if not, write to the Free Software Foundation,   * along with WinPT; if not, write to the Free Software Foundation,
18   * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA   * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19   */   */
   
20  #ifndef WPT_CARD_H  #ifndef WPT_CARD_H
21  #define WPT_CARD_H  #define WPT_CARD_H
22    
23  /* Existing card flags. */  /* Existing card flags. */
24  enum {  enum card_flag_t {
25      GPG_CARDFLAG_NONE    = 0,      GPG_CARDFLAG_NONE    = 0,
26      GPG_CARDFLAG_REPLACE = 1,   /* replace existing keys. */      GPG_CARDFLAG_REPLACE = 1,   /* replace existing keys. */
27      GPG_CARDFLAG_BAKENC  = 2    /* backup encryption key. */      GPG_CARDFLAG_BAKENC  = 2    /* backup encryption key. */
28  };  };
29    
30  /* Possible card states. */  /* Symbolic PIN ids */
31  enum {  enum card_pin_t {
     CARD_STATE_NONE=0,  
     CARD_STATE_UNAWARE,  
     CARD_STATE_UNAVAIL,  
     CARD_STATE_PRESENT,  
     CARD_STATE_EXCLUSI,  
     CARD_STATE_EMPTY,  
     CARD_STATE_INUSE,  
     CARD_STATE_MUTE  
 };  
   
 enum {  
32      CARD_ADMIN_PIN,      CARD_ADMIN_PIN,
33      CARD_USER_PIN      CARD_USER_PIN
34  };  };
35    
36    /* (callback) card control ids */
37    enum card_ctl_t {
38        CARD_CTL_INSERT     = '1',      /* insert card */
39        CARD_CTL_REMOVE     = '2',      /* remove card */
40        CARC_CTL_DETECT     = '3',      /* right card detected */
41        CARD_CTL_NO_CARD    = '4' ,     /* no card found */
42        CARD_CTL_NO_READER  = '5'       /* no reader found */
43    };
44    
45    
46    /* openpgp card context. */
47    struct gpg_card_s {
48        char *aid;          /* appID */
49        char *card_type;
50        char *version;      /* version */
51        char *vendor;       /* vendor */
52        char *serial;       /* serial number */
53        char *surname;      /* card users surname */
54        char *givenname;    /* card users given name */
55        char *lang;         /* language */
56        char sex;           /* card users sex */
57        char *url;          /* key url */
58        char *login;        /* login data (name) */
59        int force_pin;
60        char *maxpinlen[3];
61        int sig_count;      /* signature counter */
62        char *ca_fpr[3];    /* CA fingerprints */    
63        char *fpr[3];       /* key fingerprints */
64        long fpr_created[3];/* fingerprint timestamps. */
65        char *fpr_created_str[3];
66    };
67    typedef struct gpg_card_s *gpg_card_t;
68    
69  /* PIN callback context. */  /* PIN callback context. */
70  struct pin_cb_ctx_s {  struct pin_cb_ctx_s {
# Line 58  struct pin_cb_ctx_s { Line 78  struct pin_cb_ctx_s {
78  struct card_cb_s {  struct card_cb_s {
79      int cancel;             /* 1=user cancelled operation. */      int cancel;             /* 1=user cancelled operation. */
80      int init;      int init;
81      int code;      int code;               /* 1=user need to insert card. */
82      char val[128];      char val[128];          /* application specific value. */
83  };  };
84    
 struct pcsc_reader_s;  
 typedef struct pcsc_reader_s * pcsc_reader_t;  
   
   
 unsigned     get_card_status (void);  
 int          show_card_status (void);  
85    
86  /*-- wptCardManager.cpp --*/  /*-- wptCardManager.cpp --*/
87  const char* card_callback (int code, void *opaque);  const char* card_callback (int code, void *opaque);
88    
 /*-- wptCardPCSC.c --*/  
 #ifdef __cplusplus  
 extern "C" {  
 #endif  
   
 int         pcsc_loadlib (int scard_support);  
 void        pcsc_free_readers (pcsc_reader_t rd);  
 const char* pcsc_get_reader (pcsc_reader_t rd, int idx, int *ret_nrd);  
 int         pcsc_scan_readers (pcsc_reader_t *ret_rd);  
 int         pcsc_get_card_status (void);  
   
 #ifdef __cplusplus  
 }  
 #endif  
   
89  #endif /*WPT_CARD_H*/  #endif /*WPT_CARD_H*/

Legend:
Removed from v.23  
changed lines
  Added in v.33

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26