Coverage Report

Created: 2025-11-11 06:44

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/work/fu-elanfp-struct.c
Line
Count
Source
1
/* auto-generated, do not modify */
2
#include "config.h"
3
4
#include <glib.h>
5
6
#include "fu-elanfp-struct.h"
7
#include "fu-byte-array.h"
8
#include "fu-mem-private.h"
9
#include "fu-string.h"
10
11
#ifdef G_LOG_DOMAIN
12
  #undef G_LOG_DOMAIN
13
#endif
14
0
#define G_LOG_DOMAIN "FuStruct"
15
/**
16
 * fu_struct_elanfp_firmware_hdr_ref: (skip):
17
 **/
18
FuStructElanfpFirmwareHdr *
19
fu_struct_elanfp_firmware_hdr_ref(FuStructElanfpFirmwareHdr *st)
20
0
{
21
0
    g_return_val_if_fail(st != NULL, NULL);
22
0
    st->refcount++;
23
0
    return st;
24
0
}
25
/**
26
 * fu_struct_elanfp_firmware_hdr_unref: (skip):
27
 **/
28
void
29
fu_struct_elanfp_firmware_hdr_unref(FuStructElanfpFirmwareHdr *st)
30
506k
{
31
506k
    g_return_if_fail(st != NULL);
32
506k
    if (st->refcount == 0) {
33
0
        g_critical("FuStructElanfpFirmwareHdr refcount already zero");
34
0
        return;
35
0
    }
36
506k
    if (--st->refcount > 0)
37
0
        return;
38
506k
    if (st->buf != NULL)
39
506k
        g_byte_array_unref(st->buf);
40
506k
    g_free(st);
41
506k
}
42
static FuStructElanfpFirmwareHdr *
43
fu_struct_elanfp_firmware_hdr_new_internal(void)
44
506k
{
45
506k
    FuStructElanfpFirmwareHdr *st = g_new0(FuStructElanfpFirmwareHdr, 1);
46
506k
    st->refcount = 1;
47
506k
    return st;
48
506k
}
49
50
/* getters */
51
/**
52
 * fu_struct_elanfp_firmware_hdr_get_magic: (skip):
53
 **/
54
static guint32
55
fu_struct_elanfp_firmware_hdr_get_magic(const FuStructElanfpFirmwareHdr *st)
56
1.01M
{
57
1.01M
    g_return_val_if_fail(st != NULL, 0x0);
58
1.01M
    return fu_memread_uint32(st->buf->data + 0, G_LITTLE_ENDIAN);
59
1.01M
}
60
61
/* setters */
62
static gboolean
63
fu_struct_elanfp_firmware_hdr_validate_internal(FuStructElanfpFirmwareHdr *st, GError **error)
64
505k
{
65
505k
    g_return_val_if_fail(st != NULL, FALSE);
66
505k
    if (fu_struct_elanfp_firmware_hdr_get_magic(st) != 0x46325354) {
67
505k
        g_set_error(error,
68
505k
                    FWUPD_ERROR,
69
505k
                    FWUPD_ERROR_INVALID_DATA,
70
505k
                    "constant FuStructElanfpFirmwareHdr.magic was not valid, "
71
505k
                    "expected 0x%x and got 0x%x",
72
505k
                    (guint) 0x46325354,
73
505k
                    (guint) fu_struct_elanfp_firmware_hdr_get_magic(st));
74
505k
        return FALSE;
75
505k
    }
76
598
    return TRUE;
77
505k
}
78
/**
79
 * fu_struct_elanfp_firmware_hdr_validate_stream: (skip):
80
 **/
81
gboolean
82
fu_struct_elanfp_firmware_hdr_validate_stream(GInputStream *stream, gsize offset, GError **error)
83
506k
{
84
506k
    g_autoptr(FuStructElanfpFirmwareHdr) st = fu_struct_elanfp_firmware_hdr_new_internal();
85
506k
    g_return_val_if_fail(G_IS_INPUT_STREAM(stream), FALSE);
86
506k
    g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
87
506k
    st->buf = fu_input_stream_read_byte_array(stream, offset, 4, NULL, error);
88
506k
    if (st->buf == NULL) {
89
0
        g_prefix_error(error, "FuStructElanfpFirmwareHdr failed read of 0x%x: ", (guint) 4);
90
0
        return FALSE;
91
0
    }
92
506k
    if (st->buf->len != 4) {
93
315
        g_set_error(error,
94
315
                    FWUPD_ERROR,
95
315
                    FWUPD_ERROR_INVALID_DATA,
96
315
                    "FuStructElanfpFirmwareHdr requested 0x%x and got 0x%x",
97
315
                    (guint) 4,
98
315
                    (guint) st->buf->len);
99
315
        return FALSE;
100
315
    }
101
505k
    return fu_struct_elanfp_firmware_hdr_validate_internal(st, error);
102
506k
}