mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-09-10 13:00:08 +00:00
egis_etu905: Use fpi writer to build the commit data
This commit is contained in:
@@ -1073,7 +1073,6 @@ egis_etu905_enroll_run_state (FpiSsm *ssm,
|
|||||||
FpDevice *device)
|
FpDevice *device)
|
||||||
{
|
{
|
||||||
g_auto(FpiByteWriter) writer = {0};
|
g_auto(FpiByteWriter) writer = {0};
|
||||||
EgismocSidData sid_data = {0};
|
|
||||||
EnrollPrint *enroll_print = fpi_ssm_get_data (ssm);
|
EnrollPrint *enroll_print = fpi_ssm_get_data (ssm);
|
||||||
g_autofree guchar *payload = NULL;
|
g_autofree guchar *payload = NULL;
|
||||||
gsize payload_length = 0;
|
gsize payload_length = 0;
|
||||||
@@ -1121,20 +1120,21 @@ egis_etu905_enroll_run_state (FpiSsm *ssm,
|
|||||||
user_id = fpi_print_generate_user_id (enroll_print->print);
|
user_id = fpi_print_generate_user_id (enroll_print->print);
|
||||||
fp_dbg ("New fingerprint ID: %s", user_id);
|
fp_dbg ("New fingerprint ID: %s", user_id);
|
||||||
|
|
||||||
sid_data.reserve_para_1 = GUINT16_TO_LE (EGIS_ETU905_PARA_1_VALUE);
|
device_print_id = g_malloc0 (EGIS_ETU905_FINGERPRINT_DATA_SIZE);
|
||||||
sid_data.reserve_para_2 = GUINT16_TO_LE (EGIS_ETU905_PARA_2_VALUE);
|
memcpy (device_print_id, user_id,
|
||||||
sid_data.reserve_para_3 = GUINT16_TO_LE (EGIS_ETU905_PARA_3_VALUE);
|
MIN (EGIS_ETU905_FINGERPRINT_DATA_SIZE, strlen (user_id)));
|
||||||
memcpy (sid_data.reserve_para_4, user_id, MIN (EGIS_ETU905_FINGERPRINT_DATA_SIZE, strlen (user_id)));
|
egis_etu905_set_print_data (enroll_print->print, device_print_id, user_id);
|
||||||
egis_etu905_set_print_data (enroll_print->print, (const gchar *) &sid_data.reserve_para_4, user_id);
|
|
||||||
fpi_byte_writer_init (&writer);
|
fpi_byte_writer_init_with_size (&writer,
|
||||||
if (!fpi_byte_writer_put_data (&writer, cmd_new_print_prefix_type2,
|
cmd_new_print_prefix_type2_len +
|
||||||
cmd_new_print_prefix_type2_len))
|
1 + 2 + 2 + EGIS_ETU905_PARA_4_SIZE,
|
||||||
{
|
TRUE);
|
||||||
fpi_ssm_mark_failed (ssm, fpi_device_error_new (FP_DEVICE_ERROR_PROTO));
|
if (!fpi_byte_writer_put_data_static (&writer, cmd_new_print_prefix_type2) ||
|
||||||
break;
|
!fpi_byte_writer_put_uint8 (&writer, EGIS_ETU905_PARA_1_VALUE) ||
|
||||||
}
|
!fpi_byte_writer_put_uint16_le (&writer, EGIS_ETU905_PARA_2_VALUE) ||
|
||||||
if (!fpi_byte_writer_put_data (&writer, (guint8 *) &sid_data,
|
!fpi_byte_writer_put_uint16_le (&writer, EGIS_ETU905_PARA_3_VALUE) ||
|
||||||
sizeof (EgismocSidData)))
|
!fpi_byte_writer_put_data (&writer, (guint8 *) device_print_id,
|
||||||
|
EGIS_ETU905_FINGERPRINT_DATA_SIZE))
|
||||||
{
|
{
|
||||||
fpi_ssm_mark_failed (ssm, fpi_device_error_new (FP_DEVICE_ERROR_PROTO));
|
fpi_ssm_mark_failed (ssm, fpi_device_error_new (FP_DEVICE_ERROR_PROTO));
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -53,16 +53,6 @@ G_DECLARE_FINAL_TYPE (FpiDeviceEgisEtu905, fpi_device_egis_etu905, FPI, DEVICE_E
|
|||||||
#define EGIS_ETU905_PARA_2_VALUE 0
|
#define EGIS_ETU905_PARA_2_VALUE 0
|
||||||
#define EGIS_ETU905_PARA_3_VALUE 32
|
#define EGIS_ETU905_PARA_3_VALUE 32
|
||||||
|
|
||||||
#pragma pack(push, 1)
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
guchar reserve_para_1;
|
|
||||||
gushort reserve_para_2;
|
|
||||||
gushort reserve_para_3;
|
|
||||||
guchar reserve_para_4[EGIS_ETU905_PARA_4_SIZE];
|
|
||||||
} EgismocSidData;
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
/* standard prefixes for all read/writes */
|
/* standard prefixes for all read/writes */
|
||||||
|
|
||||||
static guchar egis_etu905_write_prefix[] = {'E', 'G', 'I', 'S', 0x00, 0x00, 0x00, 0x01};
|
static guchar egis_etu905_write_prefix[] = {'E', 'G', 'I', 'S', 0x00, 0x00, 0x00, 0x01};
|
||||||
|
|||||||
Reference in New Issue
Block a user