MCPcopy Create free account
hub / github.com/coreboot/coreboot / next_available_event_offset

Function next_available_event_offset

util/cbfstool/elogtool.c:129–148  ·  view source on GitHub ↗

Buffer offset must point to a valid event_header struct */

Source from the content-addressed store, hash-verified

127
128/* Buffer offset must point to a valid event_header struct */
129static size_t next_available_event_offset(const struct buffer *buf)
130{
131 const struct event_header *event;
132 struct buffer copy, *iter = ©
133
134 assert(buffer_offset(buf) >= sizeof(struct elog_header));
135
136 buffer_clone(iter, buf);
137
138 while (buffer_size(iter) >= sizeof(struct event_header)) {
139 event = buffer_get(iter);
140 if (event->type == ELOG_TYPE_EOL || event->length == 0)
141 break;
142
143 assert(event->length <= buffer_size(iter));
144 buffer_seek(iter, event->length);
145 }
146
147 return buffer_offset(iter) - buffer_offset(buf);
148}
149
150/*
151 * Shrinks buffer by ~bytes_to_shrink, then appends a LOG_CLEAR event,

Callers 3

shrink_bufferFunction · 0.85
cmd_clearFunction · 0.85
cmd_addFunction · 0.85

Calls 5

buffer_offsetFunction · 0.85
buffer_cloneFunction · 0.85
buffer_sizeFunction · 0.85
buffer_getFunction · 0.85
buffer_seekFunction · 0.85

Tested by

no test coverage detected