~ahs3/+junk/cq-qemu

« back to all changes in this revision

Viewing changes to libcacard/vreader.h

  • Committer: Al Stone
  • Date: 2012-02-09 01:17:20 UTC
  • Revision ID: albert.stone@canonical.com-20120209011720-tztl7ik3qayz80p4
first commit to bzr for qemu

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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