Coverage Report

Created: 2026-02-26 06:27

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/work/fu-synaptics-prometheus-struct.c
Line
Count
Source
1
/*
2
 * This file is auto-generated, do not modify!
3
 *
4
 * SPDX-License-Identifier: LGPL-2.1-or-later
5
 */
6
7
#include "config.h"
8
9
#include <glib.h>
10
11
#include "fu-synaptics-prometheus-struct.h"
12
#include "fu-byte-array.h"
13
#include "fu-bytes.h"
14
#include "fu-mem-private.h"
15
#include "fu-string.h"
16
17
#ifdef G_LOG_DOMAIN
18
  #undef G_LOG_DOMAIN
19
#endif
20
0
#define G_LOG_DOMAIN "FuStruct"
21
22
23
/**
24
 * fu_synaptics_prometheus_product_to_string:
25
 * @val: value, e.g. %FU_SYNAPTICS_PROMETHEUS_PRODUCT_PROMETHEUSPBL
26
 *
27
 * Converts an enumerated value to a string.
28
 *
29
 * Returns: identifier string
30
 **/
31
static const gchar *
32
fu_synaptics_prometheus_product_to_string(FuSynapticsPrometheusProduct val)
33
0
{
34
0
    if (val == FU_SYNAPTICS_PROMETHEUS_PRODUCT_PROMETHEUS)
35
0
        return "prometheus";
36
0
    if (val == FU_SYNAPTICS_PROMETHEUS_PRODUCT_PROMETHEUSPBL)
37
0
        return "prometheuspbl";
38
0
    if (val == FU_SYNAPTICS_PROMETHEUS_PRODUCT_PROMETHEUSMSBL)
39
0
        return "prometheusmsbl";
40
0
    if (val == FU_SYNAPTICS_PROMETHEUS_PRODUCT_TRITON)
41
0
        return "triton";
42
0
    if (val == FU_SYNAPTICS_PROMETHEUS_PRODUCT_TRITONPBL)
43
0
        return "tritonpbl";
44
0
    if (val == FU_SYNAPTICS_PROMETHEUS_PRODUCT_TRITONMSBL)
45
0
        return "tritonmsbl";
46
0
    return NULL;
47
0
}
48
49
/**
50
 * fu_synaptics_prometheus_result_to_string:
51
 * @val: value, e.g. %FU_SYNAPTICS_PROMETHEUS_RESULT_GEN_OPERATION_CANCELED
52
 *
53
 * Converts an enumerated value to a string.
54
 *
55
 * Returns: identifier string
56
 **/
57
const gchar *
58
fu_synaptics_prometheus_result_to_string(FuSynapticsPrometheusResult val)
59
0
{
60
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_OK)
61
0
        return "ok";
62
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_GEN_OPERATION_CANCELED)
63
0
        return "gen-operation-canceled";
64
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_GEN_INVALID)
65
0
        return "gen-invalid";
66
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_GEN_BAD_PARAM)
67
0
        return "gen-bad-param";
68
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_GEN_NULL_POINTER)
69
0
        return "gen-null-pointer";
70
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_GEN_UNEXPECTED_FORMAT)
71
0
        return "gen-unexpected-format";
72
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_GEN_TIMEOUT)
73
0
        return "gen-timeout";
74
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_GEN_OBJECT_DOESNT_EXIST)
75
0
        return "gen-object-doesnt-exist";
76
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_GEN_ERROR)
77
0
        return "gen-error";
78
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_SENSOR_MALFUNCTIONED)
79
0
        return "sensor-malfunctioned";
80
0
    if (val == FU_SYNAPTICS_PROMETHEUS_RESULT_SYS_OUT_OF_MEMORY)
81
0
        return "sys-out-of-memory";
82
0
    return NULL;
83
0
}
84
85
86
/**
87
 * fu_synaptics_prometheus_firmware_tag_to_string:
88
 * @val: value, e.g. %FU_SYNAPTICS_PROMETHEUS_FIRMWARE_TAG_MFW_UPDATE_PAYLOAD
89
 *
90
 * Converts an enumerated value to a string.
91
 *
92
 * Returns: identifier string
93
 **/
94
const gchar *
95
fu_synaptics_prometheus_firmware_tag_to_string(FuSynapticsPrometheusFirmwareTag val)
96
4.40k
{
97
4.40k
    if (val == FU_SYNAPTICS_PROMETHEUS_FIRMWARE_TAG_MFW_UPDATE_HEADER)
98
166
        return "mfw-update-header";
99
4.24k
    if (val == FU_SYNAPTICS_PROMETHEUS_FIRMWARE_TAG_MFW_UPDATE_PAYLOAD)
100
66
        return "mfw-update-payload";
101
4.17k
    if (val == FU_SYNAPTICS_PROMETHEUS_FIRMWARE_TAG_CFG_UPDATE_HEADER)
102
36
        return "cfg-update-header";
103
4.14k
    if (val == FU_SYNAPTICS_PROMETHEUS_FIRMWARE_TAG_CFG_UPDATE_PAYLOAD)
104
31
        return "cfg-update-payload";
105
4.11k
    return NULL;
106
4.14k
}
107
/**
108
 * fu_struct_synaptics_prometheus_request_ref: (skip):
109
 **/
110
FuStructSynapticsPrometheusRequest *
111
fu_struct_synaptics_prometheus_request_ref(FuStructSynapticsPrometheusRequest *st)
112
0
{
113
0
    g_return_val_if_fail(st != NULL, NULL);
114
0
    st->refcount++;
115
0
    return st;
116
0
}
117
/**
118
 * fu_struct_synaptics_prometheus_request_unref: (skip):
119
 **/
120
void
121
fu_struct_synaptics_prometheus_request_unref(FuStructSynapticsPrometheusRequest *st)
122
0
{
123
0
    g_return_if_fail(st != NULL);
124
0
    if (st->refcount == 0) {
125
0
        g_critical("FuStructSynapticsPrometheusRequest refcount already zero");
126
0
        return;
127
0
    }
128
0
    if (--st->refcount > 0)
129
0
        return;
130
0
    if (st->buf != NULL)
131
0
        g_byte_array_unref(st->buf);
132
0
    g_free(st);
133
0
}
134
/**
135
 * fu_struct_synaptics_prometheus_request_new_internal: (skip):
136
 **/
137
static FuStructSynapticsPrometheusRequest *
138
fu_struct_synaptics_prometheus_request_new_internal(void)
139
0
{
140
0
    FuStructSynapticsPrometheusRequest *st = g_new0(FuStructSynapticsPrometheusRequest, 1);
141
0
    st->refcount = 1;
142
0
    return st;
143
0
}
144
145
/* getters */
146
147
/* setters */
148
/**
149
 * fu_struct_synaptics_prometheus_request_set_cmd: (skip):
150
 **/
151
void
152
fu_struct_synaptics_prometheus_request_set_cmd(FuStructSynapticsPrometheusRequest *st, FuSynapticsPrometheusCmd value)
153
0
{
154
0
    g_return_if_fail(st != NULL);
155
0
    st->buf->data[0] = value;
156
0
}
157
/**
158
 * fu_struct_synaptics_prometheus_request_new: (skip):
159
 **/
160
FuStructSynapticsPrometheusRequest *
161
fu_struct_synaptics_prometheus_request_new(void)
162
0
{
163
0
    FuStructSynapticsPrometheusRequest *st = fu_struct_synaptics_prometheus_request_new_internal();
164
0
    st->buf = g_byte_array_sized_new(1);
165
0
    fu_byte_array_set_size(st->buf, 1, 0x0);
166
0
    return st;
167
0
}
168
/**
169
 * fu_struct_synaptics_prometheus_reply_generic_ref: (skip):
170
 **/
171
FuStructSynapticsPrometheusReplyGeneric *
172
fu_struct_synaptics_prometheus_reply_generic_ref(FuStructSynapticsPrometheusReplyGeneric *st)
173
0
{
174
0
    g_return_val_if_fail(st != NULL, NULL);
175
0
    st->refcount++;
176
0
    return st;
177
0
}
178
/**
179
 * fu_struct_synaptics_prometheus_reply_generic_unref: (skip):
180
 **/
181
void
182
fu_struct_synaptics_prometheus_reply_generic_unref(FuStructSynapticsPrometheusReplyGeneric *st)
183
0
{
184
0
    g_return_if_fail(st != NULL);
185
0
    if (st->refcount == 0) {
186
0
        g_critical("FuStructSynapticsPrometheusReplyGeneric refcount already zero");
187
0
        return;
188
0
    }
189
0
    if (--st->refcount > 0)
190
0
        return;
191
0
    if (st->buf != NULL)
192
0
        g_byte_array_unref(st->buf);
193
0
    g_free(st);
194
0
}
195
/**
196
 * fu_struct_synaptics_prometheus_reply_generic_new_internal: (skip):
197
 **/
198
static FuStructSynapticsPrometheusReplyGeneric *
199
fu_struct_synaptics_prometheus_reply_generic_new_internal(void)
200
0
{
201
0
    FuStructSynapticsPrometheusReplyGeneric *st = g_new0(FuStructSynapticsPrometheusReplyGeneric, 1);
202
0
    st->refcount = 1;
203
0
    return st;
204
0
}
205
206
/* getters */
207
/**
208
 * fu_struct_synaptics_prometheus_reply_generic_get_status: (skip):
209
 **/
210
guint16
211
fu_struct_synaptics_prometheus_reply_generic_get_status(const FuStructSynapticsPrometheusReplyGeneric *st)
212
0
{
213
0
    g_return_val_if_fail(st != NULL, 0x0);
214
0
    return fu_memread_uint16(st->buf->data + 0, G_LITTLE_ENDIAN);
215
0
}
216
217
/* setters */
218
/**
219
 * fu_struct_synaptics_prometheus_reply_generic_to_string: (skip):
220
 **/
221
static gchar *
222
fu_struct_synaptics_prometheus_reply_generic_to_string(const FuStructSynapticsPrometheusReplyGeneric *st)
223
0
{
224
0
    g_autoptr(GString) str = g_string_new("FuStructSynapticsPrometheusReplyGeneric:\n");
225
0
    g_return_val_if_fail(st != NULL, NULL);
226
0
    g_string_append_printf(str, "  status: 0x%x\n",
227
0
                           (guint) fu_struct_synaptics_prometheus_reply_generic_get_status(st));
228
0
    if (str->len > 0)
229
0
        g_string_set_size(str, str->len - 1);
230
0
    return g_string_free(g_steal_pointer(&str), FALSE);
231
0
}
232
static gboolean
233
fu_struct_synaptics_prometheus_reply_generic_validate_internal(FuStructSynapticsPrometheusReplyGeneric *st, GError **error)
234
0
{
235
0
    g_return_val_if_fail(st != NULL, FALSE);
236
0
    return TRUE;
237
0
}
238
static gboolean
239
fu_struct_synaptics_prometheus_reply_generic_parse_internal(FuStructSynapticsPrometheusReplyGeneric *st, GError **error)
240
0
{
241
0
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
242
0
        g_autofree gchar *str = fu_struct_synaptics_prometheus_reply_generic_to_string(st);
243
0
        g_debug("%s", str);
244
0
    }
245
0
    if (!fu_struct_synaptics_prometheus_reply_generic_validate_internal(st, error))
246
0
        return FALSE;
247
0
    return TRUE;
248
0
}
249
250
/**
251
 * fu_struct_synaptics_prometheus_reply_generic_parse: (skip):
252
 **/
253
FuStructSynapticsPrometheusReplyGeneric *
254
fu_struct_synaptics_prometheus_reply_generic_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error)
255
0
{
256
0
    g_autoptr(FuStructSynapticsPrometheusReplyGeneric) st = fu_struct_synaptics_prometheus_reply_generic_new_internal();
257
0
    g_return_val_if_fail(buf != NULL, NULL);
258
0
    g_return_val_if_fail(error == NULL || *error == NULL, NULL);
259
0
    if (!fu_memchk_read(bufsz, offset, 2, error)) {
260
0
        g_prefix_error_literal(error, "invalid struct FuStructSynapticsPrometheusReplyGeneric: ");
261
0
        return NULL;
262
0
    }
263
0
    st->buf = g_byte_array_new();
264
0
    g_byte_array_append(st->buf, buf + offset, 2);
265
0
    if (!fu_struct_synaptics_prometheus_reply_generic_parse_internal(st, error))
266
0
        return NULL;
267
0
    return g_steal_pointer(&st);
268
0
}
269
/**
270
 * fu_struct_synaptics_prometheus_reply_get_version_ref: (skip):
271
 **/
272
FuStructSynapticsPrometheusReplyGetVersion *
273
fu_struct_synaptics_prometheus_reply_get_version_ref(FuStructSynapticsPrometheusReplyGetVersion *st)
274
0
{
275
0
    g_return_val_if_fail(st != NULL, NULL);
276
0
    st->refcount++;
277
0
    return st;
278
0
}
279
/**
280
 * fu_struct_synaptics_prometheus_reply_get_version_unref: (skip):
281
 **/
282
void
283
fu_struct_synaptics_prometheus_reply_get_version_unref(FuStructSynapticsPrometheusReplyGetVersion *st)
284
0
{
285
0
    g_return_if_fail(st != NULL);
286
0
    if (st->refcount == 0) {
287
0
        g_critical("FuStructSynapticsPrometheusReplyGetVersion refcount already zero");
288
0
        return;
289
0
    }
290
0
    if (--st->refcount > 0)
291
0
        return;
292
0
    if (st->buf != NULL)
293
0
        g_byte_array_unref(st->buf);
294
0
    g_free(st);
295
0
}
296
/**
297
 * fu_struct_synaptics_prometheus_reply_get_version_new_internal: (skip):
298
 **/
299
static FuStructSynapticsPrometheusReplyGetVersion *
300
fu_struct_synaptics_prometheus_reply_get_version_new_internal(void)
301
0
{
302
0
    FuStructSynapticsPrometheusReplyGetVersion *st = g_new0(FuStructSynapticsPrometheusReplyGetVersion, 1);
303
0
    st->refcount = 1;
304
0
    return st;
305
0
}
306
307
/* getters */
308
/**
309
 * fu_struct_synaptics_prometheus_reply_get_version_get_status: (skip):
310
 **/
311
guint16
312
fu_struct_synaptics_prometheus_reply_get_version_get_status(const FuStructSynapticsPrometheusReplyGetVersion *st)
313
0
{
314
0
    g_return_val_if_fail(st != NULL, 0x0);
315
0
    return fu_memread_uint16(st->buf->data + 0, G_LITTLE_ENDIAN);
316
0
}
317
/**
318
 * fu_struct_synaptics_prometheus_reply_get_version_get_buildtime: (skip):
319
 **/
320
guint32
321
fu_struct_synaptics_prometheus_reply_get_version_get_buildtime(const FuStructSynapticsPrometheusReplyGetVersion *st)
322
0
{
323
0
    g_return_val_if_fail(st != NULL, 0x0);
324
0
    return fu_memread_uint32(st->buf->data + 2, G_LITTLE_ENDIAN);
325
0
}
326
/**
327
 * fu_struct_synaptics_prometheus_reply_get_version_get_buildnum: (skip):
328
 **/
329
guint32
330
fu_struct_synaptics_prometheus_reply_get_version_get_buildnum(const FuStructSynapticsPrometheusReplyGetVersion *st)
331
0
{
332
0
    g_return_val_if_fail(st != NULL, 0x0);
333
0
    return fu_memread_uint32(st->buf->data + 6, G_LITTLE_ENDIAN);
334
0
}
335
/**
336
 * fu_struct_synaptics_prometheus_reply_get_version_get_vmajor: (skip):
337
 **/
338
guint8
339
fu_struct_synaptics_prometheus_reply_get_version_get_vmajor(const FuStructSynapticsPrometheusReplyGetVersion *st)
340
0
{
341
0
    g_return_val_if_fail(st != NULL, 0x0);
342
0
    return st->buf->data[10];
343
0
}
344
/**
345
 * fu_struct_synaptics_prometheus_reply_get_version_get_vminor: (skip):
346
 **/
347
guint8
348
fu_struct_synaptics_prometheus_reply_get_version_get_vminor(const FuStructSynapticsPrometheusReplyGetVersion *st)
349
0
{
350
0
    g_return_val_if_fail(st != NULL, 0x0);
351
0
    return st->buf->data[11];
352
0
}
353
/**
354
 * fu_struct_synaptics_prometheus_reply_get_version_get_target: (skip):
355
 **/
356
guint8
357
fu_struct_synaptics_prometheus_reply_get_version_get_target(const FuStructSynapticsPrometheusReplyGetVersion *st)
358
0
{
359
0
    g_return_val_if_fail(st != NULL, 0x0);
360
0
    return st->buf->data[12];
361
0
}
362
/**
363
 * fu_struct_synaptics_prometheus_reply_get_version_get_product: (skip):
364
 **/
365
FuSynapticsPrometheusProduct
366
fu_struct_synaptics_prometheus_reply_get_version_get_product(const FuStructSynapticsPrometheusReplyGetVersion *st)
367
0
{
368
0
    g_return_val_if_fail(st != NULL, 0x0);
369
0
    return st->buf->data[13];
370
0
}
371
/**
372
 * fu_struct_synaptics_prometheus_reply_get_version_get_siliconrev: (skip):
373
 **/
374
guint8
375
fu_struct_synaptics_prometheus_reply_get_version_get_siliconrev(const FuStructSynapticsPrometheusReplyGetVersion *st)
376
0
{
377
0
    g_return_val_if_fail(st != NULL, 0x0);
378
0
    return st->buf->data[14];
379
0
}
380
/**
381
 * fu_struct_synaptics_prometheus_reply_get_version_get_formalrel: (skip):
382
 **/
383
guint8
384
fu_struct_synaptics_prometheus_reply_get_version_get_formalrel(const FuStructSynapticsPrometheusReplyGetVersion *st)
385
0
{
386
0
    g_return_val_if_fail(st != NULL, 0x0);
387
0
    return st->buf->data[15];
388
0
}
389
/**
390
 * fu_struct_synaptics_prometheus_reply_get_version_get_platform: (skip):
391
 **/
392
guint8
393
fu_struct_synaptics_prometheus_reply_get_version_get_platform(const FuStructSynapticsPrometheusReplyGetVersion *st)
394
0
{
395
0
    g_return_val_if_fail(st != NULL, 0x0);
396
0
    return st->buf->data[16];
397
0
}
398
/**
399
 * fu_struct_synaptics_prometheus_reply_get_version_get_patch: (skip):
400
 **/
401
guint8
402
fu_struct_synaptics_prometheus_reply_get_version_get_patch(const FuStructSynapticsPrometheusReplyGetVersion *st)
403
0
{
404
0
    g_return_val_if_fail(st != NULL, 0x0);
405
0
    return st->buf->data[17];
406
0
}
407
/**
408
 * fu_struct_synaptics_prometheus_reply_get_version_get_serial_number: (skip):
409
 **/
410
const guint8 *
411
fu_struct_synaptics_prometheus_reply_get_version_get_serial_number(const FuStructSynapticsPrometheusReplyGetVersion *st, gsize *bufsz)
412
0
{
413
0
    g_return_val_if_fail(st != NULL, NULL);
414
0
    if (bufsz != NULL)
415
0
        *bufsz = 6;
416
0
    return st->buf->data + 18;
417
0
}
418
/**
419
 * fu_struct_synaptics_prometheus_reply_get_version_get_security0: (skip):
420
 **/
421
guint8
422
fu_struct_synaptics_prometheus_reply_get_version_get_security0(const FuStructSynapticsPrometheusReplyGetVersion *st)
423
0
{
424
0
    g_return_val_if_fail(st != NULL, 0x0);
425
0
    return st->buf->data[24];
426
0
}
427
/**
428
 * fu_struct_synaptics_prometheus_reply_get_version_get_security1: (skip):
429
 **/
430
guint8
431
fu_struct_synaptics_prometheus_reply_get_version_get_security1(const FuStructSynapticsPrometheusReplyGetVersion *st)
432
0
{
433
0
    g_return_val_if_fail(st != NULL, 0x0);
434
0
    return st->buf->data[25];
435
0
}
436
/**
437
 * fu_struct_synaptics_prometheus_reply_get_version_get_patchsig: (skip):
438
 **/
439
guint32
440
fu_struct_synaptics_prometheus_reply_get_version_get_patchsig(const FuStructSynapticsPrometheusReplyGetVersion *st)
441
0
{
442
0
    g_return_val_if_fail(st != NULL, 0x0);
443
0
    return fu_memread_uint32(st->buf->data + 26, G_LITTLE_ENDIAN);
444
0
}
445
/**
446
 * fu_struct_synaptics_prometheus_reply_get_version_get_iface: (skip):
447
 **/
448
guint8
449
fu_struct_synaptics_prometheus_reply_get_version_get_iface(const FuStructSynapticsPrometheusReplyGetVersion *st)
450
0
{
451
0
    g_return_val_if_fail(st != NULL, 0x0);
452
0
    return st->buf->data[30];
453
0
}
454
/**
455
 * fu_struct_synaptics_prometheus_reply_get_version_get_otpsig: (skip):
456
 **/
457
const guint8 *
458
fu_struct_synaptics_prometheus_reply_get_version_get_otpsig(const FuStructSynapticsPrometheusReplyGetVersion *st, gsize *bufsz)
459
0
{
460
0
    g_return_val_if_fail(st != NULL, NULL);
461
0
    if (bufsz != NULL)
462
0
        *bufsz = 3;
463
0
    return st->buf->data + 31;
464
0
}
465
/**
466
 * fu_struct_synaptics_prometheus_reply_get_version_get_otpspare1: (skip):
467
 **/
468
guint16
469
fu_struct_synaptics_prometheus_reply_get_version_get_otpspare1(const FuStructSynapticsPrometheusReplyGetVersion *st)
470
0
{
471
0
    g_return_val_if_fail(st != NULL, 0x0);
472
0
    return fu_memread_uint16(st->buf->data + 34, G_LITTLE_ENDIAN);
473
0
}
474
/**
475
 * fu_struct_synaptics_prometheus_reply_get_version_get_device_type: (skip):
476
 **/
477
guint8
478
fu_struct_synaptics_prometheus_reply_get_version_get_device_type(const FuStructSynapticsPrometheusReplyGetVersion *st)
479
0
{
480
0
    g_return_val_if_fail(st != NULL, 0x0);
481
0
    return st->buf->data[37];
482
0
}
483
484
/* setters */
485
/**
486
 * fu_struct_synaptics_prometheus_reply_get_version_to_string: (skip):
487
 **/
488
static gchar *
489
fu_struct_synaptics_prometheus_reply_get_version_to_string(const FuStructSynapticsPrometheusReplyGetVersion *st)
490
0
{
491
0
    g_autoptr(GString) str = g_string_new("FuStructSynapticsPrometheusReplyGetVersion:\n");
492
0
    g_return_val_if_fail(st != NULL, NULL);
493
0
    g_string_append_printf(str, "  status: 0x%x\n",
494
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_status(st));
495
0
    g_string_append_printf(str, "  buildtime: 0x%x\n",
496
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_buildtime(st));
497
0
    g_string_append_printf(str, "  buildnum: 0x%x\n",
498
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_buildnum(st));
499
0
    g_string_append_printf(str, "  vmajor: 0x%x\n",
500
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_vmajor(st));
501
0
    g_string_append_printf(str, "  vminor: 0x%x\n",
502
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_vminor(st));
503
0
    g_string_append_printf(str, "  target: 0x%x\n",
504
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_target(st));
505
0
    {
506
0
        const gchar *tmp = fu_synaptics_prometheus_product_to_string(fu_struct_synaptics_prometheus_reply_get_version_get_product(st));
507
0
        if (tmp != NULL) {
508
0
            g_string_append_printf(str, "  product: 0x%x [%s]\n", (guint) fu_struct_synaptics_prometheus_reply_get_version_get_product(st), tmp);
509
0
        } else {
510
0
            g_string_append_printf(str, "  product: 0x%x\n", (guint) fu_struct_synaptics_prometheus_reply_get_version_get_product(st));
511
0
        }
512
0
    }
513
0
    g_string_append_printf(str, "  siliconrev: 0x%x\n",
514
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_siliconrev(st));
515
0
    g_string_append_printf(str, "  formalrel: 0x%x\n",
516
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_formalrel(st));
517
0
    g_string_append_printf(str, "  platform: 0x%x\n",
518
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_platform(st));
519
0
    g_string_append_printf(str, "  patch: 0x%x\n",
520
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_patch(st));
521
0
    {
522
0
        gsize bufsz = 0;
523
0
        const guint8 *buf = fu_struct_synaptics_prometheus_reply_get_version_get_serial_number(st, &bufsz);
524
0
        g_autoptr(GString) tmp = g_string_new(NULL);
525
0
        for (gsize i = 0; i < bufsz; i++)
526
0
            g_string_append_printf(tmp, "%02X", buf[i]);
527
0
        g_string_append_printf(str, "  serial_number: 0x%s\n", tmp->str);
528
0
    }
529
0
    g_string_append_printf(str, "  security0: 0x%x\n",
530
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_security0(st));
531
0
    g_string_append_printf(str, "  security1: 0x%x\n",
532
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_security1(st));
533
0
    g_string_append_printf(str, "  patchsig: 0x%x\n",
534
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_patchsig(st));
535
0
    g_string_append_printf(str, "  iface: 0x%x\n",
536
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_iface(st));
537
0
    {
538
0
        gsize bufsz = 0;
539
0
        const guint8 *buf = fu_struct_synaptics_prometheus_reply_get_version_get_otpsig(st, &bufsz);
540
0
        g_autoptr(GString) tmp = g_string_new(NULL);
541
0
        for (gsize i = 0; i < bufsz; i++)
542
0
            g_string_append_printf(tmp, "%02X", buf[i]);
543
0
        g_string_append_printf(str, "  otpsig: 0x%s\n", tmp->str);
544
0
    }
545
0
    g_string_append_printf(str, "  otpspare1: 0x%x\n",
546
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_otpspare1(st));
547
0
    g_string_append_printf(str, "  device_type: 0x%x\n",
548
0
                           (guint) fu_struct_synaptics_prometheus_reply_get_version_get_device_type(st));
549
0
    if (str->len > 0)
550
0
        g_string_set_size(str, str->len - 1);
551
0
    return g_string_free(g_steal_pointer(&str), FALSE);
552
0
}
553
static gboolean
554
fu_struct_synaptics_prometheus_reply_get_version_validate_internal(FuStructSynapticsPrometheusReplyGetVersion *st, GError **error)
555
0
{
556
0
    g_return_val_if_fail(st != NULL, FALSE);
557
0
    return TRUE;
558
0
}
559
static gboolean
560
fu_struct_synaptics_prometheus_reply_get_version_parse_internal(FuStructSynapticsPrometheusReplyGetVersion *st, GError **error)
561
0
{
562
0
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
563
0
        g_autofree gchar *str = fu_struct_synaptics_prometheus_reply_get_version_to_string(st);
564
0
        g_debug("%s", str);
565
0
    }
566
0
    if (!fu_struct_synaptics_prometheus_reply_get_version_validate_internal(st, error))
567
0
        return FALSE;
568
0
    return TRUE;
569
0
}
570
571
/**
572
 * fu_struct_synaptics_prometheus_reply_get_version_parse: (skip):
573
 **/
574
FuStructSynapticsPrometheusReplyGetVersion *
575
fu_struct_synaptics_prometheus_reply_get_version_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error)
576
0
{
577
0
    g_autoptr(FuStructSynapticsPrometheusReplyGetVersion) st = fu_struct_synaptics_prometheus_reply_get_version_new_internal();
578
0
    g_return_val_if_fail(buf != NULL, NULL);
579
0
    g_return_val_if_fail(error == NULL || *error == NULL, NULL);
580
0
    if (!fu_memchk_read(bufsz, offset, 38, error)) {
581
0
        g_prefix_error_literal(error, "invalid struct FuStructSynapticsPrometheusReplyGetVersion: ");
582
0
        return NULL;
583
0
    }
584
0
    st->buf = g_byte_array_new();
585
0
    g_byte_array_append(st->buf, buf + offset, 38);
586
0
    if (!fu_struct_synaptics_prometheus_reply_get_version_parse_internal(st, error))
587
0
        return NULL;
588
0
    return g_steal_pointer(&st);
589
0
}
590
/**
591
 * fu_struct_synaptics_prometheus_mfw_hdr_ref: (skip):
592
 **/
593
FuStructSynapticsPrometheusMfwHdr *
594
fu_struct_synaptics_prometheus_mfw_hdr_ref(FuStructSynapticsPrometheusMfwHdr *st)
595
0
{
596
0
    g_return_val_if_fail(st != NULL, NULL);
597
0
    st->refcount++;
598
0
    return st;
599
0
}
600
/**
601
 * fu_struct_synaptics_prometheus_mfw_hdr_unref: (skip):
602
 **/
603
void
604
fu_struct_synaptics_prometheus_mfw_hdr_unref(FuStructSynapticsPrometheusMfwHdr *st)
605
283
{
606
283
    g_return_if_fail(st != NULL);
607
283
    if (st->refcount == 0) {
608
0
        g_critical("FuStructSynapticsPrometheusMfwHdr refcount already zero");
609
0
        return;
610
0
    }
611
283
    if (--st->refcount > 0)
612
0
        return;
613
283
    if (st->buf != NULL)
614
283
        g_byte_array_unref(st->buf);
615
283
    g_free(st);
616
283
}
617
/**
618
 * fu_struct_synaptics_prometheus_mfw_hdr_new_internal: (skip):
619
 **/
620
static FuStructSynapticsPrometheusMfwHdr *
621
fu_struct_synaptics_prometheus_mfw_hdr_new_internal(void)
622
283
{
623
283
    FuStructSynapticsPrometheusMfwHdr *st = g_new0(FuStructSynapticsPrometheusMfwHdr, 1);
624
283
    st->refcount = 1;
625
283
    return st;
626
283
}
627
628
/* getters */
629
/**
630
 * fu_struct_synaptics_prometheus_mfw_hdr_get_product: (skip):
631
 **/
632
guint32
633
fu_struct_synaptics_prometheus_mfw_hdr_get_product(const FuStructSynapticsPrometheusMfwHdr *st)
634
166
{
635
166
    g_return_val_if_fail(st != NULL, 0x0);
636
166
    return fu_memread_uint32(st->buf->data + 0, G_LITTLE_ENDIAN);
637
166
}
638
/**
639
 * fu_struct_synaptics_prometheus_mfw_hdr_get_id: (skip):
640
 **/
641
guint32
642
fu_struct_synaptics_prometheus_mfw_hdr_get_id(const FuStructSynapticsPrometheusMfwHdr *st)
643
0
{
644
0
    g_return_val_if_fail(st != NULL, 0x0);
645
0
    return fu_memread_uint32(st->buf->data + 4, G_LITTLE_ENDIAN);
646
0
}
647
/**
648
 * fu_struct_synaptics_prometheus_mfw_hdr_get_buildtime: (skip):
649
 **/
650
guint32
651
fu_struct_synaptics_prometheus_mfw_hdr_get_buildtime(const FuStructSynapticsPrometheusMfwHdr *st)
652
0
{
653
0
    g_return_val_if_fail(st != NULL, 0x0);
654
0
    return fu_memread_uint32(st->buf->data + 8, G_LITTLE_ENDIAN);
655
0
}
656
/**
657
 * fu_struct_synaptics_prometheus_mfw_hdr_get_buildnum: (skip):
658
 **/
659
guint32
660
fu_struct_synaptics_prometheus_mfw_hdr_get_buildnum(const FuStructSynapticsPrometheusMfwHdr *st)
661
0
{
662
0
    g_return_val_if_fail(st != NULL, 0x0);
663
0
    return fu_memread_uint32(st->buf->data + 12, G_LITTLE_ENDIAN);
664
0
}
665
/**
666
 * fu_struct_synaptics_prometheus_mfw_hdr_get_vmajor: (skip):
667
 **/
668
guint8
669
fu_struct_synaptics_prometheus_mfw_hdr_get_vmajor(const FuStructSynapticsPrometheusMfwHdr *st)
670
166
{
671
166
    g_return_val_if_fail(st != NULL, 0x0);
672
166
    return st->buf->data[16];
673
166
}
674
/**
675
 * fu_struct_synaptics_prometheus_mfw_hdr_get_vminor: (skip):
676
 **/
677
guint8
678
fu_struct_synaptics_prometheus_mfw_hdr_get_vminor(const FuStructSynapticsPrometheusMfwHdr *st)
679
166
{
680
166
    g_return_val_if_fail(st != NULL, 0x0);
681
166
    return st->buf->data[17];
682
166
}
683
/**
684
 * fu_struct_synaptics_prometheus_mfw_hdr_get_unused: (skip):
685
 **/
686
const guint8 *
687
fu_struct_synaptics_prometheus_mfw_hdr_get_unused(const FuStructSynapticsPrometheusMfwHdr *st, gsize *bufsz)
688
0
{
689
0
    g_return_val_if_fail(st != NULL, NULL);
690
0
    if (bufsz != NULL)
691
0
        *bufsz = 6;
692
0
    return st->buf->data + 18;
693
0
}
694
695
/* setters */
696
/**
697
 * fu_struct_synaptics_prometheus_mfw_hdr_set_product: (skip):
698
 **/
699
void
700
fu_struct_synaptics_prometheus_mfw_hdr_set_product(FuStructSynapticsPrometheusMfwHdr *st, guint32 value)
701
117
{
702
117
    g_return_if_fail(st != NULL);
703
117
    fu_memwrite_uint32(st->buf->data + 0, value, G_LITTLE_ENDIAN);
704
117
}
705
/**
706
 * fu_struct_synaptics_prometheus_mfw_hdr_set_id: (skip):
707
 **/
708
void
709
fu_struct_synaptics_prometheus_mfw_hdr_set_id(FuStructSynapticsPrometheusMfwHdr *st, guint32 value)
710
117
{
711
117
    g_return_if_fail(st != NULL);
712
117
    fu_memwrite_uint32(st->buf->data + 4, value, G_LITTLE_ENDIAN);
713
117
}
714
/**
715
 * fu_struct_synaptics_prometheus_mfw_hdr_set_buildtime: (skip):
716
 **/
717
void
718
fu_struct_synaptics_prometheus_mfw_hdr_set_buildtime(FuStructSynapticsPrometheusMfwHdr *st, guint32 value)
719
117
{
720
117
    g_return_if_fail(st != NULL);
721
117
    fu_memwrite_uint32(st->buf->data + 8, value, G_LITTLE_ENDIAN);
722
117
}
723
/**
724
 * fu_struct_synaptics_prometheus_mfw_hdr_set_buildnum: (skip):
725
 **/
726
void
727
fu_struct_synaptics_prometheus_mfw_hdr_set_buildnum(FuStructSynapticsPrometheusMfwHdr *st, guint32 value)
728
117
{
729
117
    g_return_if_fail(st != NULL);
730
117
    fu_memwrite_uint32(st->buf->data + 12, value, G_LITTLE_ENDIAN);
731
117
}
732
/**
733
 * fu_struct_synaptics_prometheus_mfw_hdr_set_vmajor: (skip):
734
 **/
735
void
736
fu_struct_synaptics_prometheus_mfw_hdr_set_vmajor(FuStructSynapticsPrometheusMfwHdr *st, guint8 value)
737
117
{
738
117
    g_return_if_fail(st != NULL);
739
117
    st->buf->data[16] = value;
740
117
}
741
/**
742
 * fu_struct_synaptics_prometheus_mfw_hdr_set_vminor: (skip):
743
 **/
744
void
745
fu_struct_synaptics_prometheus_mfw_hdr_set_vminor(FuStructSynapticsPrometheusMfwHdr *st, guint8 value)
746
117
{
747
117
    g_return_if_fail(st != NULL);
748
117
    st->buf->data[17] = value;
749
117
}
750
/**
751
 * fu_struct_synaptics_prometheus_mfw_hdr_set_unused: (skip):
752
 **/
753
gboolean
754
fu_struct_synaptics_prometheus_mfw_hdr_set_unused(FuStructSynapticsPrometheusMfwHdr *st, const guint8 *buf, gsize bufsz, GError **error)
755
0
{
756
0
    g_return_val_if_fail(st != NULL, FALSE);
757
0
    g_return_val_if_fail(buf != NULL, FALSE);
758
0
    g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
759
0
    return fu_memcpy_safe(st->buf->data, st->buf->len, 18, buf, bufsz, 0x0, bufsz, error);
760
0
}
761
/**
762
 * fu_struct_synaptics_prometheus_mfw_hdr_new: (skip):
763
 **/
764
FuStructSynapticsPrometheusMfwHdr *
765
fu_struct_synaptics_prometheus_mfw_hdr_new(void)
766
117
{
767
117
    FuStructSynapticsPrometheusMfwHdr *st = fu_struct_synaptics_prometheus_mfw_hdr_new_internal();
768
117
    st->buf = g_byte_array_sized_new(24);
769
117
    fu_byte_array_set_size(st->buf, 24, 0x0);
770
117
    fu_struct_synaptics_prometheus_mfw_hdr_set_id(st, 0xFF);
771
117
    fu_struct_synaptics_prometheus_mfw_hdr_set_buildtime(st, 0xFF);
772
117
    fu_struct_synaptics_prometheus_mfw_hdr_set_buildnum(st, 0xFF);
773
117
    fu_struct_synaptics_prometheus_mfw_hdr_set_vmajor(st, 10);
774
117
    fu_struct_synaptics_prometheus_mfw_hdr_set_vminor(st, 1);
775
117
    return st;
776
117
}
777
/**
778
 * fu_struct_synaptics_prometheus_mfw_hdr_to_string: (skip):
779
 **/
780
static gchar *
781
fu_struct_synaptics_prometheus_mfw_hdr_to_string(const FuStructSynapticsPrometheusMfwHdr *st)
782
0
{
783
0
    g_autoptr(GString) str = g_string_new("FuStructSynapticsPrometheusMfwHdr:\n");
784
0
    g_return_val_if_fail(st != NULL, NULL);
785
0
    g_string_append_printf(str, "  product: 0x%x\n",
786
0
                           (guint) fu_struct_synaptics_prometheus_mfw_hdr_get_product(st));
787
0
    g_string_append_printf(str, "  id: 0x%x\n",
788
0
                           (guint) fu_struct_synaptics_prometheus_mfw_hdr_get_id(st));
789
0
    g_string_append_printf(str, "  buildtime: 0x%x\n",
790
0
                           (guint) fu_struct_synaptics_prometheus_mfw_hdr_get_buildtime(st));
791
0
    g_string_append_printf(str, "  buildnum: 0x%x\n",
792
0
                           (guint) fu_struct_synaptics_prometheus_mfw_hdr_get_buildnum(st));
793
0
    g_string_append_printf(str, "  vmajor: 0x%x\n",
794
0
                           (guint) fu_struct_synaptics_prometheus_mfw_hdr_get_vmajor(st));
795
0
    g_string_append_printf(str, "  vminor: 0x%x\n",
796
0
                           (guint) fu_struct_synaptics_prometheus_mfw_hdr_get_vminor(st));
797
0
    {
798
0
        gsize bufsz = 0;
799
0
        const guint8 *buf = fu_struct_synaptics_prometheus_mfw_hdr_get_unused(st, &bufsz);
800
0
        g_autoptr(GString) tmp = g_string_new(NULL);
801
0
        for (gsize i = 0; i < bufsz; i++)
802
0
            g_string_append_printf(tmp, "%02X", buf[i]);
803
0
        g_string_append_printf(str, "  unused: 0x%s\n", tmp->str);
804
0
    }
805
0
    if (str->len > 0)
806
0
        g_string_set_size(str, str->len - 1);
807
0
    return g_string_free(g_steal_pointer(&str), FALSE);
808
0
}
809
static gboolean
810
fu_struct_synaptics_prometheus_mfw_hdr_validate_internal(FuStructSynapticsPrometheusMfwHdr *st, GError **error)
811
166
{
812
166
    g_return_val_if_fail(st != NULL, FALSE);
813
166
    return TRUE;
814
166
}
815
static gboolean
816
fu_struct_synaptics_prometheus_mfw_hdr_parse_internal(FuStructSynapticsPrometheusMfwHdr *st, GError **error)
817
166
{
818
166
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
819
0
        g_autofree gchar *str = fu_struct_synaptics_prometheus_mfw_hdr_to_string(st);
820
0
        g_debug("%s", str);
821
0
    }
822
166
    if (!fu_struct_synaptics_prometheus_mfw_hdr_validate_internal(st, error))
823
0
        return FALSE;
824
166
    return TRUE;
825
166
}
826
/**
827
 * fu_struct_synaptics_prometheus_mfw_hdr_parse_stream: (skip):
828
 **/
829
FuStructSynapticsPrometheusMfwHdr *
830
fu_struct_synaptics_prometheus_mfw_hdr_parse_stream(GInputStream *stream, gsize offset, GError **error)
831
166
{
832
166
    g_autoptr(FuStructSynapticsPrometheusMfwHdr) st = fu_struct_synaptics_prometheus_mfw_hdr_new_internal();
833
166
    st->buf = fu_input_stream_read_byte_array(stream, offset, 24, NULL, error);
834
166
    if (st->buf == NULL) {
835
0
        g_prefix_error(error, "FuStructSynapticsPrometheusMfwHdr failed read of 0x%x: ", (guint) 24);
836
0
        return NULL;
837
0
    }
838
166
    if (st->buf->len != 24) {
839
0
        g_set_error(error,
840
0
                    FWUPD_ERROR,
841
0
                    FWUPD_ERROR_INVALID_DATA,
842
0
                    "FuStructSynapticsPrometheusMfwHdr requested 0x%x and got 0x%x",
843
0
                    (guint) 24,
844
0
                    (guint) st->buf->len);
845
0
        return NULL;
846
0
    }
847
166
    if (!fu_struct_synaptics_prometheus_mfw_hdr_parse_internal(st, error))
848
0
        return NULL;
849
166
    return g_steal_pointer(&st);
850
166
}
851
/**
852
 * fu_struct_synaptics_prometheus_hdr_ref: (skip):
853
 **/
854
FuStructSynapticsPrometheusHdr *
855
fu_struct_synaptics_prometheus_hdr_ref(FuStructSynapticsPrometheusHdr *st)
856
0
{
857
0
    g_return_val_if_fail(st != NULL, NULL);
858
0
    st->refcount++;
859
0
    return st;
860
0
}
861
/**
862
 * fu_struct_synaptics_prometheus_hdr_unref: (skip):
863
 **/
864
void
865
fu_struct_synaptics_prometheus_hdr_unref(FuStructSynapticsPrometheusHdr *st)
866
4.75k
{
867
4.75k
    g_return_if_fail(st != NULL);
868
4.75k
    if (st->refcount == 0) {
869
0
        g_critical("FuStructSynapticsPrometheusHdr refcount already zero");
870
0
        return;
871
0
    }
872
4.75k
    if (--st->refcount > 0)
873
0
        return;
874
4.75k
    if (st->buf != NULL)
875
4.75k
        g_byte_array_unref(st->buf);
876
4.75k
    g_free(st);
877
4.75k
}
878
/**
879
 * fu_struct_synaptics_prometheus_hdr_new_internal: (skip):
880
 **/
881
static FuStructSynapticsPrometheusHdr *
882
fu_struct_synaptics_prometheus_hdr_new_internal(void)
883
4.75k
{
884
4.75k
    FuStructSynapticsPrometheusHdr *st = g_new0(FuStructSynapticsPrometheusHdr, 1);
885
4.75k
    st->refcount = 1;
886
4.75k
    return st;
887
4.75k
}
888
889
/* getters */
890
/**
891
 * fu_struct_synaptics_prometheus_hdr_get_tag: (skip):
892
 **/
893
FuSynapticsPrometheusFirmwareTag
894
fu_struct_synaptics_prometheus_hdr_get_tag(const FuStructSynapticsPrometheusHdr *st)
895
4.63k
{
896
4.63k
    g_return_val_if_fail(st != NULL, 0x0);
897
4.63k
    return fu_memread_uint16(st->buf->data + 0, G_LITTLE_ENDIAN);
898
4.63k
}
899
/**
900
 * fu_struct_synaptics_prometheus_hdr_get_bufsz: (skip):
901
 **/
902
guint32
903
fu_struct_synaptics_prometheus_hdr_get_bufsz(const FuStructSynapticsPrometheusHdr *st)
904
4.61k
{
905
4.61k
    g_return_val_if_fail(st != NULL, 0x0);
906
4.61k
    return fu_memread_uint32(st->buf->data + 2, G_LITTLE_ENDIAN);
907
4.61k
}
908
909
/* setters */
910
/**
911
 * fu_struct_synaptics_prometheus_hdr_set_tag: (skip):
912
 **/
913
void
914
fu_struct_synaptics_prometheus_hdr_set_tag(FuStructSynapticsPrometheusHdr *st, FuSynapticsPrometheusFirmwareTag value)
915
117
{
916
117
    g_return_if_fail(st != NULL);
917
117
    fu_memwrite_uint16(st->buf->data + 0, value, G_LITTLE_ENDIAN);
918
117
}
919
/**
920
 * fu_struct_synaptics_prometheus_hdr_set_bufsz: (skip):
921
 **/
922
void
923
fu_struct_synaptics_prometheus_hdr_set_bufsz(FuStructSynapticsPrometheusHdr *st, guint32 value)
924
117
{
925
117
    g_return_if_fail(st != NULL);
926
117
    fu_memwrite_uint32(st->buf->data + 2, value, G_LITTLE_ENDIAN);
927
117
}
928
/**
929
 * fu_struct_synaptics_prometheus_hdr_new: (skip):
930
 **/
931
FuStructSynapticsPrometheusHdr *
932
fu_struct_synaptics_prometheus_hdr_new(void)
933
117
{
934
117
    FuStructSynapticsPrometheusHdr *st = fu_struct_synaptics_prometheus_hdr_new_internal();
935
117
    st->buf = g_byte_array_sized_new(6);
936
117
    fu_byte_array_set_size(st->buf, 6, 0x0);
937
117
    return st;
938
117
}
939
/**
940
 * fu_struct_synaptics_prometheus_hdr_to_string: (skip):
941
 **/
942
static gchar *
943
fu_struct_synaptics_prometheus_hdr_to_string(const FuStructSynapticsPrometheusHdr *st)
944
0
{
945
0
    g_autoptr(GString) str = g_string_new("FuStructSynapticsPrometheusHdr:\n");
946
0
    g_return_val_if_fail(st != NULL, NULL);
947
0
    {
948
0
        const gchar *tmp = fu_synaptics_prometheus_firmware_tag_to_string(fu_struct_synaptics_prometheus_hdr_get_tag(st));
949
0
        if (tmp != NULL) {
950
0
            g_string_append_printf(str, "  tag: 0x%x [%s]\n", (guint) fu_struct_synaptics_prometheus_hdr_get_tag(st), tmp);
951
0
        } else {
952
0
            g_string_append_printf(str, "  tag: 0x%x\n", (guint) fu_struct_synaptics_prometheus_hdr_get_tag(st));
953
0
        }
954
0
    }
955
0
    g_string_append_printf(str, "  bufsz: 0x%x\n",
956
0
                           (guint) fu_struct_synaptics_prometheus_hdr_get_bufsz(st));
957
0
    if (str->len > 0)
958
0
        g_string_set_size(str, str->len - 1);
959
0
    return g_string_free(g_steal_pointer(&str), FALSE);
960
0
}
961
static gboolean
962
fu_struct_synaptics_prometheus_hdr_validate_internal(FuStructSynapticsPrometheusHdr *st, GError **error)
963
4.63k
{
964
4.63k
    g_return_val_if_fail(st != NULL, FALSE);
965
4.63k
    return TRUE;
966
4.63k
}
967
static gboolean
968
fu_struct_synaptics_prometheus_hdr_parse_internal(FuStructSynapticsPrometheusHdr *st, GError **error)
969
4.63k
{
970
4.63k
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
971
0
        g_autofree gchar *str = fu_struct_synaptics_prometheus_hdr_to_string(st);
972
0
        g_debug("%s", str);
973
0
    }
974
4.63k
    if (!fu_struct_synaptics_prometheus_hdr_validate_internal(st, error))
975
0
        return FALSE;
976
4.63k
    return TRUE;
977
4.63k
}
978
/**
979
 * fu_struct_synaptics_prometheus_hdr_parse_stream: (skip):
980
 **/
981
FuStructSynapticsPrometheusHdr *
982
fu_struct_synaptics_prometheus_hdr_parse_stream(GInputStream *stream, gsize offset, GError **error)
983
4.63k
{
984
4.63k
    g_autoptr(FuStructSynapticsPrometheusHdr) st = fu_struct_synaptics_prometheus_hdr_new_internal();
985
4.63k
    st->buf = fu_input_stream_read_byte_array(stream, offset, 6, NULL, error);
986
4.63k
    if (st->buf == NULL) {
987
0
        g_prefix_error(error, "FuStructSynapticsPrometheusHdr failed read of 0x%x: ", (guint) 6);
988
0
        return NULL;
989
0
    }
990
4.63k
    if (st->buf->len != 6) {
991
0
        g_set_error(error,
992
0
                    FWUPD_ERROR,
993
0
                    FWUPD_ERROR_INVALID_DATA,
994
0
                    "FuStructSynapticsPrometheusHdr requested 0x%x and got 0x%x",
995
0
                    (guint) 6,
996
0
                    (guint) st->buf->len);
997
0
        return NULL;
998
0
    }
999
4.63k
    if (!fu_struct_synaptics_prometheus_hdr_parse_internal(st, error))
1000
0
        return NULL;
1001
4.63k
    return g_steal_pointer(&st);
1002
4.63k
}
1003
/**
1004
 * fu_struct_synaptics_prometheus_cfg_hdr_ref: (skip):
1005
 **/
1006
FuStructSynapticsPrometheusCfgHdr *
1007
fu_struct_synaptics_prometheus_cfg_hdr_ref(FuStructSynapticsPrometheusCfgHdr *st)
1008
0
{
1009
0
    g_return_val_if_fail(st != NULL, NULL);
1010
0
    st->refcount++;
1011
0
    return st;
1012
0
}
1013
/**
1014
 * fu_struct_synaptics_prometheus_cfg_hdr_unref: (skip):
1015
 **/
1016
void
1017
fu_struct_synaptics_prometheus_cfg_hdr_unref(FuStructSynapticsPrometheusCfgHdr *st)
1018
0
{
1019
0
    g_return_if_fail(st != NULL);
1020
0
    if (st->refcount == 0) {
1021
0
        g_critical("FuStructSynapticsPrometheusCfgHdr refcount already zero");
1022
0
        return;
1023
0
    }
1024
0
    if (--st->refcount > 0)
1025
0
        return;
1026
0
    if (st->buf != NULL)
1027
0
        g_byte_array_unref(st->buf);
1028
0
    g_free(st);
1029
0
}
1030
/**
1031
 * fu_struct_synaptics_prometheus_cfg_hdr_new_internal: (skip):
1032
 **/
1033
static FuStructSynapticsPrometheusCfgHdr *
1034
fu_struct_synaptics_prometheus_cfg_hdr_new_internal(void)
1035
0
{
1036
0
    FuStructSynapticsPrometheusCfgHdr *st = g_new0(FuStructSynapticsPrometheusCfgHdr, 1);
1037
0
    st->refcount = 1;
1038
0
    return st;
1039
0
}
1040
1041
/* getters */
1042
/**
1043
 * fu_struct_synaptics_prometheus_cfg_hdr_get_product: (skip):
1044
 **/
1045
guint32
1046
fu_struct_synaptics_prometheus_cfg_hdr_get_product(const FuStructSynapticsPrometheusCfgHdr *st)
1047
0
{
1048
0
    g_return_val_if_fail(st != NULL, 0x0);
1049
0
    return fu_memread_uint32(st->buf->data + 0, G_LITTLE_ENDIAN);
1050
0
}
1051
/**
1052
 * fu_struct_synaptics_prometheus_cfg_hdr_get_id1: (skip):
1053
 **/
1054
guint32
1055
fu_struct_synaptics_prometheus_cfg_hdr_get_id1(const FuStructSynapticsPrometheusCfgHdr *st)
1056
0
{
1057
0
    g_return_val_if_fail(st != NULL, 0x0);
1058
0
    return fu_memread_uint32(st->buf->data + 4, G_LITTLE_ENDIAN);
1059
0
}
1060
/**
1061
 * fu_struct_synaptics_prometheus_cfg_hdr_get_id2: (skip):
1062
 **/
1063
guint32
1064
fu_struct_synaptics_prometheus_cfg_hdr_get_id2(const FuStructSynapticsPrometheusCfgHdr *st)
1065
0
{
1066
0
    g_return_val_if_fail(st != NULL, 0x0);
1067
0
    return fu_memread_uint32(st->buf->data + 8, G_LITTLE_ENDIAN);
1068
0
}
1069
/**
1070
 * fu_struct_synaptics_prometheus_cfg_hdr_get_version: (skip):
1071
 **/
1072
guint16
1073
fu_struct_synaptics_prometheus_cfg_hdr_get_version(const FuStructSynapticsPrometheusCfgHdr *st)
1074
0
{
1075
0
    g_return_val_if_fail(st != NULL, 0x0);
1076
0
    return fu_memread_uint16(st->buf->data + 12, G_LITTLE_ENDIAN);
1077
0
}
1078
1079
/* setters */
1080
/**
1081
 * fu_struct_synaptics_prometheus_cfg_hdr_to_string: (skip):
1082
 **/
1083
static gchar *
1084
fu_struct_synaptics_prometheus_cfg_hdr_to_string(const FuStructSynapticsPrometheusCfgHdr *st)
1085
0
{
1086
0
    g_autoptr(GString) str = g_string_new("FuStructSynapticsPrometheusCfgHdr:\n");
1087
0
    g_return_val_if_fail(st != NULL, NULL);
1088
0
    g_string_append_printf(str, "  product: 0x%x\n",
1089
0
                           (guint) fu_struct_synaptics_prometheus_cfg_hdr_get_product(st));
1090
0
    g_string_append_printf(str, "  id1: 0x%x\n",
1091
0
                           (guint) fu_struct_synaptics_prometheus_cfg_hdr_get_id1(st));
1092
0
    g_string_append_printf(str, "  id2: 0x%x\n",
1093
0
                           (guint) fu_struct_synaptics_prometheus_cfg_hdr_get_id2(st));
1094
0
    g_string_append_printf(str, "  version: 0x%x\n",
1095
0
                           (guint) fu_struct_synaptics_prometheus_cfg_hdr_get_version(st));
1096
0
    if (str->len > 0)
1097
0
        g_string_set_size(str, str->len - 1);
1098
0
    return g_string_free(g_steal_pointer(&str), FALSE);
1099
0
}
1100
static gboolean
1101
fu_struct_synaptics_prometheus_cfg_hdr_validate_internal(FuStructSynapticsPrometheusCfgHdr *st, GError **error)
1102
0
{
1103
0
    g_return_val_if_fail(st != NULL, FALSE);
1104
0
    return TRUE;
1105
0
}
1106
static gboolean
1107
fu_struct_synaptics_prometheus_cfg_hdr_parse_internal(FuStructSynapticsPrometheusCfgHdr *st, GError **error)
1108
0
{
1109
0
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
1110
0
        g_autofree gchar *str = fu_struct_synaptics_prometheus_cfg_hdr_to_string(st);
1111
0
        g_debug("%s", str);
1112
0
    }
1113
0
    if (!fu_struct_synaptics_prometheus_cfg_hdr_validate_internal(st, error))
1114
0
        return FALSE;
1115
0
    return TRUE;
1116
0
}
1117
/**
1118
 * fu_struct_synaptics_prometheus_cfg_hdr_parse_stream: (skip):
1119
 **/
1120
FuStructSynapticsPrometheusCfgHdr *
1121
fu_struct_synaptics_prometheus_cfg_hdr_parse_stream(GInputStream *stream, gsize offset, GError **error)
1122
0
{
1123
0
    g_autoptr(FuStructSynapticsPrometheusCfgHdr) st = fu_struct_synaptics_prometheus_cfg_hdr_new_internal();
1124
0
    st->buf = fu_input_stream_read_byte_array(stream, offset, 16, NULL, error);
1125
0
    if (st->buf == NULL) {
1126
0
        g_prefix_error(error, "FuStructSynapticsPrometheusCfgHdr failed read of 0x%x: ", (guint) 16);
1127
0
        return NULL;
1128
0
    }
1129
0
    if (st->buf->len != 16) {
1130
0
        g_set_error(error,
1131
0
                    FWUPD_ERROR,
1132
0
                    FWUPD_ERROR_INVALID_DATA,
1133
0
                    "FuStructSynapticsPrometheusCfgHdr requested 0x%x and got 0x%x",
1134
0
                    (guint) 16,
1135
0
                    (guint) st->buf->len);
1136
0
        return NULL;
1137
0
    }
1138
0
    if (!fu_struct_synaptics_prometheus_cfg_hdr_parse_internal(st, error))
1139
0
        return NULL;
1140
0
    return g_steal_pointer(&st);
1141
0
}
1142
/**
1143
 * fu_struct_synaptics_prometheus_iota_config_version_ref: (skip):
1144
 **/
1145
FuStructSynapticsPrometheusIotaConfigVersion *
1146
fu_struct_synaptics_prometheus_iota_config_version_ref(FuStructSynapticsPrometheusIotaConfigVersion *st)
1147
0
{
1148
0
    g_return_val_if_fail(st != NULL, NULL);
1149
0
    st->refcount++;
1150
0
    return st;
1151
0
}
1152
/**
1153
 * fu_struct_synaptics_prometheus_iota_config_version_unref: (skip):
1154
 **/
1155
void
1156
fu_struct_synaptics_prometheus_iota_config_version_unref(FuStructSynapticsPrometheusIotaConfigVersion *st)
1157
0
{
1158
0
    g_return_if_fail(st != NULL);
1159
0
    if (st->refcount == 0) {
1160
0
        g_critical("FuStructSynapticsPrometheusIotaConfigVersion refcount already zero");
1161
0
        return;
1162
0
    }
1163
0
    if (--st->refcount > 0)
1164
0
        return;
1165
0
    if (st->buf != NULL)
1166
0
        g_byte_array_unref(st->buf);
1167
0
    g_free(st);
1168
0
}
1169
/**
1170
 * fu_struct_synaptics_prometheus_iota_config_version_new_internal: (skip):
1171
 **/
1172
static FuStructSynapticsPrometheusIotaConfigVersion *
1173
fu_struct_synaptics_prometheus_iota_config_version_new_internal(void)
1174
0
{
1175
0
    FuStructSynapticsPrometheusIotaConfigVersion *st = g_new0(FuStructSynapticsPrometheusIotaConfigVersion, 1);
1176
0
    st->refcount = 1;
1177
0
    return st;
1178
0
}
1179
1180
/* getters */
1181
/**
1182
 * fu_struct_synaptics_prometheus_iota_config_version_get_config_id1: (skip):
1183
 **/
1184
guint32
1185
fu_struct_synaptics_prometheus_iota_config_version_get_config_id1(const FuStructSynapticsPrometheusIotaConfigVersion *st)
1186
0
{
1187
0
    g_return_val_if_fail(st != NULL, 0x0);
1188
0
    return fu_memread_uint32(st->buf->data + 0, G_LITTLE_ENDIAN);
1189
0
}
1190
/**
1191
 * fu_struct_synaptics_prometheus_iota_config_version_get_config_id2: (skip):
1192
 **/
1193
guint32
1194
fu_struct_synaptics_prometheus_iota_config_version_get_config_id2(const FuStructSynapticsPrometheusIotaConfigVersion *st)
1195
0
{
1196
0
    g_return_val_if_fail(st != NULL, 0x0);
1197
0
    return fu_memread_uint32(st->buf->data + 4, G_LITTLE_ENDIAN);
1198
0
}
1199
/**
1200
 * fu_struct_synaptics_prometheus_iota_config_version_get_version: (skip):
1201
 **/
1202
guint16
1203
fu_struct_synaptics_prometheus_iota_config_version_get_version(const FuStructSynapticsPrometheusIotaConfigVersion *st)
1204
0
{
1205
0
    g_return_val_if_fail(st != NULL, 0x0);
1206
0
    return fu_memread_uint16(st->buf->data + 8, G_LITTLE_ENDIAN);
1207
0
}
1208
1209
/* setters */
1210
/**
1211
 * fu_struct_synaptics_prometheus_iota_config_version_to_string: (skip):
1212
 **/
1213
static gchar *
1214
fu_struct_synaptics_prometheus_iota_config_version_to_string(const FuStructSynapticsPrometheusIotaConfigVersion *st)
1215
0
{
1216
0
    g_autoptr(GString) str = g_string_new("FuStructSynapticsPrometheusIotaConfigVersion:\n");
1217
0
    g_return_val_if_fail(st != NULL, NULL);
1218
0
    g_string_append_printf(str, "  config_id1: 0x%x\n",
1219
0
                           (guint) fu_struct_synaptics_prometheus_iota_config_version_get_config_id1(st));
1220
0
    g_string_append_printf(str, "  config_id2: 0x%x\n",
1221
0
                           (guint) fu_struct_synaptics_prometheus_iota_config_version_get_config_id2(st));
1222
0
    g_string_append_printf(str, "  version: 0x%x\n",
1223
0
                           (guint) fu_struct_synaptics_prometheus_iota_config_version_get_version(st));
1224
0
    if (str->len > 0)
1225
0
        g_string_set_size(str, str->len - 1);
1226
0
    return g_string_free(g_steal_pointer(&str), FALSE);
1227
0
}
1228
static gboolean
1229
fu_struct_synaptics_prometheus_iota_config_version_validate_internal(FuStructSynapticsPrometheusIotaConfigVersion *st, GError **error)
1230
0
{
1231
0
    g_return_val_if_fail(st != NULL, FALSE);
1232
0
    return TRUE;
1233
0
}
1234
static gboolean
1235
fu_struct_synaptics_prometheus_iota_config_version_parse_internal(FuStructSynapticsPrometheusIotaConfigVersion *st, GError **error)
1236
0
{
1237
0
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
1238
0
        g_autofree gchar *str = fu_struct_synaptics_prometheus_iota_config_version_to_string(st);
1239
0
        g_debug("%s", str);
1240
0
    }
1241
0
    if (!fu_struct_synaptics_prometheus_iota_config_version_validate_internal(st, error))
1242
0
        return FALSE;
1243
0
    return TRUE;
1244
0
}
1245
1246
/**
1247
 * fu_struct_synaptics_prometheus_iota_config_version_parse: (skip):
1248
 **/
1249
FuStructSynapticsPrometheusIotaConfigVersion *
1250
fu_struct_synaptics_prometheus_iota_config_version_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error)
1251
0
{
1252
0
    g_autoptr(FuStructSynapticsPrometheusIotaConfigVersion) st = fu_struct_synaptics_prometheus_iota_config_version_new_internal();
1253
0
    g_return_val_if_fail(buf != NULL, NULL);
1254
0
    g_return_val_if_fail(error == NULL || *error == NULL, NULL);
1255
0
    if (!fu_memchk_read(bufsz, offset, 16, error)) {
1256
0
        g_prefix_error_literal(error, "invalid struct FuStructSynapticsPrometheusIotaConfigVersion: ");
1257
0
        return NULL;
1258
0
    }
1259
0
    st->buf = g_byte_array_new();
1260
0
    g_byte_array_append(st->buf, buf + offset, 16);
1261
0
    if (!fu_struct_synaptics_prometheus_iota_config_version_parse_internal(st, error))
1262
0
        return NULL;
1263
0
    return g_steal_pointer(&st);
1264
0
}
1265
/**
1266
 * fu_struct_synaptics_prometheus_reply_iota_find_hdr_ref: (skip):
1267
 **/
1268
FuStructSynapticsPrometheusReplyIotaFindHdr *
1269
fu_struct_synaptics_prometheus_reply_iota_find_hdr_ref(FuStructSynapticsPrometheusReplyIotaFindHdr *st)
1270
0
{
1271
0
    g_return_val_if_fail(st != NULL, NULL);
1272
0
    st->refcount++;
1273
0
    return st;
1274
0
}
1275
/**
1276
 * fu_struct_synaptics_prometheus_reply_iota_find_hdr_unref: (skip):
1277
 **/
1278
void
1279
fu_struct_synaptics_prometheus_reply_iota_find_hdr_unref(FuStructSynapticsPrometheusReplyIotaFindHdr *st)
1280
0
{
1281
0
    g_return_if_fail(st != NULL);
1282
0
    if (st->refcount == 0) {
1283
0
        g_critical("FuStructSynapticsPrometheusReplyIotaFindHdr refcount already zero");
1284
0
        return;
1285
0
    }
1286
0
    if (--st->refcount > 0)
1287
0
        return;
1288
0
    if (st->buf != NULL)
1289
0
        g_byte_array_unref(st->buf);
1290
0
    g_free(st);
1291
0
}
1292
/**
1293
 * fu_struct_synaptics_prometheus_reply_iota_find_hdr_new_internal: (skip):
1294
 **/
1295
static FuStructSynapticsPrometheusReplyIotaFindHdr *
1296
fu_struct_synaptics_prometheus_reply_iota_find_hdr_new_internal(void)
1297
0
{
1298
0
    FuStructSynapticsPrometheusReplyIotaFindHdr *st = g_new0(FuStructSynapticsPrometheusReplyIotaFindHdr, 1);
1299
0
    st->refcount = 1;
1300
0
    return st;
1301
0
}
1302
1303
/* getters */
1304
/**
1305
 * fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_status: (skip):
1306
 **/
1307
guint16
1308
fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_status(const FuStructSynapticsPrometheusReplyIotaFindHdr *st)
1309
0
{
1310
0
    g_return_val_if_fail(st != NULL, 0x0);
1311
0
    return fu_memread_uint16(st->buf->data + 0, G_LITTLE_ENDIAN);
1312
0
}
1313
/**
1314
 * fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_fullsize: (skip):
1315
 **/
1316
guint32
1317
fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_fullsize(const FuStructSynapticsPrometheusReplyIotaFindHdr *st)
1318
0
{
1319
0
    g_return_val_if_fail(st != NULL, 0x0);
1320
0
    return fu_memread_uint32(st->buf->data + 2, G_LITTLE_ENDIAN);
1321
0
}
1322
/**
1323
 * fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_nbytes: (skip):
1324
 **/
1325
guint16
1326
fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_nbytes(const FuStructSynapticsPrometheusReplyIotaFindHdr *st)
1327
0
{
1328
0
    g_return_val_if_fail(st != NULL, 0x0);
1329
0
    return fu_memread_uint16(st->buf->data + 6, G_LITTLE_ENDIAN);
1330
0
}
1331
/**
1332
 * fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_itype: (skip):
1333
 **/
1334
guint16
1335
fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_itype(const FuStructSynapticsPrometheusReplyIotaFindHdr *st)
1336
0
{
1337
0
    g_return_val_if_fail(st != NULL, 0x0);
1338
0
    return fu_memread_uint16(st->buf->data + 8, G_LITTLE_ENDIAN);
1339
0
}
1340
1341
/* setters */
1342
/**
1343
 * fu_struct_synaptics_prometheus_reply_iota_find_hdr_to_string: (skip):
1344
 **/
1345
static gchar *
1346
fu_struct_synaptics_prometheus_reply_iota_find_hdr_to_string(const FuStructSynapticsPrometheusReplyIotaFindHdr *st)
1347
0
{
1348
0
    g_autoptr(GString) str = g_string_new("FuStructSynapticsPrometheusReplyIotaFindHdr:\n");
1349
0
    g_return_val_if_fail(st != NULL, NULL);
1350
0
    g_string_append_printf(str, "  status: 0x%x\n",
1351
0
                           (guint) fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_status(st));
1352
0
    g_string_append_printf(str, "  fullsize: 0x%x\n",
1353
0
                           (guint) fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_fullsize(st));
1354
0
    g_string_append_printf(str, "  nbytes: 0x%x\n",
1355
0
                           (guint) fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_nbytes(st));
1356
0
    g_string_append_printf(str, "  itype: 0x%x\n",
1357
0
                           (guint) fu_struct_synaptics_prometheus_reply_iota_find_hdr_get_itype(st));
1358
0
    if (str->len > 0)
1359
0
        g_string_set_size(str, str->len - 1);
1360
0
    return g_string_free(g_steal_pointer(&str), FALSE);
1361
0
}
1362
static gboolean
1363
fu_struct_synaptics_prometheus_reply_iota_find_hdr_validate_internal(FuStructSynapticsPrometheusReplyIotaFindHdr *st, GError **error)
1364
0
{
1365
0
    g_return_val_if_fail(st != NULL, FALSE);
1366
0
    return TRUE;
1367
0
}
1368
static gboolean
1369
fu_struct_synaptics_prometheus_reply_iota_find_hdr_parse_internal(FuStructSynapticsPrometheusReplyIotaFindHdr *st, GError **error)
1370
0
{
1371
0
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
1372
0
        g_autofree gchar *str = fu_struct_synaptics_prometheus_reply_iota_find_hdr_to_string(st);
1373
0
        g_debug("%s", str);
1374
0
    }
1375
0
    if (!fu_struct_synaptics_prometheus_reply_iota_find_hdr_validate_internal(st, error))
1376
0
        return FALSE;
1377
0
    return TRUE;
1378
0
}
1379
1380
/**
1381
 * fu_struct_synaptics_prometheus_reply_iota_find_hdr_parse: (skip):
1382
 **/
1383
FuStructSynapticsPrometheusReplyIotaFindHdr *
1384
fu_struct_synaptics_prometheus_reply_iota_find_hdr_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error)
1385
0
{
1386
0
    g_autoptr(FuStructSynapticsPrometheusReplyIotaFindHdr) st = fu_struct_synaptics_prometheus_reply_iota_find_hdr_new_internal();
1387
0
    g_return_val_if_fail(buf != NULL, NULL);
1388
0
    g_return_val_if_fail(error == NULL || *error == NULL, NULL);
1389
0
    if (!fu_memchk_read(bufsz, offset, 10, error)) {
1390
0
        g_prefix_error_literal(error, "invalid struct FuStructSynapticsPrometheusReplyIotaFindHdr: ");
1391
0
        return NULL;
1392
0
    }
1393
0
    st->buf = g_byte_array_new();
1394
0
    g_byte_array_append(st->buf, buf + offset, 10);
1395
0
    if (!fu_struct_synaptics_prometheus_reply_iota_find_hdr_parse_internal(st, error))
1396
0
        return NULL;
1397
0
    return g_steal_pointer(&st);
1398
0
}
1399
/**
1400
 * fu_struct_synaptics_prometheus_cmd_iota_find_ref: (skip):
1401
 **/
1402
FuStructSynapticsPrometheusCmdIotaFind *
1403
fu_struct_synaptics_prometheus_cmd_iota_find_ref(FuStructSynapticsPrometheusCmdIotaFind *st)
1404
0
{
1405
0
    g_return_val_if_fail(st != NULL, NULL);
1406
0
    st->refcount++;
1407
0
    return st;
1408
0
}
1409
/**
1410
 * fu_struct_synaptics_prometheus_cmd_iota_find_unref: (skip):
1411
 **/
1412
void
1413
fu_struct_synaptics_prometheus_cmd_iota_find_unref(FuStructSynapticsPrometheusCmdIotaFind *st)
1414
0
{
1415
0
    g_return_if_fail(st != NULL);
1416
0
    if (st->refcount == 0) {
1417
0
        g_critical("FuStructSynapticsPrometheusCmdIotaFind refcount already zero");
1418
0
        return;
1419
0
    }
1420
0
    if (--st->refcount > 0)
1421
0
        return;
1422
0
    if (st->buf != NULL)
1423
0
        g_byte_array_unref(st->buf);
1424
0
    g_free(st);
1425
0
}
1426
/**
1427
 * fu_struct_synaptics_prometheus_cmd_iota_find_new_internal: (skip):
1428
 **/
1429
static FuStructSynapticsPrometheusCmdIotaFind *
1430
fu_struct_synaptics_prometheus_cmd_iota_find_new_internal(void)
1431
0
{
1432
0
    FuStructSynapticsPrometheusCmdIotaFind *st = g_new0(FuStructSynapticsPrometheusCmdIotaFind, 1);
1433
0
    st->refcount = 1;
1434
0
    return st;
1435
0
}
1436
1437
/* getters */
1438
/**
1439
 * fu_struct_synaptics_prometheus_cmd_iota_find_get_itype: (skip):
1440
 **/
1441
guint16
1442
fu_struct_synaptics_prometheus_cmd_iota_find_get_itype(const FuStructSynapticsPrometheusCmdIotaFind *st)
1443
0
{
1444
0
    g_return_val_if_fail(st != NULL, 0x0);
1445
0
    return fu_memread_uint16(st->buf->data + 0, G_LITTLE_ENDIAN);
1446
0
}
1447
/**
1448
 * fu_struct_synaptics_prometheus_cmd_iota_find_get_flags: (skip):
1449
 **/
1450
guint16
1451
fu_struct_synaptics_prometheus_cmd_iota_find_get_flags(const FuStructSynapticsPrometheusCmdIotaFind *st)
1452
0
{
1453
0
    g_return_val_if_fail(st != NULL, 0x0);
1454
0
    return fu_memread_uint16(st->buf->data + 2, G_LITTLE_ENDIAN);
1455
0
}
1456
/**
1457
 * fu_struct_synaptics_prometheus_cmd_iota_find_get_maxniotas: (skip):
1458
 **/
1459
guint8
1460
fu_struct_synaptics_prometheus_cmd_iota_find_get_maxniotas(const FuStructSynapticsPrometheusCmdIotaFind *st)
1461
0
{
1462
0
    g_return_val_if_fail(st != NULL, 0x0);
1463
0
    return st->buf->data[4];
1464
0
}
1465
/**
1466
 * fu_struct_synaptics_prometheus_cmd_iota_find_get_firstidx: (skip):
1467
 **/
1468
guint8
1469
fu_struct_synaptics_prometheus_cmd_iota_find_get_firstidx(const FuStructSynapticsPrometheusCmdIotaFind *st)
1470
0
{
1471
0
    g_return_val_if_fail(st != NULL, 0x0);
1472
0
    return st->buf->data[5];
1473
0
}
1474
/**
1475
 * fu_struct_synaptics_prometheus_cmd_iota_find_get_offset: (skip):
1476
 **/
1477
guint32
1478
fu_struct_synaptics_prometheus_cmd_iota_find_get_offset(const FuStructSynapticsPrometheusCmdIotaFind *st)
1479
0
{
1480
0
    g_return_val_if_fail(st != NULL, 0x0);
1481
0
    return fu_memread_uint32(st->buf->data + 8, G_LITTLE_ENDIAN);
1482
0
}
1483
/**
1484
 * fu_struct_synaptics_prometheus_cmd_iota_find_get_nbytes: (skip):
1485
 **/
1486
guint32
1487
fu_struct_synaptics_prometheus_cmd_iota_find_get_nbytes(const FuStructSynapticsPrometheusCmdIotaFind *st)
1488
0
{
1489
0
    g_return_val_if_fail(st != NULL, 0x0);
1490
0
    return fu_memread_uint32(st->buf->data + 12, G_LITTLE_ENDIAN);
1491
0
}
1492
1493
/* setters */
1494
/**
1495
 * fu_struct_synaptics_prometheus_cmd_iota_find_set_itype: (skip):
1496
 **/
1497
void
1498
fu_struct_synaptics_prometheus_cmd_iota_find_set_itype(FuStructSynapticsPrometheusCmdIotaFind *st, guint16 value)
1499
0
{
1500
0
    g_return_if_fail(st != NULL);
1501
0
    fu_memwrite_uint16(st->buf->data + 0, value, G_LITTLE_ENDIAN);
1502
0
}
1503
/**
1504
 * fu_struct_synaptics_prometheus_cmd_iota_find_set_flags: (skip):
1505
 **/
1506
void
1507
fu_struct_synaptics_prometheus_cmd_iota_find_set_flags(FuStructSynapticsPrometheusCmdIotaFind *st, guint16 value)
1508
0
{
1509
0
    g_return_if_fail(st != NULL);
1510
0
    fu_memwrite_uint16(st->buf->data + 2, value, G_LITTLE_ENDIAN);
1511
0
}
1512
/**
1513
 * fu_struct_synaptics_prometheus_cmd_iota_find_set_maxniotas: (skip):
1514
 **/
1515
void
1516
fu_struct_synaptics_prometheus_cmd_iota_find_set_maxniotas(FuStructSynapticsPrometheusCmdIotaFind *st, guint8 value)
1517
0
{
1518
0
    g_return_if_fail(st != NULL);
1519
0
    st->buf->data[4] = value;
1520
0
}
1521
/**
1522
 * fu_struct_synaptics_prometheus_cmd_iota_find_set_firstidx: (skip):
1523
 **/
1524
void
1525
fu_struct_synaptics_prometheus_cmd_iota_find_set_firstidx(FuStructSynapticsPrometheusCmdIotaFind *st, guint8 value)
1526
0
{
1527
0
    g_return_if_fail(st != NULL);
1528
0
    st->buf->data[5] = value;
1529
0
}
1530
/**
1531
 * fu_struct_synaptics_prometheus_cmd_iota_find_set_offset: (skip):
1532
 **/
1533
void
1534
fu_struct_synaptics_prometheus_cmd_iota_find_set_offset(FuStructSynapticsPrometheusCmdIotaFind *st, guint32 value)
1535
0
{
1536
0
    g_return_if_fail(st != NULL);
1537
0
    fu_memwrite_uint32(st->buf->data + 8, value, G_LITTLE_ENDIAN);
1538
0
}
1539
/**
1540
 * fu_struct_synaptics_prometheus_cmd_iota_find_set_nbytes: (skip):
1541
 **/
1542
void
1543
fu_struct_synaptics_prometheus_cmd_iota_find_set_nbytes(FuStructSynapticsPrometheusCmdIotaFind *st, guint32 value)
1544
0
{
1545
0
    g_return_if_fail(st != NULL);
1546
0
    fu_memwrite_uint32(st->buf->data + 12, value, G_LITTLE_ENDIAN);
1547
0
}
1548
/**
1549
 * fu_struct_synaptics_prometheus_cmd_iota_find_new: (skip):
1550
 **/
1551
FuStructSynapticsPrometheusCmdIotaFind *
1552
fu_struct_synaptics_prometheus_cmd_iota_find_new(void)
1553
0
{
1554
0
    FuStructSynapticsPrometheusCmdIotaFind *st = fu_struct_synaptics_prometheus_cmd_iota_find_new_internal();
1555
0
    st->buf = g_byte_array_sized_new(16);
1556
0
    fu_byte_array_set_size(st->buf, 16, 0x0);
1557
0
    return st;
1558
0
}