56 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
| /*
 | |
|  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
 | |
|  * See the COPYING.LIB file in the top-level directory.
 | |
|  */
 | |
| 
 | |
| #ifndef VREADER_H
 | |
| #define VREADER_H 1
 | |
| 
 | |
| #include "eventt.h"
 | |
| #include "vreadert.h"
 | |
| #include "vcardt.h"
 | |
| 
 | |
| /*
 | |
|  * calls for reader front end
 | |
|  */
 | |
| VReaderStatus vreader_power_on(VReader *reader, unsigned char *atr, int *len);
 | |
| VReaderStatus vreader_power_off(VReader *reader);
 | |
| VReaderStatus vreader_xfr_bytes(VReader *reader, unsigned char *send_buf,
 | |
|                                 int send_buf_len, unsigned char *receive_buf,
 | |
|                                 int *receive_buf_len);
 | |
| 
 | |
| /* constructor */
 | |
| VReader *vreader_new(const char *readerName, VReaderEmul *emul_private,
 | |
|                      VReaderEmulFree private_free);
 | |
| /* get a new reference to a reader */
 | |
| VReader *vreader_reference(VReader *reader);
 | |
| /* "destructor" (readers are reference counted) */
 | |
| void vreader_free(VReader *reader);
 | |
| 
 | |
| /* accessors */
 | |
| VReaderEmul *vreader_get_private(VReader *);
 | |
| VReaderStatus vreader_card_is_present(VReader *reader);
 | |
| void vreader_queue_card_event(VReader *reader);
 | |
| const char *vreader_get_name(VReader *reader);
 | |
| vreader_id_t vreader_get_id(VReader *reader);
 | |
| VReaderStatus vreader_set_id(VReader *reader, vreader_id_t id);
 | |
| 
 | |
| /* list operations */
 | |
| VReaderList *vreader_get_reader_list(void);
 | |
| void vreader_list_delete(VReaderList *list);
 | |
| VReader *vreader_list_get_reader(VReaderListEntry *entry);
 | |
| VReaderListEntry *vreader_list_get_first(VReaderList *list);
 | |
| VReaderListEntry *vreader_list_get_next(VReaderListEntry *list);
 | |
| VReader *vreader_get_reader_by_id(vreader_id_t id);
 | |
| VReader *vreader_get_reader_by_name(const char *name);
 | |
| 
 | |
| /*
 | |
|  * list tools for vcard_emul
 | |
|  */
 | |
| void vreader_init(void);
 | |
| VReaderStatus vreader_add_reader(VReader *reader);
 | |
| VReaderStatus vreader_remove_reader(VReader *reader);
 | |
| VReaderStatus vreader_insert_card(VReader *reader, VCard *card);
 | |
| 
 | |
| #endif
 |