]>
Commit | Line | Data |
---|---|---|
111a38b0 RR |
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 | ||
6 | #ifndef VREADER_H | |
7 | #define VREADER_H 1 | |
8 | ||
9 | #include "eventt.h" | |
10 | #include "vreadert.h" | |
11 | #include "vcardt.h" | |
12 | ||
13 | /* | |
14 | * calls for reader front end | |
15 | */ | |
16 | VReaderStatus vreader_power_on(VReader *reader, unsigned char *atr, int *len); | |
17 | VReaderStatus vreader_power_off(VReader *reader); | |
18 | VReaderStatus vreader_xfr_bytes(VReader *reader, unsigned char *send_buf, | |
19 | int send_buf_len, unsigned char *receive_buf, | |
20 | int *receive_buf_len); | |
21 | ||
22 | /* constructor */ | |
23 | VReader *vreader_new(const char *readerName, VReaderEmul *emul_private, | |
24 | VReaderEmulFree private_free); | |
25 | /* get a new reference to a reader */ | |
26 | VReader *vreader_reference(VReader *reader); | |
27 | /* "destructor" (readers are reference counted) */ | |
28 | void vreader_free(VReader *reader); | |
29 | ||
30 | /* accessors */ | |
31 | VReaderEmul *vreader_get_private(VReader *); | |
32 | VReaderStatus vreader_card_is_present(VReader *reader); | |
33 | void vreader_queue_card_event(VReader *reader); | |
34 | const char *vreader_get_name(VReader *reader); | |
35 | vreader_id_t vreader_get_id(VReader *reader); | |
36 | VReaderStatus vreader_set_id(VReader *reader, vreader_id_t id); | |
37 | ||
38 | /* list operations */ | |
39 | VReaderList *vreader_get_reader_list(void); | |
40 | void vreader_list_delete(VReaderList *list); | |
41 | VReader *vreader_list_get_reader(VReaderListEntry *entry); | |
42 | VReaderListEntry *vreader_list_get_first(VReaderList *list); | |
43 | VReaderListEntry *vreader_list_get_next(VReaderListEntry *list); | |
44 | VReader *vreader_get_reader_by_id(vreader_id_t id); | |
45 | VReader *vreader_get_reader_by_name(const char *name); | |
46 | ||
47 | /* | |
48 | * list tools for vcard_emul | |
49 | */ | |
50 | void vreader_init(void); | |
51 | VReaderStatus vreader_add_reader(VReader *reader); | |
52 | VReaderStatus vreader_remove_reader(VReader *reader); | |
53 | VReaderStatus vreader_insert_card(VReader *reader, VCard *card); | |
54 | ||
55 | #endif |