21 |
#ifndef WPT_CARD_H |
#ifndef WPT_CARD_H |
22 |
#define WPT_CARD_H |
#define WPT_CARD_H |
23 |
|
|
24 |
|
/* Existing card flags. */ |
25 |
|
enum { |
26 |
|
GPG_CARDFLAG_NONE = 0, |
27 |
|
GPG_CARDFLAG_REPLACE = 1, /* replace existing keys. */ |
28 |
|
GPG_CARDFLAG_BAKENC = 2 /* backup encryption key. */ |
29 |
|
}; |
30 |
|
|
31 |
|
/* Possible card states. */ |
32 |
enum { |
enum { |
33 |
CARD_STATE_NONE=0, |
CARD_STATE_NONE=0, |
34 |
CARD_STATE_UNAWARE, |
CARD_STATE_UNAWARE, |
40 |
CARD_STATE_MUTE |
CARD_STATE_MUTE |
41 |
}; |
}; |
42 |
|
|
43 |
struct gpgme_card_s; |
enum { |
44 |
typedef struct gpgme_card_s * gpgme_card_t; |
CARD_ADMIN_PIN, |
45 |
|
CARD_USER_PIN |
46 |
|
}; |
47 |
|
|
48 |
|
|
49 |
|
/* PIN callback context. */ |
50 |
struct pin_cb_ctx_s { |
struct pin_cb_ctx_s { |
51 |
gpgme_edit_card_t which; |
int which; /* which command to execute. */ |
52 |
char *info_text; |
char *info_text; /* additional info text. */ |
53 |
char *apin; /* admin */ |
char *apin; /* admin pin */ |
54 |
char *upin; /* user */ |
char *upin; /* user pin */ |
55 |
}; |
}; |
56 |
|
|
57 |
|
/* Card callback context. */ |
58 |
struct card_cb_s { |
struct card_cb_s { |
59 |
int cancel; |
int cancel; /* 1=user cancelled operation. */ |
60 |
int init; |
int init; |
61 |
int code; |
int code; |
62 |
char val[128]; |
char val[128]; |
68 |
|
|
69 |
unsigned get_card_status (void); |
unsigned get_card_status (void); |
70 |
int show_card_status (void); |
int show_card_status (void); |
|
gpgme_card_t gpg_load_scard (void); |
|
71 |
|
|
72 |
/*-- wptCardManager.cpp --*/ |
/*-- wptCardManager.cpp --*/ |
73 |
const char * card_callback (int code, void *opaque); |
const char* card_callback (int code, void *opaque); |
74 |
|
|
75 |
/*-- wptCardPCSC.c --*/ |
/*-- wptCardPCSC.c --*/ |
76 |
#ifdef __cplusplus |
#ifdef __cplusplus |
77 |
extern "C" { |
extern "C" { |
78 |
#endif |
#endif |
79 |
|
|
80 |
int pcsc_loadlib (int scard_support); |
int pcsc_loadlib (int scard_support); |
81 |
void pcsc_free_readers (pcsc_reader_t rd); |
void pcsc_free_readers (pcsc_reader_t rd); |
82 |
const char * pcsc_get_reader (pcsc_reader_t rd, int idx, int *ret_nrd); |
const char* pcsc_get_reader (pcsc_reader_t rd, int idx, int *ret_nrd); |
83 |
int pcsc_scan_readers (pcsc_reader_t *ret_rd); |
int pcsc_scan_readers (pcsc_reader_t *ret_rd); |
84 |
int pcsc_get_card_status (void); |
int pcsc_get_card_status (void); |
85 |
|
|
86 |
#ifdef __cplusplus |
#ifdef __cplusplus |
87 |
} |
} |
88 |
#endif |
#endif |
89 |
|
|
|
#endif /*WPT_CARD_H*/ |
|
90 |
|
#endif /*WPT_CARD_H*/ |