MCPcopy Create free account
hub / github.com/CE-Programming/CEmu / bootver_parse

Function bootver_parse

core/bootver.c:60–98  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58}
59
60bool bootver_parse(const uint8_t* data, boot_ver_t* boot_ver) {
61 uint32_t addr;
62 uint16_t major_minor, build;
63 uint8_t revision;
64
65 if (!data) {
66 return false;
67 }
68
69 /* _boot_GetBootVerMajor */
70 if (!parse_entry(data, 0x000080, &addr)) {
71 return false;
72 }
73 if (!parse_ver_16(data, addr, &major_minor)) {
74 return false;
75 }
76
77 /* _boot_GetBootVerMinor */
78 if (!parse_entry(data, 0x00008C, &addr)) {
79 return false;
80 }
81 if (!parse_ver_8(data, addr, &revision)) {
82 return false;
83 }
84
85 /* _boot_GetBootVerBuild */
86 if (!parse_entry(data, 0x000090, &addr)) {
87 return false;
88 }
89 if (!parse_ver_16(data, addr, &build)) {
90 return false;
91 }
92
93 boot_ver->major = (uint8_t)(major_minor >> 8);
94 boot_ver->minor = (uint8_t)major_minor;
95 boot_ver->revision = revision;
96 boot_ver->build = build;
97 return true;
98}
99
100bool bootver_check_ver(const boot_ver_t* ver, const boot_ver_t* check) {
101 if (ver->major != check->major) {

Callers 1

report_resetFunction · 0.85

Calls 3

parse_entryFunction · 0.85
parse_ver_16Function · 0.85
parse_ver_8Function · 0.85

Tested by

no test coverage detected