root / libcacard / vreader.h @ 31a32289
History | View | Annotate | Download (1.9 kB)
1 | 111a38b0 | Robert Relyea | /*
|
---|---|---|---|
2 | 111a38b0 | Robert Relyea | * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
|
3 | 111a38b0 | Robert Relyea | * See the COPYING.LIB file in the top-level directory.
|
4 | 111a38b0 | Robert Relyea | */
|
5 | 111a38b0 | Robert Relyea | |
6 | 111a38b0 | Robert Relyea | #ifndef VREADER_H
|
7 | 111a38b0 | Robert Relyea | #define VREADER_H 1 |
8 | 111a38b0 | Robert Relyea | |
9 | 111a38b0 | Robert Relyea | #include "eventt.h" |
10 | 111a38b0 | Robert Relyea | #include "vreadert.h" |
11 | 111a38b0 | Robert Relyea | #include "vcardt.h" |
12 | 111a38b0 | Robert Relyea | |
13 | 111a38b0 | Robert Relyea | /*
|
14 | 111a38b0 | Robert Relyea | * calls for reader front end
|
15 | 111a38b0 | Robert Relyea | */
|
16 | 111a38b0 | Robert Relyea | VReaderStatus vreader_power_on(VReader *reader, unsigned char *atr, int *len); |
17 | 111a38b0 | Robert Relyea | VReaderStatus vreader_power_off(VReader *reader); |
18 | 111a38b0 | Robert Relyea | VReaderStatus vreader_xfr_bytes(VReader *reader, unsigned char *send_buf, |
19 | 111a38b0 | Robert Relyea | int send_buf_len, unsigned char *receive_buf, |
20 | 111a38b0 | Robert Relyea | int *receive_buf_len);
|
21 | 111a38b0 | Robert Relyea | |
22 | 111a38b0 | Robert Relyea | /* constructor */
|
23 | 111a38b0 | Robert Relyea | VReader *vreader_new(const char *readerName, VReaderEmul *emul_private, |
24 | 111a38b0 | Robert Relyea | VReaderEmulFree private_free); |
25 | 111a38b0 | Robert Relyea | /* get a new reference to a reader */
|
26 | 111a38b0 | Robert Relyea | VReader *vreader_reference(VReader *reader); |
27 | 111a38b0 | Robert Relyea | /* "destructor" (readers are reference counted) */
|
28 | 111a38b0 | Robert Relyea | void vreader_free(VReader *reader);
|
29 | 111a38b0 | Robert Relyea | |
30 | 111a38b0 | Robert Relyea | /* accessors */
|
31 | 111a38b0 | Robert Relyea | VReaderEmul *vreader_get_private(VReader *); |
32 | 111a38b0 | Robert Relyea | VReaderStatus vreader_card_is_present(VReader *reader); |
33 | 111a38b0 | Robert Relyea | void vreader_queue_card_event(VReader *reader);
|
34 | 111a38b0 | Robert Relyea | const char *vreader_get_name(VReader *reader); |
35 | 111a38b0 | Robert Relyea | vreader_id_t vreader_get_id(VReader *reader); |
36 | 111a38b0 | Robert Relyea | VReaderStatus vreader_set_id(VReader *reader, vreader_id_t id); |
37 | 111a38b0 | Robert Relyea | |
38 | 111a38b0 | Robert Relyea | /* list operations */
|
39 | 111a38b0 | Robert Relyea | VReaderList *vreader_get_reader_list(void);
|
40 | 111a38b0 | Robert Relyea | void vreader_list_delete(VReaderList *list);
|
41 | 111a38b0 | Robert Relyea | VReader *vreader_list_get_reader(VReaderListEntry *entry); |
42 | 111a38b0 | Robert Relyea | VReaderListEntry *vreader_list_get_first(VReaderList *list); |
43 | 111a38b0 | Robert Relyea | VReaderListEntry *vreader_list_get_next(VReaderListEntry *list); |
44 | 111a38b0 | Robert Relyea | VReader *vreader_get_reader_by_id(vreader_id_t id); |
45 | 111a38b0 | Robert Relyea | VReader *vreader_get_reader_by_name(const char *name); |
46 | 111a38b0 | Robert Relyea | |
47 | 111a38b0 | Robert Relyea | /*
|
48 | 111a38b0 | Robert Relyea | * list tools for vcard_emul
|
49 | 111a38b0 | Robert Relyea | */
|
50 | 111a38b0 | Robert Relyea | void vreader_init(void); |
51 | 111a38b0 | Robert Relyea | VReaderStatus vreader_add_reader(VReader *reader); |
52 | 111a38b0 | Robert Relyea | VReaderStatus vreader_remove_reader(VReader *reader); |
53 | 111a38b0 | Robert Relyea | VReaderStatus vreader_insert_card(VReader *reader, VCard *card); |
54 | 111a38b0 | Robert Relyea | |
55 | 111a38b0 | Robert Relyea | #endif |