Libu2f-emu  0.0.0
Universal 2nd Factor (U2F) Emulation C Library
u2f-emu.h
Go to the documentation of this file.
1 #ifndef U2F_EMU
2 #define U2F_EMU
3 
4 #include <stdbool.h>
5 #include <stddef.h>
6 #include <stdint.h>
7 
8 #include "u2f-emu-types.h"
9 
10 
17 const char *u2f_emu_strerror(u2f_emu_rc rc);
18 
31  const char *pathname);
32 
42 
53  const struct u2f_emu_vdev_setup *info);
54 
66  u2f_emu_transport transport_type, u2f_emu_apdu apdu);
67 
74 
88  u2f_emu_transport transport_type,
89  const void *data, size_t size);
90 
101  u2f_emu_transport transport_type);
102 
113  u2f_emu_transport transport_type, uint8_t **data);
114 
120 void u2f_emu_vdev_free_response(uint8_t *data);
121 
122 #endif
void u2f_emu_vdev_free_response(uint8_t *data)
Free a response from an U2F virtual emulated device.
Definition: u2f-emu.c:50
u2f_emu_apdu
U2F-emu APDU format length.
Definition: u2f-emu-types.h:33
void u2f_emu_vdev_free(u2f_emu_vdev *vdev)
Free an U2F virtual emulated device.
Definition: u2f-emu.c:197
const char * u2f_emu_strerror(u2f_emu_rc rc)
Get the error description specific to a return code.
Definition: error.c:4
U2F virtual emulated device.
Definition: u2f-vdev.h:13
u2f_emu_rc u2f_emu_vdev_set_apdu(u2f_emu_vdev *vdev, u2f_emu_transport transport_type, u2f_emu_apdu apdu)
Set the apdu length of an U2F virtual emultated device on a transport.
Definition: u2f-emu.c:55
u2f_emu_rc u2f_emu_vdev_new(u2f_emu_vdev **vdev_ref, const struct u2f_emu_vdev_setup *info)
Instantiate a new U2F virtual emulated device.
Definition: u2f-emu.c:170
u2f_emu_transport
U2F-emu transport emulation.
Definition: u2f-emu-types.h:22
uint8_t data[(64-7)]
Definition: packet.h:45
size_t u2f_emu_vdev_get_response(u2f_emu_vdev *vdev, u2f_emu_transport transport_type, uint8_t **data)
Get a response from an U2F virtual emulated device on a transport.
Definition: u2f-emu.c:37
u2f_emu_rc u2f_emu_vdev_new_from_dir(u2f_emu_vdev **vdev_ref, const char *pathname)
Instantiate a new U2F virtual emulated device from a setup dir.
Definition: u2f-emu.c:107
u2f_emu_rc u2f_emu_vdev_new_ephemeral(u2f_emu_vdev **vdev_ref)
Instantiate a new ephemeral U2F virtual emulated device.
Definition: u2f-emu.c:139
bool u2f_emu_vdev_has_response(u2f_emu_vdev *vdev, u2f_emu_transport transport_type)
Check if an U2F virtual emulated device has response data on a transport to a previous processed data...
Definition: u2f-emu.c:24
u2f_emu_rc u2f_emu_vdev_send(u2f_emu_vdev *vdev, u2f_emu_transport transport_type, const void *data, size_t size)
Ask an U2F virtual emulated device to process input data from a transport.
Definition: u2f-emu.c:9
U2F virtual emulated device setup structure, containing all necessary elements to the device setup...
Definition: u2f-emu-types.h:53
u2f_emu_rc
U2F-emu return code.
Definition: u2f-emu-types.h:10