Coverage Report

Created: 2026-01-09 07:21

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