Coverage Report

Created: 2026-08-08 06:57

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/systemd/src/basic/prioq.h
Line
Count
Source
1
/* SPDX-License-Identifier: LGPL-2.1-or-later */
2
#pragma once
3
4
#include "forward.h"
5
6
typedef struct Prioq Prioq;
7
8
26.1M
#define PRIOQ_IDX_NULL (UINT_MAX)
9
10
Prioq* prioq_new(compare_func_t compare);
11
Prioq* prioq_free(Prioq *q);
12
DEFINE_TRIVIAL_CLEANUP_FUNC(Prioq*, prioq_free);
13
int prioq_ensure_allocated(Prioq **q, compare_func_t compare_func);
14
15
int prioq_put(Prioq *q, void *data, unsigned *idx);
16
int _prioq_ensure_put(Prioq **q, compare_func_t compare_func, void *data, unsigned *idx);
17
#define prioq_ensure_put(q, compare_func, data, idx)                    \
18
1.70k
        ({                                                              \
19
1.70k
                int (*_func_)(const typeof((data)[0])*, const typeof((data)[0])*) = compare_func; \
20
1.70k
                _prioq_ensure_put(q, (compare_func_t) _func_, data, idx); \
21
1.70k
        })
22
23
int prioq_remove(Prioq *q, void *data, unsigned *idx);
24
void prioq_reshuffle(Prioq *q, void *data, unsigned *idx);
25
26
void* prioq_peek_by_index(Prioq *q, unsigned idx) _pure_;
27
35.1M
static inline void *prioq_peek(Prioq *q) {
28
35.1M
        return prioq_peek_by_index(q, 0);
29
35.1M
}
Unexecuted instantiation: udev-manager.c:prioq_peek
Unexecuted instantiation: journald-context.c:prioq_peek
journald-manager.c:prioq_peek
Line
Count
Source
27
15.0k
static inline void *prioq_peek(Prioq *q) {
28
15.0k
        return prioq_peek_by_index(q, 0);
29
15.0k
}
journald-sync.c:prioq_peek
Line
Count
Source
27
4.61k
static inline void *prioq_peek(Prioq *q) {
28
4.61k
        return prioq_peek_by_index(q, 0);
29
4.61k
}
Unexecuted instantiation: resolved-dns-cache.c:prioq_peek
dhcp-relay-upstream.c:prioq_peek
Line
Count
Source
27
277
static inline void *prioq_peek(Prioq *q) {
28
277
        return prioq_peek_by_index(q, 0);
29
277
}
Unexecuted instantiation: sd-dhcp-relay.c:prioq_peek
sd-lldp-rx.c:prioq_peek
Line
Count
Source
27
802
static inline void *prioq_peek(Prioq *q) {
28
802
        return prioq_peek_by_index(q, 0);
29
802
}
Unexecuted instantiation: lldp-neighbor.c:prioq_peek
Unexecuted instantiation: prioq.c:prioq_peek
Unexecuted instantiation: journal-file.c:prioq_peek
sd-journal.c:prioq_peek
Line
Count
Source
27
9.07k
static inline void *prioq_peek(Prioq *q) {
28
9.07k
        return prioq_peek_by_index(q, 0);
29
9.07k
}
sd-event.c:prioq_peek
Line
Count
Source
27
35.1M
static inline void *prioq_peek(Prioq *q) {
28
35.1M
        return prioq_peek_by_index(q, 0);
29
35.1M
}
Unexecuted instantiation: bus-slot.c:prioq_peek
Unexecuted instantiation: sd-bus.c:prioq_peek
Unexecuted instantiation: netlink-slot.c:prioq_peek
Unexecuted instantiation: sd-netlink.c:prioq_peek
Unexecuted instantiation: job.c:prioq_peek
Unexecuted instantiation: manager.c:prioq_peek
30
void* prioq_pop(Prioq *q);
31
32
#define PRIOQ_FOREACH_ITEM(q, p)                                \
33
        for (unsigned _i = 0; (p = prioq_peek_by_index(q, _i)); _i++)
34
35
unsigned prioq_size(Prioq *q) _pure_;
36
bool prioq_isempty(Prioq *q) _pure_;