Coverage Report

Created: 2025-07-01 07:09

/work/fu-synaprom-struct.c
Line
Count
Source (jump to first uncovered line)
1
/* auto-generated, do not modify */
2
#include "config.h"
3
4
#include "fu-synaprom-struct.h"
5
#include "fu-byte-array.h"
6
#include "fu-mem-private.h"
7
#include "fu-string.h"
8
9
#ifdef G_LOG_DOMAIN
10
  #undef G_LOG_DOMAIN
11
#endif
12
0
#define G_LOG_DOMAIN "FuStruct"
13
14
15
static const gchar *
16
fu_synaprom_product_to_string(FuSynapromProduct val)
17
0
{
18
0
    if (val == FU_SYNAPROM_PRODUCT_PROMETHEUS)
19
0
        return "prometheus";
20
0
    if (val == FU_SYNAPROM_PRODUCT_PROMETHEUSPBL)
21
0
        return "prometheuspbl";
22
0
    if (val == FU_SYNAPROM_PRODUCT_PROMETHEUSMSBL)
23
0
        return "prometheusmsbl";
24
0
    if (val == FU_SYNAPROM_PRODUCT_TRITON)
25
0
        return "triton";
26
0
    if (val == FU_SYNAPROM_PRODUCT_TRITONPBL)
27
0
        return "tritonpbl";
28
0
    if (val == FU_SYNAPROM_PRODUCT_TRITONMSBL)
29
0
        return "tritonmsbl";
30
0
    return NULL;
31
0
}
32
33
34
35
const gchar *
36
fu_synaprom_firmware_tag_to_string(FuSynapromFirmwareTag val)
37
4.03k
{
38
4.03k
    if (val == FU_SYNAPROM_FIRMWARE_TAG_MFW_UPDATE_HEADER)
39
136
        return "mfw-update-header";
40
3.90k
    if (val == FU_SYNAPROM_FIRMWARE_TAG_MFW_UPDATE_PAYLOAD)
41
38
        return "mfw-update-payload";
42
3.86k
    if (val == FU_SYNAPROM_FIRMWARE_TAG_CFG_UPDATE_HEADER)
43
75
        return "cfg-update-header";
44
3.78k
    if (val == FU_SYNAPROM_FIRMWARE_TAG_CFG_UPDATE_PAYLOAD)
45
55
        return "cfg-update-payload";
46
3.73k
    return NULL;
47
3.78k
}
48
/* getters */
49
50
/* setters */
51
/**
52
 * fu_struct_synaprom_request_set_cmd: (skip):
53
 **/
54
void
55
fu_struct_synaprom_request_set_cmd(FuStructSynapromRequest *st, FuSynapromCmd value)
56
0
{
57
0
    g_return_if_fail(st != NULL);
58
0
    st->data[0] = value;
59
0
}
60
/**
61
 * fu_struct_synaprom_request_new: (skip):
62
 **/
63
FuStructSynapromRequest *
64
fu_struct_synaprom_request_new(void)
65
0
{
66
0
    FuStructSynapromRequest *st = g_byte_array_sized_new(1);
67
0
    fu_byte_array_set_size(st, 1, 0x0);
68
0
    return st;
69
0
}
70
/* getters */
71
/**
72
 * fu_struct_synaprom_reply_generic_get_status: (skip):
73
 **/
74
guint16
75
fu_struct_synaprom_reply_generic_get_status(const FuStructSynapromReplyGeneric *st)
76
0
{
77
0
    g_return_val_if_fail(st != NULL, 0x0);
78
0
    return fu_memread_uint16(st->data + 0, G_LITTLE_ENDIAN);
79
0
}
80
81
/* setters */
82
/**
83
 * fu_struct_synaprom_reply_generic_to_string: (skip):
84
 **/
85
static gchar *
86
fu_struct_synaprom_reply_generic_to_string(const FuStructSynapromReplyGeneric *st)
87
0
{
88
0
    g_autoptr(GString) str = g_string_new("FuStructSynapromReplyGeneric:\n");
89
0
    g_return_val_if_fail(st != NULL, NULL);
90
0
    g_string_append_printf(str, "  status: 0x%x\n",
91
0
                           (guint) fu_struct_synaprom_reply_generic_get_status(st));
92
0
    if (str->len > 0)
93
0
        g_string_set_size(str, str->len - 1);
94
0
    return g_string_free(g_steal_pointer(&str), FALSE);
95
0
}
96
static gboolean
97
fu_struct_synaprom_reply_generic_validate_internal(FuStructSynapromReplyGeneric *st, GError **error)
98
0
{
99
0
    g_return_val_if_fail(st != NULL, FALSE);
100
0
    return TRUE;
101
0
}
102
static gboolean
103
fu_struct_synaprom_reply_generic_parse_internal(FuStructSynapromReplyGeneric *st, GError **error)
104
0
{
105
0
    if (!fu_struct_synaprom_reply_generic_validate_internal(st, error))
106
0
        return FALSE;
107
0
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
108
0
        g_autofree gchar *str = fu_struct_synaprom_reply_generic_to_string(st);
109
0
        g_debug("%s", str);
110
0
    }
111
0
    return TRUE;
112
0
}
113
114
/**
115
 * fu_struct_synaprom_reply_generic_parse: (skip):
116
 **/
117
FuStructSynapromReplyGeneric *
118
fu_struct_synaprom_reply_generic_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error)
119
0
{
120
0
    g_autoptr(GByteArray) st = g_byte_array_new();
121
0
    g_return_val_if_fail(buf != NULL, NULL);
122
0
    g_return_val_if_fail(error == NULL || *error == NULL, NULL);
123
0
    if (!fu_memchk_read(bufsz, offset, 2, error)) {
124
0
        g_prefix_error(error, "invalid struct FuStructSynapromReplyGeneric: ");
125
0
        return NULL;
126
0
    }
127
0
    g_byte_array_append(st, buf + offset, 2);
128
0
    if (!fu_struct_synaprom_reply_generic_parse_internal(st, error))
129
0
        return NULL;
130
0
    return g_steal_pointer(&st);
131
0
}
132
/* getters */
133
/**
134
 * fu_struct_synaprom_reply_get_version_get_status: (skip):
135
 **/
136
guint16
137
fu_struct_synaprom_reply_get_version_get_status(const FuStructSynapromReplyGetVersion *st)
138
0
{
139
0
    g_return_val_if_fail(st != NULL, 0x0);
140
0
    return fu_memread_uint16(st->data + 0, G_LITTLE_ENDIAN);
141
0
}
142
/**
143
 * fu_struct_synaprom_reply_get_version_get_buildtime: (skip):
144
 **/
145
guint32
146
fu_struct_synaprom_reply_get_version_get_buildtime(const FuStructSynapromReplyGetVersion *st)
147
0
{
148
0
    g_return_val_if_fail(st != NULL, 0x0);
149
0
    return fu_memread_uint32(st->data + 2, G_LITTLE_ENDIAN);
150
0
}
151
/**
152
 * fu_struct_synaprom_reply_get_version_get_buildnum: (skip):
153
 **/
154
guint32
155
fu_struct_synaprom_reply_get_version_get_buildnum(const FuStructSynapromReplyGetVersion *st)
156
0
{
157
0
    g_return_val_if_fail(st != NULL, 0x0);
158
0
    return fu_memread_uint32(st->data + 6, G_LITTLE_ENDIAN);
159
0
}
160
/**
161
 * fu_struct_synaprom_reply_get_version_get_vmajor: (skip):
162
 **/
163
guint8
164
fu_struct_synaprom_reply_get_version_get_vmajor(const FuStructSynapromReplyGetVersion *st)
165
0
{
166
0
    g_return_val_if_fail(st != NULL, 0x0);
167
0
    return st->data[10];
168
0
}
169
/**
170
 * fu_struct_synaprom_reply_get_version_get_vminor: (skip):
171
 **/
172
guint8
173
fu_struct_synaprom_reply_get_version_get_vminor(const FuStructSynapromReplyGetVersion *st)
174
0
{
175
0
    g_return_val_if_fail(st != NULL, 0x0);
176
0
    return st->data[11];
177
0
}
178
/**
179
 * fu_struct_synaprom_reply_get_version_get_target: (skip):
180
 **/
181
guint8
182
fu_struct_synaprom_reply_get_version_get_target(const FuStructSynapromReplyGetVersion *st)
183
0
{
184
0
    g_return_val_if_fail(st != NULL, 0x0);
185
0
    return st->data[12];
186
0
}
187
/**
188
 * fu_struct_synaprom_reply_get_version_get_product: (skip):
189
 **/
190
FuSynapromProduct
191
fu_struct_synaprom_reply_get_version_get_product(const FuStructSynapromReplyGetVersion *st)
192
0
{
193
0
    g_return_val_if_fail(st != NULL, 0x0);
194
0
    return st->data[13];
195
0
}
196
/**
197
 * fu_struct_synaprom_reply_get_version_get_siliconrev: (skip):
198
 **/
199
guint8
200
fu_struct_synaprom_reply_get_version_get_siliconrev(const FuStructSynapromReplyGetVersion *st)
201
0
{
202
0
    g_return_val_if_fail(st != NULL, 0x0);
203
0
    return st->data[14];
204
0
}
205
/**
206
 * fu_struct_synaprom_reply_get_version_get_formalrel: (skip):
207
 **/
208
guint8
209
fu_struct_synaprom_reply_get_version_get_formalrel(const FuStructSynapromReplyGetVersion *st)
210
0
{
211
0
    g_return_val_if_fail(st != NULL, 0x0);
212
0
    return st->data[15];
213
0
}
214
/**
215
 * fu_struct_synaprom_reply_get_version_get_platform: (skip):
216
 **/
217
guint8
218
fu_struct_synaprom_reply_get_version_get_platform(const FuStructSynapromReplyGetVersion *st)
219
0
{
220
0
    g_return_val_if_fail(st != NULL, 0x0);
221
0
    return st->data[16];
222
0
}
223
/**
224
 * fu_struct_synaprom_reply_get_version_get_patch: (skip):
225
 **/
226
guint8
227
fu_struct_synaprom_reply_get_version_get_patch(const FuStructSynapromReplyGetVersion *st)
228
0
{
229
0
    g_return_val_if_fail(st != NULL, 0x0);
230
0
    return st->data[17];
231
0
}
232
/**
233
 * fu_struct_synaprom_reply_get_version_get_serial_number: (skip):
234
 **/
235
const guint8 *
236
fu_struct_synaprom_reply_get_version_get_serial_number(const FuStructSynapromReplyGetVersion *st, gsize *bufsz)
237
0
{
238
0
    g_return_val_if_fail(st != NULL, NULL);
239
0
    if (bufsz != NULL)
240
0
        *bufsz = 6;
241
0
    return st->data + 18;
242
0
}
243
/**
244
 * fu_struct_synaprom_reply_get_version_get_security0: (skip):
245
 **/
246
guint8
247
fu_struct_synaprom_reply_get_version_get_security0(const FuStructSynapromReplyGetVersion *st)
248
0
{
249
0
    g_return_val_if_fail(st != NULL, 0x0);
250
0
    return st->data[24];
251
0
}
252
/**
253
 * fu_struct_synaprom_reply_get_version_get_security1: (skip):
254
 **/
255
guint8
256
fu_struct_synaprom_reply_get_version_get_security1(const FuStructSynapromReplyGetVersion *st)
257
0
{
258
0
    g_return_val_if_fail(st != NULL, 0x0);
259
0
    return st->data[25];
260
0
}
261
/**
262
 * fu_struct_synaprom_reply_get_version_get_patchsig: (skip):
263
 **/
264
guint32
265
fu_struct_synaprom_reply_get_version_get_patchsig(const FuStructSynapromReplyGetVersion *st)
266
0
{
267
0
    g_return_val_if_fail(st != NULL, 0x0);
268
0
    return fu_memread_uint32(st->data + 26, G_LITTLE_ENDIAN);
269
0
}
270
/**
271
 * fu_struct_synaprom_reply_get_version_get_iface: (skip):
272
 **/
273
guint8
274
fu_struct_synaprom_reply_get_version_get_iface(const FuStructSynapromReplyGetVersion *st)
275
0
{
276
0
    g_return_val_if_fail(st != NULL, 0x0);
277
0
    return st->data[30];
278
0
}
279
/**
280
 * fu_struct_synaprom_reply_get_version_get_otpsig: (skip):
281
 **/
282
const guint8 *
283
fu_struct_synaprom_reply_get_version_get_otpsig(const FuStructSynapromReplyGetVersion *st, gsize *bufsz)
284
0
{
285
0
    g_return_val_if_fail(st != NULL, NULL);
286
0
    if (bufsz != NULL)
287
0
        *bufsz = 3;
288
0
    return st->data + 31;
289
0
}
290
/**
291
 * fu_struct_synaprom_reply_get_version_get_otpspare1: (skip):
292
 **/
293
guint16
294
fu_struct_synaprom_reply_get_version_get_otpspare1(const FuStructSynapromReplyGetVersion *st)
295
0
{
296
0
    g_return_val_if_fail(st != NULL, 0x0);
297
0
    return fu_memread_uint16(st->data + 34, G_LITTLE_ENDIAN);
298
0
}
299
/**
300
 * fu_struct_synaprom_reply_get_version_get_device_type: (skip):
301
 **/
302
guint8
303
fu_struct_synaprom_reply_get_version_get_device_type(const FuStructSynapromReplyGetVersion *st)
304
0
{
305
0
    g_return_val_if_fail(st != NULL, 0x0);
306
0
    return st->data[37];
307
0
}
308
309
/* setters */
310
/**
311
 * fu_struct_synaprom_reply_get_version_to_string: (skip):
312
 **/
313
static gchar *
314
fu_struct_synaprom_reply_get_version_to_string(const FuStructSynapromReplyGetVersion *st)
315
0
{
316
0
    g_autoptr(GString) str = g_string_new("FuStructSynapromReplyGetVersion:\n");
317
0
    g_return_val_if_fail(st != NULL, NULL);
318
0
    g_string_append_printf(str, "  status: 0x%x\n",
319
0
                           (guint) fu_struct_synaprom_reply_get_version_get_status(st));
320
0
    g_string_append_printf(str, "  buildtime: 0x%x\n",
321
0
                           (guint) fu_struct_synaprom_reply_get_version_get_buildtime(st));
322
0
    g_string_append_printf(str, "  buildnum: 0x%x\n",
323
0
                           (guint) fu_struct_synaprom_reply_get_version_get_buildnum(st));
324
0
    g_string_append_printf(str, "  vmajor: 0x%x\n",
325
0
                           (guint) fu_struct_synaprom_reply_get_version_get_vmajor(st));
326
0
    g_string_append_printf(str, "  vminor: 0x%x\n",
327
0
                           (guint) fu_struct_synaprom_reply_get_version_get_vminor(st));
328
0
    g_string_append_printf(str, "  target: 0x%x\n",
329
0
                           (guint) fu_struct_synaprom_reply_get_version_get_target(st));
330
0
    {
331
0
        const gchar *tmp = fu_synaprom_product_to_string(fu_struct_synaprom_reply_get_version_get_product(st));
332
0
        if (tmp != NULL) {
333
0
            g_string_append_printf(str, "  product: 0x%x [%s]\n", (guint) fu_struct_synaprom_reply_get_version_get_product(st), tmp);
334
0
        } else {
335
0
            g_string_append_printf(str, "  product: 0x%x\n", (guint) fu_struct_synaprom_reply_get_version_get_product(st));
336
0
        }
337
0
    }
338
0
    g_string_append_printf(str, "  siliconrev: 0x%x\n",
339
0
                           (guint) fu_struct_synaprom_reply_get_version_get_siliconrev(st));
340
0
    g_string_append_printf(str, "  formalrel: 0x%x\n",
341
0
                           (guint) fu_struct_synaprom_reply_get_version_get_formalrel(st));
342
0
    g_string_append_printf(str, "  platform: 0x%x\n",
343
0
                           (guint) fu_struct_synaprom_reply_get_version_get_platform(st));
344
0
    g_string_append_printf(str, "  patch: 0x%x\n",
345
0
                           (guint) fu_struct_synaprom_reply_get_version_get_patch(st));
346
0
    {
347
0
        gsize bufsz = 0;
348
0
        const guint8 *buf = fu_struct_synaprom_reply_get_version_get_serial_number(st, &bufsz);
349
0
        g_autoptr(GString) tmp = g_string_new(NULL);
350
0
        for (gsize i = 0; i < bufsz; i++)
351
0
            g_string_append_printf(tmp, "%02X", buf[i]);
352
0
        g_string_append_printf(str, "  serial_number: 0x%s\n", tmp->str);
353
0
    }
354
0
    g_string_append_printf(str, "  security0: 0x%x\n",
355
0
                           (guint) fu_struct_synaprom_reply_get_version_get_security0(st));
356
0
    g_string_append_printf(str, "  security1: 0x%x\n",
357
0
                           (guint) fu_struct_synaprom_reply_get_version_get_security1(st));
358
0
    g_string_append_printf(str, "  patchsig: 0x%x\n",
359
0
                           (guint) fu_struct_synaprom_reply_get_version_get_patchsig(st));
360
0
    g_string_append_printf(str, "  iface: 0x%x\n",
361
0
                           (guint) fu_struct_synaprom_reply_get_version_get_iface(st));
362
0
    {
363
0
        gsize bufsz = 0;
364
0
        const guint8 *buf = fu_struct_synaprom_reply_get_version_get_otpsig(st, &bufsz);
365
0
        g_autoptr(GString) tmp = g_string_new(NULL);
366
0
        for (gsize i = 0; i < bufsz; i++)
367
0
            g_string_append_printf(tmp, "%02X", buf[i]);
368
0
        g_string_append_printf(str, "  otpsig: 0x%s\n", tmp->str);
369
0
    }
370
0
    g_string_append_printf(str, "  otpspare1: 0x%x\n",
371
0
                           (guint) fu_struct_synaprom_reply_get_version_get_otpspare1(st));
372
0
    g_string_append_printf(str, "  device_type: 0x%x\n",
373
0
                           (guint) fu_struct_synaprom_reply_get_version_get_device_type(st));
374
0
    if (str->len > 0)
375
0
        g_string_set_size(str, str->len - 1);
376
0
    return g_string_free(g_steal_pointer(&str), FALSE);
377
0
}
378
static gboolean
379
fu_struct_synaprom_reply_get_version_validate_internal(FuStructSynapromReplyGetVersion *st, GError **error)
380
0
{
381
0
    g_return_val_if_fail(st != NULL, FALSE);
382
0
    return TRUE;
383
0
}
384
static gboolean
385
fu_struct_synaprom_reply_get_version_parse_internal(FuStructSynapromReplyGetVersion *st, GError **error)
386
0
{
387
0
    if (!fu_struct_synaprom_reply_get_version_validate_internal(st, error))
388
0
        return FALSE;
389
0
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
390
0
        g_autofree gchar *str = fu_struct_synaprom_reply_get_version_to_string(st);
391
0
        g_debug("%s", str);
392
0
    }
393
0
    return TRUE;
394
0
}
395
396
/**
397
 * fu_struct_synaprom_reply_get_version_parse: (skip):
398
 **/
399
FuStructSynapromReplyGetVersion *
400
fu_struct_synaprom_reply_get_version_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error)
401
0
{
402
0
    g_autoptr(GByteArray) st = g_byte_array_new();
403
0
    g_return_val_if_fail(buf != NULL, NULL);
404
0
    g_return_val_if_fail(error == NULL || *error == NULL, NULL);
405
0
    if (!fu_memchk_read(bufsz, offset, 38, error)) {
406
0
        g_prefix_error(error, "invalid struct FuStructSynapromReplyGetVersion: ");
407
0
        return NULL;
408
0
    }
409
0
    g_byte_array_append(st, buf + offset, 38);
410
0
    if (!fu_struct_synaprom_reply_get_version_parse_internal(st, error))
411
0
        return NULL;
412
0
    return g_steal_pointer(&st);
413
0
}
414
/* getters */
415
/**
416
 * fu_struct_synaprom_mfw_hdr_get_product: (skip):
417
 **/
418
guint32
419
fu_struct_synaprom_mfw_hdr_get_product(const FuStructSynapromMfwHdr *st)
420
136
{
421
136
    g_return_val_if_fail(st != NULL, 0x0);
422
136
    return fu_memread_uint32(st->data + 0, G_LITTLE_ENDIAN);
423
136
}
424
/**
425
 * fu_struct_synaprom_mfw_hdr_get_id: (skip):
426
 **/
427
guint32
428
fu_struct_synaprom_mfw_hdr_get_id(const FuStructSynapromMfwHdr *st)
429
0
{
430
0
    g_return_val_if_fail(st != NULL, 0x0);
431
0
    return fu_memread_uint32(st->data + 4, G_LITTLE_ENDIAN);
432
0
}
433
/**
434
 * fu_struct_synaprom_mfw_hdr_get_buildtime: (skip):
435
 **/
436
guint32
437
fu_struct_synaprom_mfw_hdr_get_buildtime(const FuStructSynapromMfwHdr *st)
438
0
{
439
0
    g_return_val_if_fail(st != NULL, 0x0);
440
0
    return fu_memread_uint32(st->data + 8, G_LITTLE_ENDIAN);
441
0
}
442
/**
443
 * fu_struct_synaprom_mfw_hdr_get_buildnum: (skip):
444
 **/
445
guint32
446
fu_struct_synaprom_mfw_hdr_get_buildnum(const FuStructSynapromMfwHdr *st)
447
0
{
448
0
    g_return_val_if_fail(st != NULL, 0x0);
449
0
    return fu_memread_uint32(st->data + 12, G_LITTLE_ENDIAN);
450
0
}
451
/**
452
 * fu_struct_synaprom_mfw_hdr_get_vmajor: (skip):
453
 **/
454
guint8
455
fu_struct_synaprom_mfw_hdr_get_vmajor(const FuStructSynapromMfwHdr *st)
456
136
{
457
136
    g_return_val_if_fail(st != NULL, 0x0);
458
136
    return st->data[16];
459
136
}
460
/**
461
 * fu_struct_synaprom_mfw_hdr_get_vminor: (skip):
462
 **/
463
guint8
464
fu_struct_synaprom_mfw_hdr_get_vminor(const FuStructSynapromMfwHdr *st)
465
136
{
466
136
    g_return_val_if_fail(st != NULL, 0x0);
467
136
    return st->data[17];
468
136
}
469
/**
470
 * fu_struct_synaprom_mfw_hdr_get_unused: (skip):
471
 **/
472
const guint8 *
473
fu_struct_synaprom_mfw_hdr_get_unused(const FuStructSynapromMfwHdr *st, gsize *bufsz)
474
0
{
475
0
    g_return_val_if_fail(st != NULL, NULL);
476
0
    if (bufsz != NULL)
477
0
        *bufsz = 6;
478
0
    return st->data + 18;
479
0
}
480
481
/* setters */
482
/**
483
 * fu_struct_synaprom_mfw_hdr_set_product: (skip):
484
 **/
485
void
486
fu_struct_synaprom_mfw_hdr_set_product(FuStructSynapromMfwHdr *st, guint32 value)
487
148
{
488
148
    g_return_if_fail(st != NULL);
489
148
    fu_memwrite_uint32(st->data + 0, value, G_LITTLE_ENDIAN);
490
148
}
491
/**
492
 * fu_struct_synaprom_mfw_hdr_set_id: (skip):
493
 **/
494
void
495
fu_struct_synaprom_mfw_hdr_set_id(FuStructSynapromMfwHdr *st, guint32 value)
496
148
{
497
148
    g_return_if_fail(st != NULL);
498
148
    fu_memwrite_uint32(st->data + 4, value, G_LITTLE_ENDIAN);
499
148
}
500
/**
501
 * fu_struct_synaprom_mfw_hdr_set_buildtime: (skip):
502
 **/
503
void
504
fu_struct_synaprom_mfw_hdr_set_buildtime(FuStructSynapromMfwHdr *st, guint32 value)
505
148
{
506
148
    g_return_if_fail(st != NULL);
507
148
    fu_memwrite_uint32(st->data + 8, value, G_LITTLE_ENDIAN);
508
148
}
509
/**
510
 * fu_struct_synaprom_mfw_hdr_set_buildnum: (skip):
511
 **/
512
void
513
fu_struct_synaprom_mfw_hdr_set_buildnum(FuStructSynapromMfwHdr *st, guint32 value)
514
148
{
515
148
    g_return_if_fail(st != NULL);
516
148
    fu_memwrite_uint32(st->data + 12, value, G_LITTLE_ENDIAN);
517
148
}
518
/**
519
 * fu_struct_synaprom_mfw_hdr_set_vmajor: (skip):
520
 **/
521
void
522
fu_struct_synaprom_mfw_hdr_set_vmajor(FuStructSynapromMfwHdr *st, guint8 value)
523
148
{
524
148
    g_return_if_fail(st != NULL);
525
148
    st->data[16] = value;
526
148
}
527
/**
528
 * fu_struct_synaprom_mfw_hdr_set_vminor: (skip):
529
 **/
530
void
531
fu_struct_synaprom_mfw_hdr_set_vminor(FuStructSynapromMfwHdr *st, guint8 value)
532
148
{
533
148
    g_return_if_fail(st != NULL);
534
148
    st->data[17] = value;
535
148
}
536
/**
537
 * fu_struct_synaprom_mfw_hdr_set_unused: (skip):
538
 **/
539
gboolean
540
fu_struct_synaprom_mfw_hdr_set_unused(FuStructSynapromMfwHdr *st, const guint8 *buf, gsize bufsz, GError **error)
541
0
{
542
0
    g_return_val_if_fail(st != NULL, FALSE);
543
0
    g_return_val_if_fail(buf != NULL, FALSE);
544
0
    g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
545
0
    return fu_memcpy_safe(st->data, st->len, 18, buf, bufsz, 0x0, bufsz, error);
546
0
}
547
/**
548
 * fu_struct_synaprom_mfw_hdr_new: (skip):
549
 **/
550
FuStructSynapromMfwHdr *
551
fu_struct_synaprom_mfw_hdr_new(void)
552
148
{
553
148
    FuStructSynapromMfwHdr *st = g_byte_array_sized_new(24);
554
148
    fu_byte_array_set_size(st, 24, 0x0);
555
148
    fu_struct_synaprom_mfw_hdr_set_id(st, 0xFF);
556
148
    fu_struct_synaprom_mfw_hdr_set_buildtime(st, 0xFF);
557
148
    fu_struct_synaprom_mfw_hdr_set_buildnum(st, 0xFF);
558
148
    fu_struct_synaprom_mfw_hdr_set_vmajor(st, 10);
559
148
    fu_struct_synaprom_mfw_hdr_set_vminor(st, 1);
560
148
    return st;
561
148
}
562
/**
563
 * fu_struct_synaprom_mfw_hdr_to_string: (skip):
564
 **/
565
static gchar *
566
fu_struct_synaprom_mfw_hdr_to_string(const FuStructSynapromMfwHdr *st)
567
0
{
568
0
    g_autoptr(GString) str = g_string_new("FuStructSynapromMfwHdr:\n");
569
0
    g_return_val_if_fail(st != NULL, NULL);
570
0
    g_string_append_printf(str, "  product: 0x%x\n",
571
0
                           (guint) fu_struct_synaprom_mfw_hdr_get_product(st));
572
0
    g_string_append_printf(str, "  id: 0x%x\n",
573
0
                           (guint) fu_struct_synaprom_mfw_hdr_get_id(st));
574
0
    g_string_append_printf(str, "  buildtime: 0x%x\n",
575
0
                           (guint) fu_struct_synaprom_mfw_hdr_get_buildtime(st));
576
0
    g_string_append_printf(str, "  buildnum: 0x%x\n",
577
0
                           (guint) fu_struct_synaprom_mfw_hdr_get_buildnum(st));
578
0
    g_string_append_printf(str, "  vmajor: 0x%x\n",
579
0
                           (guint) fu_struct_synaprom_mfw_hdr_get_vmajor(st));
580
0
    g_string_append_printf(str, "  vminor: 0x%x\n",
581
0
                           (guint) fu_struct_synaprom_mfw_hdr_get_vminor(st));
582
0
    {
583
0
        gsize bufsz = 0;
584
0
        const guint8 *buf = fu_struct_synaprom_mfw_hdr_get_unused(st, &bufsz);
585
0
        g_autoptr(GString) tmp = g_string_new(NULL);
586
0
        for (gsize i = 0; i < bufsz; i++)
587
0
            g_string_append_printf(tmp, "%02X", buf[i]);
588
0
        g_string_append_printf(str, "  unused: 0x%s\n", tmp->str);
589
0
    }
590
0
    if (str->len > 0)
591
0
        g_string_set_size(str, str->len - 1);
592
0
    return g_string_free(g_steal_pointer(&str), FALSE);
593
0
}
594
static gboolean
595
fu_struct_synaprom_mfw_hdr_validate_internal(FuStructSynapromMfwHdr *st, GError **error)
596
136
{
597
136
    g_return_val_if_fail(st != NULL, FALSE);
598
136
    return TRUE;
599
136
}
600
static gboolean
601
fu_struct_synaprom_mfw_hdr_parse_internal(FuStructSynapromMfwHdr *st, GError **error)
602
136
{
603
136
    if (!fu_struct_synaprom_mfw_hdr_validate_internal(st, error))
604
0
        return FALSE;
605
136
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
606
0
        g_autofree gchar *str = fu_struct_synaprom_mfw_hdr_to_string(st);
607
0
        g_debug("%s", str);
608
0
    }
609
136
    return TRUE;
610
136
}
611
/**
612
 * fu_struct_synaprom_mfw_hdr_parse_stream: (skip):
613
 **/
614
FuStructSynapromMfwHdr *
615
fu_struct_synaprom_mfw_hdr_parse_stream(GInputStream *stream, gsize offset, GError **error)
616
136
{
617
136
    g_autoptr(GByteArray) st = NULL;
618
136
    st = fu_input_stream_read_byte_array(stream, offset, 24, NULL, error);
619
136
    if (st == NULL) {
620
0
        g_prefix_error(error, "FuStructSynapromMfwHdr failed read of 0x%x: ", (guint) 24);
621
0
        return NULL;
622
0
    }
623
136
    if (st->len != 24) {
624
0
        g_set_error(error,
625
0
                    FWUPD_ERROR,
626
0
                    FWUPD_ERROR_INVALID_DATA,
627
0
                    "FuStructSynapromMfwHdr requested 0x%x and got 0x%x",
628
0
                    (guint) 24,
629
0
                    (guint) st->len);
630
0
        return NULL;
631
0
    }
632
136
    if (!fu_struct_synaprom_mfw_hdr_parse_internal(st, error))
633
0
        return NULL;
634
136
    return g_steal_pointer(&st);
635
136
}
636
/* getters */
637
/**
638
 * fu_struct_synaprom_hdr_get_tag: (skip):
639
 **/
640
FuSynapromFirmwareTag
641
fu_struct_synaprom_hdr_get_tag(const FuStructSynapromHdr *st)
642
4.29k
{
643
4.29k
    g_return_val_if_fail(st != NULL, 0x0);
644
4.29k
    return fu_memread_uint16(st->data + 0, G_LITTLE_ENDIAN);
645
4.29k
}
646
/**
647
 * fu_struct_synaprom_hdr_get_bufsz: (skip):
648
 **/
649
guint32
650
fu_struct_synaprom_hdr_get_bufsz(const FuStructSynapromHdr *st)
651
4.27k
{
652
4.27k
    g_return_val_if_fail(st != NULL, 0x0);
653
4.27k
    return fu_memread_uint32(st->data + 2, G_LITTLE_ENDIAN);
654
4.27k
}
655
656
/* setters */
657
/**
658
 * fu_struct_synaprom_hdr_set_tag: (skip):
659
 **/
660
void
661
fu_struct_synaprom_hdr_set_tag(FuStructSynapromHdr *st, FuSynapromFirmwareTag value)
662
148
{
663
148
    g_return_if_fail(st != NULL);
664
148
    fu_memwrite_uint16(st->data + 0, value, G_LITTLE_ENDIAN);
665
148
}
666
/**
667
 * fu_struct_synaprom_hdr_set_bufsz: (skip):
668
 **/
669
void
670
fu_struct_synaprom_hdr_set_bufsz(FuStructSynapromHdr *st, guint32 value)
671
148
{
672
148
    g_return_if_fail(st != NULL);
673
148
    fu_memwrite_uint32(st->data + 2, value, G_LITTLE_ENDIAN);
674
148
}
675
/**
676
 * fu_struct_synaprom_hdr_new: (skip):
677
 **/
678
FuStructSynapromHdr *
679
fu_struct_synaprom_hdr_new(void)
680
148
{
681
148
    FuStructSynapromHdr *st = g_byte_array_sized_new(6);
682
148
    fu_byte_array_set_size(st, 6, 0x0);
683
148
    return st;
684
148
}
685
/**
686
 * fu_struct_synaprom_hdr_to_string: (skip):
687
 **/
688
static gchar *
689
fu_struct_synaprom_hdr_to_string(const FuStructSynapromHdr *st)
690
0
{
691
0
    g_autoptr(GString) str = g_string_new("FuStructSynapromHdr:\n");
692
0
    g_return_val_if_fail(st != NULL, NULL);
693
0
    {
694
0
        const gchar *tmp = fu_synaprom_firmware_tag_to_string(fu_struct_synaprom_hdr_get_tag(st));
695
0
        if (tmp != NULL) {
696
0
            g_string_append_printf(str, "  tag: 0x%x [%s]\n", (guint) fu_struct_synaprom_hdr_get_tag(st), tmp);
697
0
        } else {
698
0
            g_string_append_printf(str, "  tag: 0x%x\n", (guint) fu_struct_synaprom_hdr_get_tag(st));
699
0
        }
700
0
    }
701
0
    g_string_append_printf(str, "  bufsz: 0x%x\n",
702
0
                           (guint) fu_struct_synaprom_hdr_get_bufsz(st));
703
0
    if (str->len > 0)
704
0
        g_string_set_size(str, str->len - 1);
705
0
    return g_string_free(g_steal_pointer(&str), FALSE);
706
0
}
707
static gboolean
708
fu_struct_synaprom_hdr_validate_internal(FuStructSynapromHdr *st, GError **error)
709
4.29k
{
710
4.29k
    g_return_val_if_fail(st != NULL, FALSE);
711
4.29k
    return TRUE;
712
4.29k
}
713
static gboolean
714
fu_struct_synaprom_hdr_parse_internal(FuStructSynapromHdr *st, GError **error)
715
4.29k
{
716
4.29k
    if (!fu_struct_synaprom_hdr_validate_internal(st, error))
717
0
        return FALSE;
718
4.29k
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
719
0
        g_autofree gchar *str = fu_struct_synaprom_hdr_to_string(st);
720
0
        g_debug("%s", str);
721
0
    }
722
4.29k
    return TRUE;
723
4.29k
}
724
/**
725
 * fu_struct_synaprom_hdr_parse_stream: (skip):
726
 **/
727
FuStructSynapromHdr *
728
fu_struct_synaprom_hdr_parse_stream(GInputStream *stream, gsize offset, GError **error)
729
4.29k
{
730
4.29k
    g_autoptr(GByteArray) st = NULL;
731
4.29k
    st = fu_input_stream_read_byte_array(stream, offset, 6, NULL, error);
732
4.29k
    if (st == NULL) {
733
0
        g_prefix_error(error, "FuStructSynapromHdr failed read of 0x%x: ", (guint) 6);
734
0
        return NULL;
735
0
    }
736
4.29k
    if (st->len != 6) {
737
0
        g_set_error(error,
738
0
                    FWUPD_ERROR,
739
0
                    FWUPD_ERROR_INVALID_DATA,
740
0
                    "FuStructSynapromHdr requested 0x%x and got 0x%x",
741
0
                    (guint) 6,
742
0
                    (guint) st->len);
743
0
        return NULL;
744
0
    }
745
4.29k
    if (!fu_struct_synaprom_hdr_parse_internal(st, error))
746
0
        return NULL;
747
4.29k
    return g_steal_pointer(&st);
748
4.29k
}
749
/* getters */
750
/**
751
 * fu_struct_synaprom_cfg_hdr_get_product: (skip):
752
 **/
753
guint32
754
fu_struct_synaprom_cfg_hdr_get_product(const FuStructSynapromCfgHdr *st)
755
0
{
756
0
    g_return_val_if_fail(st != NULL, 0x0);
757
0
    return fu_memread_uint32(st->data + 0, G_LITTLE_ENDIAN);
758
0
}
759
/**
760
 * fu_struct_synaprom_cfg_hdr_get_id1: (skip):
761
 **/
762
guint32
763
fu_struct_synaprom_cfg_hdr_get_id1(const FuStructSynapromCfgHdr *st)
764
0
{
765
0
    g_return_val_if_fail(st != NULL, 0x0);
766
0
    return fu_memread_uint32(st->data + 4, G_LITTLE_ENDIAN);
767
0
}
768
/**
769
 * fu_struct_synaprom_cfg_hdr_get_id2: (skip):
770
 **/
771
guint32
772
fu_struct_synaprom_cfg_hdr_get_id2(const FuStructSynapromCfgHdr *st)
773
0
{
774
0
    g_return_val_if_fail(st != NULL, 0x0);
775
0
    return fu_memread_uint32(st->data + 8, G_LITTLE_ENDIAN);
776
0
}
777
/**
778
 * fu_struct_synaprom_cfg_hdr_get_version: (skip):
779
 **/
780
guint16
781
fu_struct_synaprom_cfg_hdr_get_version(const FuStructSynapromCfgHdr *st)
782
0
{
783
0
    g_return_val_if_fail(st != NULL, 0x0);
784
0
    return fu_memread_uint16(st->data + 12, G_LITTLE_ENDIAN);
785
0
}
786
787
/* setters */
788
/**
789
 * fu_struct_synaprom_cfg_hdr_to_string: (skip):
790
 **/
791
static gchar *
792
fu_struct_synaprom_cfg_hdr_to_string(const FuStructSynapromCfgHdr *st)
793
0
{
794
0
    g_autoptr(GString) str = g_string_new("FuStructSynapromCfgHdr:\n");
795
0
    g_return_val_if_fail(st != NULL, NULL);
796
0
    g_string_append_printf(str, "  product: 0x%x\n",
797
0
                           (guint) fu_struct_synaprom_cfg_hdr_get_product(st));
798
0
    g_string_append_printf(str, "  id1: 0x%x\n",
799
0
                           (guint) fu_struct_synaprom_cfg_hdr_get_id1(st));
800
0
    g_string_append_printf(str, "  id2: 0x%x\n",
801
0
                           (guint) fu_struct_synaprom_cfg_hdr_get_id2(st));
802
0
    g_string_append_printf(str, "  version: 0x%x\n",
803
0
                           (guint) fu_struct_synaprom_cfg_hdr_get_version(st));
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_synaprom_cfg_hdr_validate_internal(FuStructSynapromCfgHdr *st, GError **error)
810
0
{
811
0
    g_return_val_if_fail(st != NULL, FALSE);
812
0
    return TRUE;
813
0
}
814
static gboolean
815
fu_struct_synaprom_cfg_hdr_parse_internal(FuStructSynapromCfgHdr *st, GError **error)
816
0
{
817
0
    if (!fu_struct_synaprom_cfg_hdr_validate_internal(st, error))
818
0
        return FALSE;
819
0
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
820
0
        g_autofree gchar *str = fu_struct_synaprom_cfg_hdr_to_string(st);
821
0
        g_debug("%s", str);
822
0
    }
823
0
    return TRUE;
824
0
}
825
/**
826
 * fu_struct_synaprom_cfg_hdr_parse_stream: (skip):
827
 **/
828
FuStructSynapromCfgHdr *
829
fu_struct_synaprom_cfg_hdr_parse_stream(GInputStream *stream, gsize offset, GError **error)
830
0
{
831
0
    g_autoptr(GByteArray) st = NULL;
832
0
    st = fu_input_stream_read_byte_array(stream, offset, 16, NULL, error);
833
0
    if (st == NULL) {
834
0
        g_prefix_error(error, "FuStructSynapromCfgHdr failed read of 0x%x: ", (guint) 16);
835
0
        return NULL;
836
0
    }
837
0
    if (st->len != 16) {
838
0
        g_set_error(error,
839
0
                    FWUPD_ERROR,
840
0
                    FWUPD_ERROR_INVALID_DATA,
841
0
                    "FuStructSynapromCfgHdr requested 0x%x and got 0x%x",
842
0
                    (guint) 16,
843
0
                    (guint) st->len);
844
0
        return NULL;
845
0
    }
846
0
    if (!fu_struct_synaprom_cfg_hdr_parse_internal(st, error))
847
0
        return NULL;
848
0
    return g_steal_pointer(&st);
849
0
}
850
/* getters */
851
/**
852
 * fu_struct_synaprom_iota_config_version_get_config_id1: (skip):
853
 **/
854
guint32
855
fu_struct_synaprom_iota_config_version_get_config_id1(const FuStructSynapromIotaConfigVersion *st)
856
0
{
857
0
    g_return_val_if_fail(st != NULL, 0x0);
858
0
    return fu_memread_uint32(st->data + 0, G_LITTLE_ENDIAN);
859
0
}
860
/**
861
 * fu_struct_synaprom_iota_config_version_get_config_id2: (skip):
862
 **/
863
guint32
864
fu_struct_synaprom_iota_config_version_get_config_id2(const FuStructSynapromIotaConfigVersion *st)
865
0
{
866
0
    g_return_val_if_fail(st != NULL, 0x0);
867
0
    return fu_memread_uint32(st->data + 4, G_LITTLE_ENDIAN);
868
0
}
869
/**
870
 * fu_struct_synaprom_iota_config_version_get_version: (skip):
871
 **/
872
guint16
873
fu_struct_synaprom_iota_config_version_get_version(const FuStructSynapromIotaConfigVersion *st)
874
0
{
875
0
    g_return_val_if_fail(st != NULL, 0x0);
876
0
    return fu_memread_uint16(st->data + 8, G_LITTLE_ENDIAN);
877
0
}
878
879
/* setters */
880
/**
881
 * fu_struct_synaprom_iota_config_version_to_string: (skip):
882
 **/
883
static gchar *
884
fu_struct_synaprom_iota_config_version_to_string(const FuStructSynapromIotaConfigVersion *st)
885
0
{
886
0
    g_autoptr(GString) str = g_string_new("FuStructSynapromIotaConfigVersion:\n");
887
0
    g_return_val_if_fail(st != NULL, NULL);
888
0
    g_string_append_printf(str, "  config_id1: 0x%x\n",
889
0
                           (guint) fu_struct_synaprom_iota_config_version_get_config_id1(st));
890
0
    g_string_append_printf(str, "  config_id2: 0x%x\n",
891
0
                           (guint) fu_struct_synaprom_iota_config_version_get_config_id2(st));
892
0
    g_string_append_printf(str, "  version: 0x%x\n",
893
0
                           (guint) fu_struct_synaprom_iota_config_version_get_version(st));
894
0
    if (str->len > 0)
895
0
        g_string_set_size(str, str->len - 1);
896
0
    return g_string_free(g_steal_pointer(&str), FALSE);
897
0
}
898
static gboolean
899
fu_struct_synaprom_iota_config_version_validate_internal(FuStructSynapromIotaConfigVersion *st, GError **error)
900
0
{
901
0
    g_return_val_if_fail(st != NULL, FALSE);
902
0
    return TRUE;
903
0
}
904
static gboolean
905
fu_struct_synaprom_iota_config_version_parse_internal(FuStructSynapromIotaConfigVersion *st, GError **error)
906
0
{
907
0
    if (!fu_struct_synaprom_iota_config_version_validate_internal(st, error))
908
0
        return FALSE;
909
0
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
910
0
        g_autofree gchar *str = fu_struct_synaprom_iota_config_version_to_string(st);
911
0
        g_debug("%s", str);
912
0
    }
913
0
    return TRUE;
914
0
}
915
916
/**
917
 * fu_struct_synaprom_iota_config_version_parse: (skip):
918
 **/
919
FuStructSynapromIotaConfigVersion *
920
fu_struct_synaprom_iota_config_version_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error)
921
0
{
922
0
    g_autoptr(GByteArray) st = g_byte_array_new();
923
0
    g_return_val_if_fail(buf != NULL, NULL);
924
0
    g_return_val_if_fail(error == NULL || *error == NULL, NULL);
925
0
    if (!fu_memchk_read(bufsz, offset, 16, error)) {
926
0
        g_prefix_error(error, "invalid struct FuStructSynapromIotaConfigVersion: ");
927
0
        return NULL;
928
0
    }
929
0
    g_byte_array_append(st, buf + offset, 16);
930
0
    if (!fu_struct_synaprom_iota_config_version_parse_internal(st, error))
931
0
        return NULL;
932
0
    return g_steal_pointer(&st);
933
0
}
934
/* getters */
935
/**
936
 * fu_struct_synaprom_reply_iota_find_hdr_get_status: (skip):
937
 **/
938
guint16
939
fu_struct_synaprom_reply_iota_find_hdr_get_status(const FuStructSynapromReplyIotaFindHdr *st)
940
0
{
941
0
    g_return_val_if_fail(st != NULL, 0x0);
942
0
    return fu_memread_uint16(st->data + 0, G_LITTLE_ENDIAN);
943
0
}
944
/**
945
 * fu_struct_synaprom_reply_iota_find_hdr_get_fullsize: (skip):
946
 **/
947
guint32
948
fu_struct_synaprom_reply_iota_find_hdr_get_fullsize(const FuStructSynapromReplyIotaFindHdr *st)
949
0
{
950
0
    g_return_val_if_fail(st != NULL, 0x0);
951
0
    return fu_memread_uint32(st->data + 2, G_LITTLE_ENDIAN);
952
0
}
953
/**
954
 * fu_struct_synaprom_reply_iota_find_hdr_get_nbytes: (skip):
955
 **/
956
guint16
957
fu_struct_synaprom_reply_iota_find_hdr_get_nbytes(const FuStructSynapromReplyIotaFindHdr *st)
958
0
{
959
0
    g_return_val_if_fail(st != NULL, 0x0);
960
0
    return fu_memread_uint16(st->data + 6, G_LITTLE_ENDIAN);
961
0
}
962
/**
963
 * fu_struct_synaprom_reply_iota_find_hdr_get_itype: (skip):
964
 **/
965
guint16
966
fu_struct_synaprom_reply_iota_find_hdr_get_itype(const FuStructSynapromReplyIotaFindHdr *st)
967
0
{
968
0
    g_return_val_if_fail(st != NULL, 0x0);
969
0
    return fu_memread_uint16(st->data + 8, G_LITTLE_ENDIAN);
970
0
}
971
972
/* setters */
973
/**
974
 * fu_struct_synaprom_reply_iota_find_hdr_to_string: (skip):
975
 **/
976
static gchar *
977
fu_struct_synaprom_reply_iota_find_hdr_to_string(const FuStructSynapromReplyIotaFindHdr *st)
978
0
{
979
0
    g_autoptr(GString) str = g_string_new("FuStructSynapromReplyIotaFindHdr:\n");
980
0
    g_return_val_if_fail(st != NULL, NULL);
981
0
    g_string_append_printf(str, "  status: 0x%x\n",
982
0
                           (guint) fu_struct_synaprom_reply_iota_find_hdr_get_status(st));
983
0
    g_string_append_printf(str, "  fullsize: 0x%x\n",
984
0
                           (guint) fu_struct_synaprom_reply_iota_find_hdr_get_fullsize(st));
985
0
    g_string_append_printf(str, "  nbytes: 0x%x\n",
986
0
                           (guint) fu_struct_synaprom_reply_iota_find_hdr_get_nbytes(st));
987
0
    g_string_append_printf(str, "  itype: 0x%x\n",
988
0
                           (guint) fu_struct_synaprom_reply_iota_find_hdr_get_itype(st));
989
0
    if (str->len > 0)
990
0
        g_string_set_size(str, str->len - 1);
991
0
    return g_string_free(g_steal_pointer(&str), FALSE);
992
0
}
993
static gboolean
994
fu_struct_synaprom_reply_iota_find_hdr_validate_internal(FuStructSynapromReplyIotaFindHdr *st, GError **error)
995
0
{
996
0
    g_return_val_if_fail(st != NULL, FALSE);
997
0
    return TRUE;
998
0
}
999
static gboolean
1000
fu_struct_synaprom_reply_iota_find_hdr_parse_internal(FuStructSynapromReplyIotaFindHdr *st, GError **error)
1001
0
{
1002
0
    if (!fu_struct_synaprom_reply_iota_find_hdr_validate_internal(st, error))
1003
0
        return FALSE;
1004
0
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
1005
0
        g_autofree gchar *str = fu_struct_synaprom_reply_iota_find_hdr_to_string(st);
1006
0
        g_debug("%s", str);
1007
0
    }
1008
0
    return TRUE;
1009
0
}
1010
1011
/**
1012
 * fu_struct_synaprom_reply_iota_find_hdr_parse: (skip):
1013
 **/
1014
FuStructSynapromReplyIotaFindHdr *
1015
fu_struct_synaprom_reply_iota_find_hdr_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error)
1016
0
{
1017
0
    g_autoptr(GByteArray) st = g_byte_array_new();
1018
0
    g_return_val_if_fail(buf != NULL, NULL);
1019
0
    g_return_val_if_fail(error == NULL || *error == NULL, NULL);
1020
0
    if (!fu_memchk_read(bufsz, offset, 10, error)) {
1021
0
        g_prefix_error(error, "invalid struct FuStructSynapromReplyIotaFindHdr: ");
1022
0
        return NULL;
1023
0
    }
1024
0
    g_byte_array_append(st, buf + offset, 10);
1025
0
    if (!fu_struct_synaprom_reply_iota_find_hdr_parse_internal(st, error))
1026
0
        return NULL;
1027
0
    return g_steal_pointer(&st);
1028
0
}
1029
/* getters */
1030
/**
1031
 * fu_struct_synaprom_cmd_iota_find_get_itype: (skip):
1032
 **/
1033
guint16
1034
fu_struct_synaprom_cmd_iota_find_get_itype(const FuStructSynapromCmdIotaFind *st)
1035
0
{
1036
0
    g_return_val_if_fail(st != NULL, 0x0);
1037
0
    return fu_memread_uint16(st->data + 0, G_LITTLE_ENDIAN);
1038
0
}
1039
/**
1040
 * fu_struct_synaprom_cmd_iota_find_get_flags: (skip):
1041
 **/
1042
guint16
1043
fu_struct_synaprom_cmd_iota_find_get_flags(const FuStructSynapromCmdIotaFind *st)
1044
0
{
1045
0
    g_return_val_if_fail(st != NULL, 0x0);
1046
0
    return fu_memread_uint16(st->data + 2, G_LITTLE_ENDIAN);
1047
0
}
1048
/**
1049
 * fu_struct_synaprom_cmd_iota_find_get_maxniotas: (skip):
1050
 **/
1051
guint8
1052
fu_struct_synaprom_cmd_iota_find_get_maxniotas(const FuStructSynapromCmdIotaFind *st)
1053
0
{
1054
0
    g_return_val_if_fail(st != NULL, 0x0);
1055
0
    return st->data[4];
1056
0
}
1057
/**
1058
 * fu_struct_synaprom_cmd_iota_find_get_firstidx: (skip):
1059
 **/
1060
guint8
1061
fu_struct_synaprom_cmd_iota_find_get_firstidx(const FuStructSynapromCmdIotaFind *st)
1062
0
{
1063
0
    g_return_val_if_fail(st != NULL, 0x0);
1064
0
    return st->data[5];
1065
0
}
1066
/**
1067
 * fu_struct_synaprom_cmd_iota_find_get_offset: (skip):
1068
 **/
1069
guint32
1070
fu_struct_synaprom_cmd_iota_find_get_offset(const FuStructSynapromCmdIotaFind *st)
1071
0
{
1072
0
    g_return_val_if_fail(st != NULL, 0x0);
1073
0
    return fu_memread_uint32(st->data + 8, G_LITTLE_ENDIAN);
1074
0
}
1075
/**
1076
 * fu_struct_synaprom_cmd_iota_find_get_nbytes: (skip):
1077
 **/
1078
guint32
1079
fu_struct_synaprom_cmd_iota_find_get_nbytes(const FuStructSynapromCmdIotaFind *st)
1080
0
{
1081
0
    g_return_val_if_fail(st != NULL, 0x0);
1082
0
    return fu_memread_uint32(st->data + 12, G_LITTLE_ENDIAN);
1083
0
}
1084
1085
/* setters */
1086
/**
1087
 * fu_struct_synaprom_cmd_iota_find_set_itype: (skip):
1088
 **/
1089
void
1090
fu_struct_synaprom_cmd_iota_find_set_itype(FuStructSynapromCmdIotaFind *st, guint16 value)
1091
0
{
1092
0
    g_return_if_fail(st != NULL);
1093
0
    fu_memwrite_uint16(st->data + 0, value, G_LITTLE_ENDIAN);
1094
0
}
1095
/**
1096
 * fu_struct_synaprom_cmd_iota_find_set_flags: (skip):
1097
 **/
1098
void
1099
fu_struct_synaprom_cmd_iota_find_set_flags(FuStructSynapromCmdIotaFind *st, guint16 value)
1100
0
{
1101
0
    g_return_if_fail(st != NULL);
1102
0
    fu_memwrite_uint16(st->data + 2, value, G_LITTLE_ENDIAN);
1103
0
}
1104
/**
1105
 * fu_struct_synaprom_cmd_iota_find_set_maxniotas: (skip):
1106
 **/
1107
void
1108
fu_struct_synaprom_cmd_iota_find_set_maxniotas(FuStructSynapromCmdIotaFind *st, guint8 value)
1109
0
{
1110
0
    g_return_if_fail(st != NULL);
1111
0
    st->data[4] = value;
1112
0
}
1113
/**
1114
 * fu_struct_synaprom_cmd_iota_find_set_firstidx: (skip):
1115
 **/
1116
void
1117
fu_struct_synaprom_cmd_iota_find_set_firstidx(FuStructSynapromCmdIotaFind *st, guint8 value)
1118
0
{
1119
0
    g_return_if_fail(st != NULL);
1120
0
    st->data[5] = value;
1121
0
}
1122
/**
1123
 * fu_struct_synaprom_cmd_iota_find_set_offset: (skip):
1124
 **/
1125
void
1126
fu_struct_synaprom_cmd_iota_find_set_offset(FuStructSynapromCmdIotaFind *st, guint32 value)
1127
0
{
1128
0
    g_return_if_fail(st != NULL);
1129
0
    fu_memwrite_uint32(st->data + 8, value, G_LITTLE_ENDIAN);
1130
0
}
1131
/**
1132
 * fu_struct_synaprom_cmd_iota_find_set_nbytes: (skip):
1133
 **/
1134
void
1135
fu_struct_synaprom_cmd_iota_find_set_nbytes(FuStructSynapromCmdIotaFind *st, guint32 value)
1136
0
{
1137
0
    g_return_if_fail(st != NULL);
1138
0
    fu_memwrite_uint32(st->data + 12, value, G_LITTLE_ENDIAN);
1139
0
}
1140
/**
1141
 * fu_struct_synaprom_cmd_iota_find_new: (skip):
1142
 **/
1143
FuStructSynapromCmdIotaFind *
1144
fu_struct_synaprom_cmd_iota_find_new(void)
1145
0
{
1146
0
    FuStructSynapromCmdIotaFind *st = g_byte_array_sized_new(16);
1147
0
    fu_byte_array_set_size(st, 16, 0x0);
1148
0
    return st;
1149
0
}