|
|
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:
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.