Statistics
| Branch: | Revision:

root / libcacard / vreader.h @ 44dc0ca3

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