Coverage Report

Created: 2025-11-24 06:59

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
629k
{
31
629k
    g_return_if_fail(st != NULL);
32
629k
    if (st->refcount == 0) {
33
0
        g_critical("FuStructElanfpFirmwareHdr refcount already zero");
34
0
        return;
35
0
    }
36
629k
    if (--st->refcount > 0)
37
0
        return;
38
629k
    if (st->buf != NULL)
39
629k
        g_byte_array_unref(st->buf);
40
629k
    g_free(st);
41
629k
}
42
/**
43
 * fu_struct_elanfp_firmware_hdr_new_internal: (skip):
44
 **/
45
static FuStructElanfpFirmwareHdr *
46
fu_struct_elanfp_firmware_hdr_new_internal(void)
47
629k
{
48
629k
    FuStructElanfpFirmwareHdr *st = g_new0(FuStructElanfpFirmwareHdr, 1);
49
629k
    st->refcount = 1;
50
629k
    return st;
51
629k
}
52
53
/* getters */
54
/**
55
 * fu_struct_elanfp_firmware_hdr_get_magic: (skip):
56
 **/
57
static guint32
58
fu_struct_elanfp_firmware_hdr_get_magic(const FuStructElanfpFirmwareHdr *st)
59
1.25M
{
60
1.25M
    g_return_val_if_fail(st != NULL, 0x0);
61
1.25M
    return fu_memread_uint32(st->buf->data + 0, G_LITTLE_ENDIAN);
62
1.25M
}
63
64
/* setters */
65
static gboolean
66
fu_struct_elanfp_firmware_hdr_validate_internal(FuStructElanfpFirmwareHdr *st, GError **error)
67
629k
{
68
629k
    g_return_val_if_fail(st != NULL, FALSE);
69
629k
    if (fu_struct_elanfp_firmware_hdr_get_magic(st) != 0x46325354) {
70
628k
        g_set_error(error,
71
628k
                    FWUPD_ERROR,
72
628k
                    FWUPD_ERROR_INVALID_DATA,
73
628k
                    "constant FuStructElanfpFirmwareHdr.magic was not valid, "
74
628k
                    "expected 0x%x and got 0x%x",
75
628k
                    (guint) 0x46325354,
76
628k
                    (guint) fu_struct_elanfp_firmware_hdr_get_magic(st));
77
628k
        return FALSE;
78
628k
    }
79
615
    return TRUE;
80
629k
}
81
/**
82
 * fu_struct_elanfp_firmware_hdr_validate_stream: (skip):
83
 **/
84
gboolean
85
fu_struct_elanfp_firmware_hdr_validate_stream(GInputStream *stream, gsize offset, GError **error)
86
629k
{
87
629k
    g_autoptr(FuStructElanfpFirmwareHdr) st = fu_struct_elanfp_firmware_hdr_new_internal();
88
629k
    g_return_val_if_fail(G_IS_INPUT_STREAM(stream), FALSE);
89
629k
    g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
90
629k
    st->buf = fu_input_stream_read_byte_array(stream, offset, 4, NULL, error);
91
629k
    if (st->buf == NULL) {
92
0
        g_prefix_error(error, "FuStructElanfpFirmwareHdr failed read of 0x%x: ", (guint) 4);
93
0
        return FALSE;
94
0
    }
95
629k
    if (st->buf->len != 4) {
96
332
        g_set_error(error,
97
332
                    FWUPD_ERROR,
98
332
                    FWUPD_ERROR_INVALID_DATA,
99
332
                    "FuStructElanfpFirmwareHdr requested 0x%x and got 0x%x",
100
332
                    (guint) 4,
101
332
                    (guint) st->buf->len);
102
332
        return FALSE;
103
332
    }
104
629k
    return fu_struct_elanfp_firmware_hdr_validate_internal(st, error);
105
629k
}