Coverage Report

Created: 2025-08-26 06:55

/work/fu-bcm57xx-struct.c
Line
Count
Source (jump to first uncovered line)
1
/* auto-generated, do not modify */
2
#include "config.h"
3
4
#include "fu-bcm57xx-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
/* getters */
14
/**
15
 * fu_struct_bcm57xx_nvram_header_get_magic: (skip):
16
 **/
17
guint32
18
fu_struct_bcm57xx_nvram_header_get_magic(const FuStructBcm57xxNvramHeader *st)
19
0
{
20
0
    g_return_val_if_fail(st != NULL, 0x0);
21
0
    return fu_memread_uint32(st->data + 0, G_BIG_ENDIAN);
22
0
}
23
/**
24
 * fu_struct_bcm57xx_nvram_header_get_phys_addr: (skip):
25
 **/
26
guint32
27
fu_struct_bcm57xx_nvram_header_get_phys_addr(const FuStructBcm57xxNvramHeader *st)
28
0
{
29
0
    g_return_val_if_fail(st != NULL, 0x0);
30
0
    return fu_memread_uint32(st->data + 4, G_BIG_ENDIAN);
31
0
}
32
/**
33
 * fu_struct_bcm57xx_nvram_header_get_size_wrds: (skip):
34
 **/
35
guint32
36
fu_struct_bcm57xx_nvram_header_get_size_wrds(const FuStructBcm57xxNvramHeader *st)
37
1.51k
{
38
1.51k
    g_return_val_if_fail(st != NULL, 0x0);
39
1.51k
    return fu_memread_uint32(st->data + 8, G_BIG_ENDIAN);
40
1.51k
}
41
/**
42
 * fu_struct_bcm57xx_nvram_header_get_offset: (skip):
43
 **/
44
guint32
45
fu_struct_bcm57xx_nvram_header_get_offset(const FuStructBcm57xxNvramHeader *st)
46
1.51k
{
47
1.51k
    g_return_val_if_fail(st != NULL, 0x0);
48
1.51k
    return fu_memread_uint32(st->data + 12, G_BIG_ENDIAN);
49
1.51k
}
50
/**
51
 * fu_struct_bcm57xx_nvram_header_get_crc: (skip):
52
 **/
53
guint32
54
fu_struct_bcm57xx_nvram_header_get_crc(const FuStructBcm57xxNvramHeader *st)
55
0
{
56
0
    g_return_val_if_fail(st != NULL, 0x0);
57
0
    return fu_memread_uint32(st->data + 16, G_BIG_ENDIAN);
58
0
}
59
60
/* setters */
61
/**
62
 * fu_struct_bcm57xx_nvram_header_to_string: (skip):
63
 **/
64
static gchar *
65
fu_struct_bcm57xx_nvram_header_to_string(const FuStructBcm57xxNvramHeader *st)
66
0
{
67
0
    g_autoptr(GString) str = g_string_new("FuStructBcm57xxNvramHeader:\n");
68
0
    g_return_val_if_fail(st != NULL, NULL);
69
0
    g_string_append_printf(str, "  magic: 0x%x\n",
70
0
                           (guint) fu_struct_bcm57xx_nvram_header_get_magic(st));
71
0
    g_string_append_printf(str, "  phys_addr: 0x%x\n",
72
0
                           (guint) fu_struct_bcm57xx_nvram_header_get_phys_addr(st));
73
0
    g_string_append_printf(str, "  size_wrds: 0x%x\n",
74
0
                           (guint) fu_struct_bcm57xx_nvram_header_get_size_wrds(st));
75
0
    g_string_append_printf(str, "  offset: 0x%x\n",
76
0
                           (guint) fu_struct_bcm57xx_nvram_header_get_offset(st));
77
0
    g_string_append_printf(str, "  crc: 0x%x\n",
78
0
                           (guint) fu_struct_bcm57xx_nvram_header_get_crc(st));
79
0
    if (str->len > 0)
80
0
        g_string_set_size(str, str->len - 1);
81
0
    return g_string_free(g_steal_pointer(&str), FALSE);
82
0
}
83
static gboolean
84
fu_struct_bcm57xx_nvram_header_validate_internal(FuStructBcm57xxNvramHeader *st, GError **error)
85
1.51k
{
86
1.51k
    g_return_val_if_fail(st != NULL, FALSE);
87
1.51k
    return TRUE;
88
1.51k
}
89
static gboolean
90
fu_struct_bcm57xx_nvram_header_parse_internal(FuStructBcm57xxNvramHeader *st, GError **error)
91
1.51k
{
92
1.51k
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
93
0
        g_autofree gchar *str = fu_struct_bcm57xx_nvram_header_to_string(st);
94
0
        g_debug("%s", str);
95
0
    }
96
1.51k
    if (!fu_struct_bcm57xx_nvram_header_validate_internal(st, error))
97
0
        return FALSE;
98
1.51k
    return TRUE;
99
1.51k
}
100
/**
101
 * fu_struct_bcm57xx_nvram_header_parse_stream: (skip):
102
 **/
103
FuStructBcm57xxNvramHeader *
104
fu_struct_bcm57xx_nvram_header_parse_stream(GInputStream *stream, gsize offset, GError **error)
105
1.51k
{
106
1.51k
    g_autoptr(GByteArray) st = NULL;
107
1.51k
    st = fu_input_stream_read_byte_array(stream, offset, 20, NULL, error);
108
1.51k
    if (st == NULL) {
109
0
        g_prefix_error(error, "FuStructBcm57xxNvramHeader failed read of 0x%x: ", (guint) 20);
110
0
        return NULL;
111
0
    }
112
1.51k
    if (st->len != 20) {
113
0
        g_set_error(error,
114
0
                    FWUPD_ERROR,
115
0
                    FWUPD_ERROR_INVALID_DATA,
116
0
                    "FuStructBcm57xxNvramHeader requested 0x%x and got 0x%x",
117
0
                    (guint) 20,
118
0
                    (guint) st->len);
119
0
        return NULL;
120
0
    }
121
1.51k
    if (!fu_struct_bcm57xx_nvram_header_parse_internal(st, error))
122
0
        return NULL;
123
1.51k
    return g_steal_pointer(&st);
124
1.51k
}
125
/* getters */
126
/**
127
 * fu_struct_bcm57xx_nvram_directory_get_addr: (skip):
128
 **/
129
guint32
130
fu_struct_bcm57xx_nvram_directory_get_addr(const FuStructBcm57xxNvramDirectory *st)
131
3.03k
{
132
3.03k
    g_return_val_if_fail(st != NULL, 0x0);
133
3.03k
    return fu_memread_uint32(st->data + 0, G_BIG_ENDIAN);
134
3.03k
}
135
/**
136
 * fu_struct_bcm57xx_nvram_directory_get_size_wrds: (skip):
137
 **/
138
guint32
139
fu_struct_bcm57xx_nvram_directory_get_size_wrds(const FuStructBcm57xxNvramDirectory *st)
140
3.03k
{
141
3.03k
    g_return_val_if_fail(st != NULL, 0x0);
142
3.03k
    return fu_memread_uint32(st->data + 4, G_BIG_ENDIAN);
143
3.03k
}
144
/**
145
 * fu_struct_bcm57xx_nvram_directory_get_offset: (skip):
146
 **/
147
guint32
148
fu_struct_bcm57xx_nvram_directory_get_offset(const FuStructBcm57xxNvramDirectory *st)
149
3.03k
{
150
3.03k
    g_return_val_if_fail(st != NULL, 0x0);
151
3.03k
    return fu_memread_uint32(st->data + 8, G_BIG_ENDIAN);
152
3.03k
}
153
154
/* setters */
155
/**
156
 * fu_struct_bcm57xx_nvram_directory_to_string: (skip):
157
 **/
158
static gchar *
159
fu_struct_bcm57xx_nvram_directory_to_string(const FuStructBcm57xxNvramDirectory *st)
160
0
{
161
0
    g_autoptr(GString) str = g_string_new("FuStructBcm57xxNvramDirectory:\n");
162
0
    g_return_val_if_fail(st != NULL, NULL);
163
0
    g_string_append_printf(str, "  addr: 0x%x\n",
164
0
                           (guint) fu_struct_bcm57xx_nvram_directory_get_addr(st));
165
0
    g_string_append_printf(str, "  size_wrds: 0x%x\n",
166
0
                           (guint) fu_struct_bcm57xx_nvram_directory_get_size_wrds(st));
167
0
    g_string_append_printf(str, "  offset: 0x%x\n",
168
0
                           (guint) fu_struct_bcm57xx_nvram_directory_get_offset(st));
169
0
    if (str->len > 0)
170
0
        g_string_set_size(str, str->len - 1);
171
0
    return g_string_free(g_steal_pointer(&str), FALSE);
172
0
}
173
static gboolean
174
fu_struct_bcm57xx_nvram_directory_validate_internal(FuStructBcm57xxNvramDirectory *st, GError **error)
175
3.03k
{
176
3.03k
    g_return_val_if_fail(st != NULL, FALSE);
177
3.03k
    return TRUE;
178
3.03k
}
179
static gboolean
180
fu_struct_bcm57xx_nvram_directory_parse_internal(FuStructBcm57xxNvramDirectory *st, GError **error)
181
3.03k
{
182
3.03k
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
183
0
        g_autofree gchar *str = fu_struct_bcm57xx_nvram_directory_to_string(st);
184
0
        g_debug("%s", str);
185
0
    }
186
3.03k
    if (!fu_struct_bcm57xx_nvram_directory_validate_internal(st, error))
187
0
        return FALSE;
188
3.03k
    return TRUE;
189
3.03k
}
190
/**
191
 * fu_struct_bcm57xx_nvram_directory_parse_stream: (skip):
192
 **/
193
FuStructBcm57xxNvramDirectory *
194
fu_struct_bcm57xx_nvram_directory_parse_stream(GInputStream *stream, gsize offset, GError **error)
195
3.03k
{
196
3.03k
    g_autoptr(GByteArray) st = NULL;
197
3.03k
    st = fu_input_stream_read_byte_array(stream, offset, 12, NULL, error);
198
3.03k
    if (st == NULL) {
199
0
        g_prefix_error(error, "FuStructBcm57xxNvramDirectory failed read of 0x%x: ", (guint) 12);
200
0
        return NULL;
201
0
    }
202
3.03k
    if (st->len != 12) {
203
0
        g_set_error(error,
204
0
                    FWUPD_ERROR,
205
0
                    FWUPD_ERROR_INVALID_DATA,
206
0
                    "FuStructBcm57xxNvramDirectory requested 0x%x and got 0x%x",
207
0
                    (guint) 12,
208
0
                    (guint) st->len);
209
0
        return NULL;
210
0
    }
211
3.03k
    if (!fu_struct_bcm57xx_nvram_directory_parse_internal(st, error))
212
0
        return NULL;
213
3.03k
    return g_steal_pointer(&st);
214
3.03k
}
215
/* getters */
216
/**
217
 * fu_struct_bcm57xx_nvram_info_get_mac_addr: (skip):
218
 **/
219
guint32
220
fu_struct_bcm57xx_nvram_info_get_mac_addr(const FuStructBcm57xxNvramInfo *st, guint idx)
221
1.63k
{
222
1.63k
    g_return_val_if_fail(st != NULL, 0x0);
223
1.63k
    return fu_memread_uint32(st->data + 0 + (sizeof(guint32) * idx),
224
1.63k
                                        G_BIG_ENDIAN);
225
1.63k
}
226
/**
227
 * fu_struct_bcm57xx_nvram_info_get_device: (skip):
228
 **/
229
guint16
230
fu_struct_bcm57xx_nvram_info_get_device(const FuStructBcm57xxNvramInfo *st)
231
1.63k
{
232
1.63k
    g_return_val_if_fail(st != NULL, 0x0);
233
1.63k
    return fu_memread_uint16(st->data + 44, G_BIG_ENDIAN);
234
1.63k
}
235
/**
236
 * fu_struct_bcm57xx_nvram_info_get_vendor: (skip):
237
 **/
238
guint16
239
fu_struct_bcm57xx_nvram_info_get_vendor(const FuStructBcm57xxNvramInfo *st)
240
1.63k
{
241
1.63k
    g_return_val_if_fail(st != NULL, 0x0);
242
1.63k
    return fu_memread_uint16(st->data + 46, G_BIG_ENDIAN);
243
1.63k
}
244
245
/* setters */
246
/**
247
 * fu_struct_bcm57xx_nvram_info_set_mac_addr: (skip):
248
 **/
249
void
250
fu_struct_bcm57xx_nvram_info_set_mac_addr(FuStructBcm57xxNvramInfo *st, guint idx, guint32 value)
251
0
{
252
0
    g_return_if_fail(st != NULL);
253
0
    g_return_if_fail(idx < 11);
254
0
    fu_memwrite_uint32(st->data + 0 + (sizeof(guint32) * idx),
255
0
                                  value,
256
0
                                  G_BIG_ENDIAN);
257
0
}
258
/**
259
 * fu_struct_bcm57xx_nvram_info_set_device: (skip):
260
 **/
261
void
262
fu_struct_bcm57xx_nvram_info_set_device(FuStructBcm57xxNvramInfo *st, guint16 value)
263
0
{
264
0
    g_return_if_fail(st != NULL);
265
0
    fu_memwrite_uint16(st->data + 44, value, G_BIG_ENDIAN);
266
0
}
267
/**
268
 * fu_struct_bcm57xx_nvram_info_set_vendor: (skip):
269
 **/
270
void
271
fu_struct_bcm57xx_nvram_info_set_vendor(FuStructBcm57xxNvramInfo *st, guint16 value)
272
0
{
273
0
    g_return_if_fail(st != NULL);
274
0
    fu_memwrite_uint16(st->data + 46, value, G_BIG_ENDIAN);
275
0
}
276
/**
277
 * fu_struct_bcm57xx_nvram_info_new: (skip):
278
 **/
279
FuStructBcm57xxNvramInfo *
280
fu_struct_bcm57xx_nvram_info_new(void)
281
0
{
282
0
    FuStructBcm57xxNvramInfo *st = g_byte_array_sized_new(140);
283
0
    fu_byte_array_set_size(st, 140, 0x0);
284
0
    return st;
285
0
}
286
/**
287
 * fu_struct_bcm57xx_nvram_info_to_string: (skip):
288
 **/
289
static gchar *
290
fu_struct_bcm57xx_nvram_info_to_string(const FuStructBcm57xxNvramInfo *st)
291
0
{
292
0
    g_autoptr(GString) str = g_string_new("FuStructBcm57xxNvramInfo:\n");
293
0
    g_return_val_if_fail(st != NULL, NULL);
294
0
    for (guint i = 0; i < 11; i++) {
295
0
        g_string_append_printf(str, "  mac_addr[%u]: 0x%x\n",
296
0
                               i, (guint) fu_struct_bcm57xx_nvram_info_get_mac_addr(st, i));
297
0
    }
298
0
    g_string_append_printf(str, "  device: 0x%x\n",
299
0
                           (guint) fu_struct_bcm57xx_nvram_info_get_device(st));
300
0
    g_string_append_printf(str, "  vendor: 0x%x\n",
301
0
                           (guint) fu_struct_bcm57xx_nvram_info_get_vendor(st));
302
0
    if (str->len > 0)
303
0
        g_string_set_size(str, str->len - 1);
304
0
    return g_string_free(g_steal_pointer(&str), FALSE);
305
0
}
306
static gboolean
307
fu_struct_bcm57xx_nvram_info_validate_internal(FuStructBcm57xxNvramInfo *st, GError **error)
308
1.63k
{
309
1.63k
    g_return_val_if_fail(st != NULL, FALSE);
310
1.63k
    return TRUE;
311
1.63k
}
312
static gboolean
313
fu_struct_bcm57xx_nvram_info_parse_internal(FuStructBcm57xxNvramInfo *st, GError **error)
314
1.63k
{
315
1.63k
    if (g_getenv("FWUPD_VERBOSE") != NULL) {
316
0
        g_autofree gchar *str = fu_struct_bcm57xx_nvram_info_to_string(st);
317
0
        g_debug("%s", str);
318
0
    }
319
1.63k
    if (!fu_struct_bcm57xx_nvram_info_validate_internal(st, error))
320
0
        return FALSE;
321
1.63k
    return TRUE;
322
1.63k
}
323
/**
324
 * fu_struct_bcm57xx_nvram_info_parse_stream: (skip):
325
 **/
326
FuStructBcm57xxNvramInfo *
327
fu_struct_bcm57xx_nvram_info_parse_stream(GInputStream *stream, gsize offset, GError **error)
328
1.63k
{
329
1.63k
    g_autoptr(GByteArray) st = NULL;
330
1.63k
    st = fu_input_stream_read_byte_array(stream, offset, 140, NULL, error);
331
1.63k
    if (st == NULL) {
332
0
        g_prefix_error(error, "FuStructBcm57xxNvramInfo failed read of 0x%x: ", (guint) 140);
333
0
        return NULL;
334
0
    }
335
1.63k
    if (st->len != 140) {
336
0
        g_set_error(error,
337
0
                    FWUPD_ERROR,
338
0
                    FWUPD_ERROR_INVALID_DATA,
339
0
                    "FuStructBcm57xxNvramInfo requested 0x%x and got 0x%x",
340
0
                    (guint) 140,
341
0
                    (guint) st->len);
342
0
        return NULL;
343
0
    }
344
1.63k
    if (!fu_struct_bcm57xx_nvram_info_parse_internal(st, error))
345
0
        return NULL;
346
1.63k
    return g_steal_pointer(&st);
347
1.63k
}