/src/haproxy/include/import/cebtree.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Compact Elastic Binary Trees - exported functions operating on node's address |
3 | | * |
4 | | * Copyright (C) 2014-2024 Willy Tarreau - w@1wt.eu |
5 | | * |
6 | | * Permission is hereby granted, free of charge, to any person obtaining |
7 | | * a copy of this software and associated documentation files (the |
8 | | * "Software"), to deal in the Software without restriction, including |
9 | | * without limitation the rights to use, copy, modify, merge, publish, |
10 | | * distribute, sublicense, and/or sell copies of the Software, and to |
11 | | * permit persons to whom the Software is furnished to do so, subject to |
12 | | * the following conditions: |
13 | | * |
14 | | * The above copyright notice and this permission notice shall be |
15 | | * included in all copies or substantial portions of the Software. |
16 | | * |
17 | | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
18 | | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
19 | | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
20 | | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
21 | | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
22 | | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
23 | | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
24 | | * OTHER DEALINGS IN THE SOFTWARE. |
25 | | */ |
26 | | |
27 | | #ifndef _CEBTREE_H |
28 | | #define _CEBTREE_H |
29 | | |
30 | | #include <stddef.h> |
31 | | #include "ebtree.h" |
32 | | |
33 | | /* Standard node when using absolute pointers */ |
34 | | struct ceb_node { |
35 | | struct ceb_node *b[2]; /* branches: 0=left, 1=right */ |
36 | | }; |
37 | | |
38 | | /* indicates whether a valid node is in a tree or not */ |
39 | | static inline int ceb_intree(const struct ceb_node *node) |
40 | 0 | { |
41 | 0 | return !!node->b[0]; |
42 | 0 | } Unexecuted instantiation: fuzz_hpack_decode.c:ceb_intree Unexecuted instantiation: fuzz_cfg_parser.c:ceb_intree Unexecuted instantiation: cfgparse.c:ceb_intree Unexecuted instantiation: chunk.c:ceb_intree Unexecuted instantiation: cli.c:ceb_intree Unexecuted instantiation: clock.c:ceb_intree Unexecuted instantiation: connection.c:ceb_intree Unexecuted instantiation: debug.c:ceb_intree Unexecuted instantiation: dynbuf.c:ceb_intree Unexecuted instantiation: errors.c:ceb_intree Unexecuted instantiation: fd.c:ceb_intree Unexecuted instantiation: filters.c:ceb_intree Unexecuted instantiation: flt_http_comp.c:ceb_intree Unexecuted instantiation: freq_ctr.c:ceb_intree Unexecuted instantiation: frontend.c:ceb_intree Unexecuted instantiation: haproxy.c:ceb_intree Unexecuted instantiation: http.c:ceb_intree Unexecuted instantiation: http_ana.c:ceb_intree Unexecuted instantiation: http_ext.c:ceb_intree Unexecuted instantiation: http_htx.c:ceb_intree Unexecuted instantiation: http_rules.c:ceb_intree Unexecuted instantiation: lb_chash.c:ceb_intree Unexecuted instantiation: lb_fas.c:ceb_intree Unexecuted instantiation: lb_fwlc.c:ceb_intree Unexecuted instantiation: lb_fwrr.c:ceb_intree Unexecuted instantiation: lb_map.c:ceb_intree Unexecuted instantiation: lb_ss.c:ceb_intree Unexecuted instantiation: limits.c:ceb_intree Unexecuted instantiation: listener.c:ceb_intree Unexecuted instantiation: log.c:ceb_intree Unexecuted instantiation: mailers.c:ceb_intree Unexecuted instantiation: mworker.c:ceb_intree Unexecuted instantiation: peers.c:ceb_intree Unexecuted instantiation: pool.c:ceb_intree Unexecuted instantiation: proto_rhttp.c:ceb_intree Unexecuted instantiation: proto_sockpair.c:ceb_intree Unexecuted instantiation: protocol.c:ceb_intree Unexecuted instantiation: proxy.c:ceb_intree Unexecuted instantiation: queue.c:ceb_intree Unexecuted instantiation: regex.c:ceb_intree Unexecuted instantiation: resolvers.c:ceb_intree Unexecuted instantiation: ring.c:ceb_intree Unexecuted instantiation: sample.c:ceb_intree Unexecuted instantiation: server.c:ceb_intree Unexecuted instantiation: session.c:ceb_intree Unexecuted instantiation: sink.c:ceb_intree Unexecuted instantiation: sock.c:ceb_intree Unexecuted instantiation: sock_inet.c:ceb_intree Unexecuted instantiation: stats-html.c:ceb_intree Unexecuted instantiation: stats.c:ceb_intree Unexecuted instantiation: stconn.c:ceb_intree Unexecuted instantiation: stick_table.c:ceb_intree Unexecuted instantiation: stream.c:ceb_intree Unexecuted instantiation: systemd.c:ceb_intree Unexecuted instantiation: task.c:ceb_intree Unexecuted instantiation: tcp_rules.c:ceb_intree Unexecuted instantiation: tcpcheck.c:ceb_intree Unexecuted instantiation: thread.c:ceb_intree Unexecuted instantiation: tools.c:ceb_intree Unexecuted instantiation: trace.c:ceb_intree Unexecuted instantiation: uri_auth.c:ceb_intree Unexecuted instantiation: vars.c:ceb_intree Unexecuted instantiation: acl.c:ceb_intree Unexecuted instantiation: action.c:ceb_intree Unexecuted instantiation: activity.c:ceb_intree Unexecuted instantiation: applet.c:ceb_intree Unexecuted instantiation: arg.c:ceb_intree Unexecuted instantiation: backend.c:ceb_intree Unexecuted instantiation: cache.c:ceb_intree Unexecuted instantiation: cebu64_tree.c:ceb_intree Unexecuted instantiation: cebus_tree.c:ceb_intree Unexecuted instantiation: cfgcond.c:ceb_intree Unexecuted instantiation: cfgparse-global.c:ceb_intree Unexecuted instantiation: cfgparse-listen.c:ceb_intree Unexecuted instantiation: channel.c:ceb_intree Unexecuted instantiation: check.c:ceb_intree Unexecuted instantiation: compression.c:ceb_intree Unexecuted instantiation: dgram.c:ceb_intree Unexecuted instantiation: dns.c:ceb_intree Unexecuted instantiation: dns_ring.c:ceb_intree Unexecuted instantiation: event_hdl.c:ceb_intree Unexecuted instantiation: extcheck.c:ceb_intree Unexecuted instantiation: fcgi-app.c:ceb_intree Unexecuted instantiation: fix.c:ceb_intree Unexecuted instantiation: guid.c:ceb_intree Unexecuted instantiation: h1.c:ceb_intree Unexecuted instantiation: http_fetch.c:ceb_intree Unexecuted instantiation: mqtt.c:ceb_intree Unexecuted instantiation: mux_spop.c:ceb_intree Unexecuted instantiation: pattern.c:ceb_intree Unexecuted instantiation: payload.c:ceb_intree Unexecuted instantiation: proto_tcp.c:ceb_intree Unexecuted instantiation: shctx.c:ceb_intree Unexecuted instantiation: stats-file.c:ceb_intree Unexecuted instantiation: stats-json.c:ceb_intree Unexecuted instantiation: stats-proxy.c:ceb_intree Unexecuted instantiation: flt_spoe.c:ceb_intree Unexecuted instantiation: h1_htx.c:ceb_intree |
43 | | |
44 | | /* tag an untagged pointer */ |
45 | | static inline struct ceb_node *__ceb_dotag(const struct ceb_node *node) |
46 | 0 | { |
47 | 0 | return (struct ceb_node *)((size_t)node + 1); |
48 | 0 | } Unexecuted instantiation: fuzz_hpack_decode.c:__ceb_dotag Unexecuted instantiation: fuzz_cfg_parser.c:__ceb_dotag Unexecuted instantiation: cfgparse.c:__ceb_dotag Unexecuted instantiation: chunk.c:__ceb_dotag Unexecuted instantiation: cli.c:__ceb_dotag Unexecuted instantiation: clock.c:__ceb_dotag Unexecuted instantiation: connection.c:__ceb_dotag Unexecuted instantiation: debug.c:__ceb_dotag Unexecuted instantiation: dynbuf.c:__ceb_dotag Unexecuted instantiation: errors.c:__ceb_dotag Unexecuted instantiation: fd.c:__ceb_dotag Unexecuted instantiation: filters.c:__ceb_dotag Unexecuted instantiation: flt_http_comp.c:__ceb_dotag Unexecuted instantiation: freq_ctr.c:__ceb_dotag Unexecuted instantiation: frontend.c:__ceb_dotag Unexecuted instantiation: haproxy.c:__ceb_dotag Unexecuted instantiation: http.c:__ceb_dotag Unexecuted instantiation: http_ana.c:__ceb_dotag Unexecuted instantiation: http_ext.c:__ceb_dotag Unexecuted instantiation: http_htx.c:__ceb_dotag Unexecuted instantiation: http_rules.c:__ceb_dotag Unexecuted instantiation: lb_chash.c:__ceb_dotag Unexecuted instantiation: lb_fas.c:__ceb_dotag Unexecuted instantiation: lb_fwlc.c:__ceb_dotag Unexecuted instantiation: lb_fwrr.c:__ceb_dotag Unexecuted instantiation: lb_map.c:__ceb_dotag Unexecuted instantiation: lb_ss.c:__ceb_dotag Unexecuted instantiation: limits.c:__ceb_dotag Unexecuted instantiation: listener.c:__ceb_dotag Unexecuted instantiation: log.c:__ceb_dotag Unexecuted instantiation: mailers.c:__ceb_dotag Unexecuted instantiation: mworker.c:__ceb_dotag Unexecuted instantiation: peers.c:__ceb_dotag Unexecuted instantiation: pool.c:__ceb_dotag Unexecuted instantiation: proto_rhttp.c:__ceb_dotag Unexecuted instantiation: proto_sockpair.c:__ceb_dotag Unexecuted instantiation: protocol.c:__ceb_dotag Unexecuted instantiation: proxy.c:__ceb_dotag Unexecuted instantiation: queue.c:__ceb_dotag Unexecuted instantiation: regex.c:__ceb_dotag Unexecuted instantiation: resolvers.c:__ceb_dotag Unexecuted instantiation: ring.c:__ceb_dotag Unexecuted instantiation: sample.c:__ceb_dotag Unexecuted instantiation: server.c:__ceb_dotag Unexecuted instantiation: session.c:__ceb_dotag Unexecuted instantiation: sink.c:__ceb_dotag Unexecuted instantiation: sock.c:__ceb_dotag Unexecuted instantiation: sock_inet.c:__ceb_dotag Unexecuted instantiation: stats-html.c:__ceb_dotag Unexecuted instantiation: stats.c:__ceb_dotag Unexecuted instantiation: stconn.c:__ceb_dotag Unexecuted instantiation: stick_table.c:__ceb_dotag Unexecuted instantiation: stream.c:__ceb_dotag Unexecuted instantiation: systemd.c:__ceb_dotag Unexecuted instantiation: task.c:__ceb_dotag Unexecuted instantiation: tcp_rules.c:__ceb_dotag Unexecuted instantiation: tcpcheck.c:__ceb_dotag Unexecuted instantiation: thread.c:__ceb_dotag Unexecuted instantiation: tools.c:__ceb_dotag Unexecuted instantiation: trace.c:__ceb_dotag Unexecuted instantiation: uri_auth.c:__ceb_dotag Unexecuted instantiation: vars.c:__ceb_dotag Unexecuted instantiation: acl.c:__ceb_dotag Unexecuted instantiation: action.c:__ceb_dotag Unexecuted instantiation: activity.c:__ceb_dotag Unexecuted instantiation: applet.c:__ceb_dotag Unexecuted instantiation: arg.c:__ceb_dotag Unexecuted instantiation: backend.c:__ceb_dotag Unexecuted instantiation: cache.c:__ceb_dotag Unexecuted instantiation: cebu64_tree.c:__ceb_dotag Unexecuted instantiation: cebus_tree.c:__ceb_dotag Unexecuted instantiation: cfgcond.c:__ceb_dotag Unexecuted instantiation: cfgparse-global.c:__ceb_dotag Unexecuted instantiation: cfgparse-listen.c:__ceb_dotag Unexecuted instantiation: channel.c:__ceb_dotag Unexecuted instantiation: check.c:__ceb_dotag Unexecuted instantiation: compression.c:__ceb_dotag Unexecuted instantiation: dgram.c:__ceb_dotag Unexecuted instantiation: dns.c:__ceb_dotag Unexecuted instantiation: dns_ring.c:__ceb_dotag Unexecuted instantiation: event_hdl.c:__ceb_dotag Unexecuted instantiation: extcheck.c:__ceb_dotag Unexecuted instantiation: fcgi-app.c:__ceb_dotag Unexecuted instantiation: fix.c:__ceb_dotag Unexecuted instantiation: guid.c:__ceb_dotag Unexecuted instantiation: h1.c:__ceb_dotag Unexecuted instantiation: http_fetch.c:__ceb_dotag Unexecuted instantiation: mqtt.c:__ceb_dotag Unexecuted instantiation: mux_spop.c:__ceb_dotag Unexecuted instantiation: pattern.c:__ceb_dotag Unexecuted instantiation: payload.c:__ceb_dotag Unexecuted instantiation: proto_tcp.c:__ceb_dotag Unexecuted instantiation: shctx.c:__ceb_dotag Unexecuted instantiation: stats-file.c:__ceb_dotag Unexecuted instantiation: stats-json.c:__ceb_dotag Unexecuted instantiation: stats-proxy.c:__ceb_dotag Unexecuted instantiation: flt_spoe.c:__ceb_dotag Unexecuted instantiation: h1_htx.c:__ceb_dotag |
49 | | |
50 | | /* untag a tagged pointer */ |
51 | | static inline struct ceb_node *__ceb_untag(const struct ceb_node *node) |
52 | 0 | { |
53 | 0 | return (struct ceb_node *)((size_t)node - 1); |
54 | 0 | } Unexecuted instantiation: fuzz_hpack_decode.c:__ceb_untag Unexecuted instantiation: fuzz_cfg_parser.c:__ceb_untag Unexecuted instantiation: cfgparse.c:__ceb_untag Unexecuted instantiation: chunk.c:__ceb_untag Unexecuted instantiation: cli.c:__ceb_untag Unexecuted instantiation: clock.c:__ceb_untag Unexecuted instantiation: connection.c:__ceb_untag Unexecuted instantiation: debug.c:__ceb_untag Unexecuted instantiation: dynbuf.c:__ceb_untag Unexecuted instantiation: errors.c:__ceb_untag Unexecuted instantiation: fd.c:__ceb_untag Unexecuted instantiation: filters.c:__ceb_untag Unexecuted instantiation: flt_http_comp.c:__ceb_untag Unexecuted instantiation: freq_ctr.c:__ceb_untag Unexecuted instantiation: frontend.c:__ceb_untag Unexecuted instantiation: haproxy.c:__ceb_untag Unexecuted instantiation: http.c:__ceb_untag Unexecuted instantiation: http_ana.c:__ceb_untag Unexecuted instantiation: http_ext.c:__ceb_untag Unexecuted instantiation: http_htx.c:__ceb_untag Unexecuted instantiation: http_rules.c:__ceb_untag Unexecuted instantiation: lb_chash.c:__ceb_untag Unexecuted instantiation: lb_fas.c:__ceb_untag Unexecuted instantiation: lb_fwlc.c:__ceb_untag Unexecuted instantiation: lb_fwrr.c:__ceb_untag Unexecuted instantiation: lb_map.c:__ceb_untag Unexecuted instantiation: lb_ss.c:__ceb_untag Unexecuted instantiation: limits.c:__ceb_untag Unexecuted instantiation: listener.c:__ceb_untag Unexecuted instantiation: log.c:__ceb_untag Unexecuted instantiation: mailers.c:__ceb_untag Unexecuted instantiation: mworker.c:__ceb_untag Unexecuted instantiation: peers.c:__ceb_untag Unexecuted instantiation: pool.c:__ceb_untag Unexecuted instantiation: proto_rhttp.c:__ceb_untag Unexecuted instantiation: proto_sockpair.c:__ceb_untag Unexecuted instantiation: protocol.c:__ceb_untag Unexecuted instantiation: proxy.c:__ceb_untag Unexecuted instantiation: queue.c:__ceb_untag Unexecuted instantiation: regex.c:__ceb_untag Unexecuted instantiation: resolvers.c:__ceb_untag Unexecuted instantiation: ring.c:__ceb_untag Unexecuted instantiation: sample.c:__ceb_untag Unexecuted instantiation: server.c:__ceb_untag Unexecuted instantiation: session.c:__ceb_untag Unexecuted instantiation: sink.c:__ceb_untag Unexecuted instantiation: sock.c:__ceb_untag Unexecuted instantiation: sock_inet.c:__ceb_untag Unexecuted instantiation: stats-html.c:__ceb_untag Unexecuted instantiation: stats.c:__ceb_untag Unexecuted instantiation: stconn.c:__ceb_untag Unexecuted instantiation: stick_table.c:__ceb_untag Unexecuted instantiation: stream.c:__ceb_untag Unexecuted instantiation: systemd.c:__ceb_untag Unexecuted instantiation: task.c:__ceb_untag Unexecuted instantiation: tcp_rules.c:__ceb_untag Unexecuted instantiation: tcpcheck.c:__ceb_untag Unexecuted instantiation: thread.c:__ceb_untag Unexecuted instantiation: tools.c:__ceb_untag Unexecuted instantiation: trace.c:__ceb_untag Unexecuted instantiation: uri_auth.c:__ceb_untag Unexecuted instantiation: vars.c:__ceb_untag Unexecuted instantiation: acl.c:__ceb_untag Unexecuted instantiation: action.c:__ceb_untag Unexecuted instantiation: activity.c:__ceb_untag Unexecuted instantiation: applet.c:__ceb_untag Unexecuted instantiation: arg.c:__ceb_untag Unexecuted instantiation: backend.c:__ceb_untag Unexecuted instantiation: cache.c:__ceb_untag Unexecuted instantiation: cebu64_tree.c:__ceb_untag Unexecuted instantiation: cebus_tree.c:__ceb_untag Unexecuted instantiation: cfgcond.c:__ceb_untag Unexecuted instantiation: cfgparse-global.c:__ceb_untag Unexecuted instantiation: cfgparse-listen.c:__ceb_untag Unexecuted instantiation: channel.c:__ceb_untag Unexecuted instantiation: check.c:__ceb_untag Unexecuted instantiation: compression.c:__ceb_untag Unexecuted instantiation: dgram.c:__ceb_untag Unexecuted instantiation: dns.c:__ceb_untag Unexecuted instantiation: dns_ring.c:__ceb_untag Unexecuted instantiation: event_hdl.c:__ceb_untag Unexecuted instantiation: extcheck.c:__ceb_untag Unexecuted instantiation: fcgi-app.c:__ceb_untag Unexecuted instantiation: fix.c:__ceb_untag Unexecuted instantiation: guid.c:__ceb_untag Unexecuted instantiation: h1.c:__ceb_untag Unexecuted instantiation: http_fetch.c:__ceb_untag Unexecuted instantiation: mqtt.c:__ceb_untag Unexecuted instantiation: mux_spop.c:__ceb_untag Unexecuted instantiation: pattern.c:__ceb_untag Unexecuted instantiation: payload.c:__ceb_untag Unexecuted instantiation: proto_tcp.c:__ceb_untag Unexecuted instantiation: shctx.c:__ceb_untag Unexecuted instantiation: stats-file.c:__ceb_untag Unexecuted instantiation: stats-json.c:__ceb_untag Unexecuted instantiation: stats-proxy.c:__ceb_untag Unexecuted instantiation: flt_spoe.c:__ceb_untag Unexecuted instantiation: h1_htx.c:__ceb_untag |
55 | | |
56 | | /* clear a pointer's tag */ |
57 | | static inline struct ceb_node *__ceb_clrtag(const struct ceb_node *node) |
58 | 0 | { |
59 | 0 | return (struct ceb_node *)((size_t)node & ~((size_t)1)); |
60 | 0 | } Unexecuted instantiation: fuzz_hpack_decode.c:__ceb_clrtag Unexecuted instantiation: fuzz_cfg_parser.c:__ceb_clrtag Unexecuted instantiation: cfgparse.c:__ceb_clrtag Unexecuted instantiation: chunk.c:__ceb_clrtag Unexecuted instantiation: cli.c:__ceb_clrtag Unexecuted instantiation: clock.c:__ceb_clrtag Unexecuted instantiation: connection.c:__ceb_clrtag Unexecuted instantiation: debug.c:__ceb_clrtag Unexecuted instantiation: dynbuf.c:__ceb_clrtag Unexecuted instantiation: errors.c:__ceb_clrtag Unexecuted instantiation: fd.c:__ceb_clrtag Unexecuted instantiation: filters.c:__ceb_clrtag Unexecuted instantiation: flt_http_comp.c:__ceb_clrtag Unexecuted instantiation: freq_ctr.c:__ceb_clrtag Unexecuted instantiation: frontend.c:__ceb_clrtag Unexecuted instantiation: haproxy.c:__ceb_clrtag Unexecuted instantiation: http.c:__ceb_clrtag Unexecuted instantiation: http_ana.c:__ceb_clrtag Unexecuted instantiation: http_ext.c:__ceb_clrtag Unexecuted instantiation: http_htx.c:__ceb_clrtag Unexecuted instantiation: http_rules.c:__ceb_clrtag Unexecuted instantiation: lb_chash.c:__ceb_clrtag Unexecuted instantiation: lb_fas.c:__ceb_clrtag Unexecuted instantiation: lb_fwlc.c:__ceb_clrtag Unexecuted instantiation: lb_fwrr.c:__ceb_clrtag Unexecuted instantiation: lb_map.c:__ceb_clrtag Unexecuted instantiation: lb_ss.c:__ceb_clrtag Unexecuted instantiation: limits.c:__ceb_clrtag Unexecuted instantiation: listener.c:__ceb_clrtag Unexecuted instantiation: log.c:__ceb_clrtag Unexecuted instantiation: mailers.c:__ceb_clrtag Unexecuted instantiation: mworker.c:__ceb_clrtag Unexecuted instantiation: peers.c:__ceb_clrtag Unexecuted instantiation: pool.c:__ceb_clrtag Unexecuted instantiation: proto_rhttp.c:__ceb_clrtag Unexecuted instantiation: proto_sockpair.c:__ceb_clrtag Unexecuted instantiation: protocol.c:__ceb_clrtag Unexecuted instantiation: proxy.c:__ceb_clrtag Unexecuted instantiation: queue.c:__ceb_clrtag Unexecuted instantiation: regex.c:__ceb_clrtag Unexecuted instantiation: resolvers.c:__ceb_clrtag Unexecuted instantiation: ring.c:__ceb_clrtag Unexecuted instantiation: sample.c:__ceb_clrtag Unexecuted instantiation: server.c:__ceb_clrtag Unexecuted instantiation: session.c:__ceb_clrtag Unexecuted instantiation: sink.c:__ceb_clrtag Unexecuted instantiation: sock.c:__ceb_clrtag Unexecuted instantiation: sock_inet.c:__ceb_clrtag Unexecuted instantiation: stats-html.c:__ceb_clrtag Unexecuted instantiation: stats.c:__ceb_clrtag Unexecuted instantiation: stconn.c:__ceb_clrtag Unexecuted instantiation: stick_table.c:__ceb_clrtag Unexecuted instantiation: stream.c:__ceb_clrtag Unexecuted instantiation: systemd.c:__ceb_clrtag Unexecuted instantiation: task.c:__ceb_clrtag Unexecuted instantiation: tcp_rules.c:__ceb_clrtag Unexecuted instantiation: tcpcheck.c:__ceb_clrtag Unexecuted instantiation: thread.c:__ceb_clrtag Unexecuted instantiation: tools.c:__ceb_clrtag Unexecuted instantiation: trace.c:__ceb_clrtag Unexecuted instantiation: uri_auth.c:__ceb_clrtag Unexecuted instantiation: vars.c:__ceb_clrtag Unexecuted instantiation: acl.c:__ceb_clrtag Unexecuted instantiation: action.c:__ceb_clrtag Unexecuted instantiation: activity.c:__ceb_clrtag Unexecuted instantiation: applet.c:__ceb_clrtag Unexecuted instantiation: arg.c:__ceb_clrtag Unexecuted instantiation: backend.c:__ceb_clrtag Unexecuted instantiation: cache.c:__ceb_clrtag Unexecuted instantiation: cebu64_tree.c:__ceb_clrtag Unexecuted instantiation: cebus_tree.c:__ceb_clrtag Unexecuted instantiation: cfgcond.c:__ceb_clrtag Unexecuted instantiation: cfgparse-global.c:__ceb_clrtag Unexecuted instantiation: cfgparse-listen.c:__ceb_clrtag Unexecuted instantiation: channel.c:__ceb_clrtag Unexecuted instantiation: check.c:__ceb_clrtag Unexecuted instantiation: compression.c:__ceb_clrtag Unexecuted instantiation: dgram.c:__ceb_clrtag Unexecuted instantiation: dns.c:__ceb_clrtag Unexecuted instantiation: dns_ring.c:__ceb_clrtag Unexecuted instantiation: event_hdl.c:__ceb_clrtag Unexecuted instantiation: extcheck.c:__ceb_clrtag Unexecuted instantiation: fcgi-app.c:__ceb_clrtag Unexecuted instantiation: fix.c:__ceb_clrtag Unexecuted instantiation: guid.c:__ceb_clrtag Unexecuted instantiation: h1.c:__ceb_clrtag Unexecuted instantiation: http_fetch.c:__ceb_clrtag Unexecuted instantiation: mqtt.c:__ceb_clrtag Unexecuted instantiation: mux_spop.c:__ceb_clrtag Unexecuted instantiation: pattern.c:__ceb_clrtag Unexecuted instantiation: payload.c:__ceb_clrtag Unexecuted instantiation: proto_tcp.c:__ceb_clrtag Unexecuted instantiation: shctx.c:__ceb_clrtag Unexecuted instantiation: stats-file.c:__ceb_clrtag Unexecuted instantiation: stats-json.c:__ceb_clrtag Unexecuted instantiation: stats-proxy.c:__ceb_clrtag Unexecuted instantiation: flt_spoe.c:__ceb_clrtag Unexecuted instantiation: h1_htx.c:__ceb_clrtag |
61 | | |
62 | | /* returns whether a pointer is tagged */ |
63 | | static inline int __ceb_tagged(const struct ceb_node *node) |
64 | 0 | { |
65 | 0 | return !!((size_t)node & 1); |
66 | 0 | } Unexecuted instantiation: fuzz_hpack_decode.c:__ceb_tagged Unexecuted instantiation: fuzz_cfg_parser.c:__ceb_tagged Unexecuted instantiation: cfgparse.c:__ceb_tagged Unexecuted instantiation: chunk.c:__ceb_tagged Unexecuted instantiation: cli.c:__ceb_tagged Unexecuted instantiation: clock.c:__ceb_tagged Unexecuted instantiation: connection.c:__ceb_tagged Unexecuted instantiation: debug.c:__ceb_tagged Unexecuted instantiation: dynbuf.c:__ceb_tagged Unexecuted instantiation: errors.c:__ceb_tagged Unexecuted instantiation: fd.c:__ceb_tagged Unexecuted instantiation: filters.c:__ceb_tagged Unexecuted instantiation: flt_http_comp.c:__ceb_tagged Unexecuted instantiation: freq_ctr.c:__ceb_tagged Unexecuted instantiation: frontend.c:__ceb_tagged Unexecuted instantiation: haproxy.c:__ceb_tagged Unexecuted instantiation: http.c:__ceb_tagged Unexecuted instantiation: http_ana.c:__ceb_tagged Unexecuted instantiation: http_ext.c:__ceb_tagged Unexecuted instantiation: http_htx.c:__ceb_tagged Unexecuted instantiation: http_rules.c:__ceb_tagged Unexecuted instantiation: lb_chash.c:__ceb_tagged Unexecuted instantiation: lb_fas.c:__ceb_tagged Unexecuted instantiation: lb_fwlc.c:__ceb_tagged Unexecuted instantiation: lb_fwrr.c:__ceb_tagged Unexecuted instantiation: lb_map.c:__ceb_tagged Unexecuted instantiation: lb_ss.c:__ceb_tagged Unexecuted instantiation: limits.c:__ceb_tagged Unexecuted instantiation: listener.c:__ceb_tagged Unexecuted instantiation: log.c:__ceb_tagged Unexecuted instantiation: mailers.c:__ceb_tagged Unexecuted instantiation: mworker.c:__ceb_tagged Unexecuted instantiation: peers.c:__ceb_tagged Unexecuted instantiation: pool.c:__ceb_tagged Unexecuted instantiation: proto_rhttp.c:__ceb_tagged Unexecuted instantiation: proto_sockpair.c:__ceb_tagged Unexecuted instantiation: protocol.c:__ceb_tagged Unexecuted instantiation: proxy.c:__ceb_tagged Unexecuted instantiation: queue.c:__ceb_tagged Unexecuted instantiation: regex.c:__ceb_tagged Unexecuted instantiation: resolvers.c:__ceb_tagged Unexecuted instantiation: ring.c:__ceb_tagged Unexecuted instantiation: sample.c:__ceb_tagged Unexecuted instantiation: server.c:__ceb_tagged Unexecuted instantiation: session.c:__ceb_tagged Unexecuted instantiation: sink.c:__ceb_tagged Unexecuted instantiation: sock.c:__ceb_tagged Unexecuted instantiation: sock_inet.c:__ceb_tagged Unexecuted instantiation: stats-html.c:__ceb_tagged Unexecuted instantiation: stats.c:__ceb_tagged Unexecuted instantiation: stconn.c:__ceb_tagged Unexecuted instantiation: stick_table.c:__ceb_tagged Unexecuted instantiation: stream.c:__ceb_tagged Unexecuted instantiation: systemd.c:__ceb_tagged Unexecuted instantiation: task.c:__ceb_tagged Unexecuted instantiation: tcp_rules.c:__ceb_tagged Unexecuted instantiation: tcpcheck.c:__ceb_tagged Unexecuted instantiation: thread.c:__ceb_tagged Unexecuted instantiation: tools.c:__ceb_tagged Unexecuted instantiation: trace.c:__ceb_tagged Unexecuted instantiation: uri_auth.c:__ceb_tagged Unexecuted instantiation: vars.c:__ceb_tagged Unexecuted instantiation: acl.c:__ceb_tagged Unexecuted instantiation: action.c:__ceb_tagged Unexecuted instantiation: activity.c:__ceb_tagged Unexecuted instantiation: applet.c:__ceb_tagged Unexecuted instantiation: arg.c:__ceb_tagged Unexecuted instantiation: backend.c:__ceb_tagged Unexecuted instantiation: cache.c:__ceb_tagged Unexecuted instantiation: cebu64_tree.c:__ceb_tagged Unexecuted instantiation: cebus_tree.c:__ceb_tagged Unexecuted instantiation: cfgcond.c:__ceb_tagged Unexecuted instantiation: cfgparse-global.c:__ceb_tagged Unexecuted instantiation: cfgparse-listen.c:__ceb_tagged Unexecuted instantiation: channel.c:__ceb_tagged Unexecuted instantiation: check.c:__ceb_tagged Unexecuted instantiation: compression.c:__ceb_tagged Unexecuted instantiation: dgram.c:__ceb_tagged Unexecuted instantiation: dns.c:__ceb_tagged Unexecuted instantiation: dns_ring.c:__ceb_tagged Unexecuted instantiation: event_hdl.c:__ceb_tagged Unexecuted instantiation: extcheck.c:__ceb_tagged Unexecuted instantiation: fcgi-app.c:__ceb_tagged Unexecuted instantiation: fix.c:__ceb_tagged Unexecuted instantiation: guid.c:__ceb_tagged Unexecuted instantiation: h1.c:__ceb_tagged Unexecuted instantiation: http_fetch.c:__ceb_tagged Unexecuted instantiation: mqtt.c:__ceb_tagged Unexecuted instantiation: mux_spop.c:__ceb_tagged Unexecuted instantiation: pattern.c:__ceb_tagged Unexecuted instantiation: payload.c:__ceb_tagged Unexecuted instantiation: proto_tcp.c:__ceb_tagged Unexecuted instantiation: shctx.c:__ceb_tagged Unexecuted instantiation: stats-file.c:__ceb_tagged Unexecuted instantiation: stats-json.c:__ceb_tagged Unexecuted instantiation: stats-proxy.c:__ceb_tagged Unexecuted instantiation: flt_spoe.c:__ceb_tagged Unexecuted instantiation: h1_htx.c:__ceb_tagged |
67 | | |
68 | | /* returns an integer equivalent of the pointer */ |
69 | | static inline size_t __ceb_intptr(struct ceb_node *tree) |
70 | 0 | { |
71 | 0 | return (size_t)tree; |
72 | 0 | } Unexecuted instantiation: fuzz_hpack_decode.c:__ceb_intptr Unexecuted instantiation: fuzz_cfg_parser.c:__ceb_intptr Unexecuted instantiation: cfgparse.c:__ceb_intptr Unexecuted instantiation: chunk.c:__ceb_intptr Unexecuted instantiation: cli.c:__ceb_intptr Unexecuted instantiation: clock.c:__ceb_intptr Unexecuted instantiation: connection.c:__ceb_intptr Unexecuted instantiation: debug.c:__ceb_intptr Unexecuted instantiation: dynbuf.c:__ceb_intptr Unexecuted instantiation: errors.c:__ceb_intptr Unexecuted instantiation: fd.c:__ceb_intptr Unexecuted instantiation: filters.c:__ceb_intptr Unexecuted instantiation: flt_http_comp.c:__ceb_intptr Unexecuted instantiation: freq_ctr.c:__ceb_intptr Unexecuted instantiation: frontend.c:__ceb_intptr Unexecuted instantiation: haproxy.c:__ceb_intptr Unexecuted instantiation: http.c:__ceb_intptr Unexecuted instantiation: http_ana.c:__ceb_intptr Unexecuted instantiation: http_ext.c:__ceb_intptr Unexecuted instantiation: http_htx.c:__ceb_intptr Unexecuted instantiation: http_rules.c:__ceb_intptr Unexecuted instantiation: lb_chash.c:__ceb_intptr Unexecuted instantiation: lb_fas.c:__ceb_intptr Unexecuted instantiation: lb_fwlc.c:__ceb_intptr Unexecuted instantiation: lb_fwrr.c:__ceb_intptr Unexecuted instantiation: lb_map.c:__ceb_intptr Unexecuted instantiation: lb_ss.c:__ceb_intptr Unexecuted instantiation: limits.c:__ceb_intptr Unexecuted instantiation: listener.c:__ceb_intptr Unexecuted instantiation: log.c:__ceb_intptr Unexecuted instantiation: mailers.c:__ceb_intptr Unexecuted instantiation: mworker.c:__ceb_intptr Unexecuted instantiation: peers.c:__ceb_intptr Unexecuted instantiation: pool.c:__ceb_intptr Unexecuted instantiation: proto_rhttp.c:__ceb_intptr Unexecuted instantiation: proto_sockpair.c:__ceb_intptr Unexecuted instantiation: protocol.c:__ceb_intptr Unexecuted instantiation: proxy.c:__ceb_intptr Unexecuted instantiation: queue.c:__ceb_intptr Unexecuted instantiation: regex.c:__ceb_intptr Unexecuted instantiation: resolvers.c:__ceb_intptr Unexecuted instantiation: ring.c:__ceb_intptr Unexecuted instantiation: sample.c:__ceb_intptr Unexecuted instantiation: server.c:__ceb_intptr Unexecuted instantiation: session.c:__ceb_intptr Unexecuted instantiation: sink.c:__ceb_intptr Unexecuted instantiation: sock.c:__ceb_intptr Unexecuted instantiation: sock_inet.c:__ceb_intptr Unexecuted instantiation: stats-html.c:__ceb_intptr Unexecuted instantiation: stats.c:__ceb_intptr Unexecuted instantiation: stconn.c:__ceb_intptr Unexecuted instantiation: stick_table.c:__ceb_intptr Unexecuted instantiation: stream.c:__ceb_intptr Unexecuted instantiation: systemd.c:__ceb_intptr Unexecuted instantiation: task.c:__ceb_intptr Unexecuted instantiation: tcp_rules.c:__ceb_intptr Unexecuted instantiation: tcpcheck.c:__ceb_intptr Unexecuted instantiation: thread.c:__ceb_intptr Unexecuted instantiation: tools.c:__ceb_intptr Unexecuted instantiation: trace.c:__ceb_intptr Unexecuted instantiation: uri_auth.c:__ceb_intptr Unexecuted instantiation: vars.c:__ceb_intptr Unexecuted instantiation: acl.c:__ceb_intptr Unexecuted instantiation: action.c:__ceb_intptr Unexecuted instantiation: activity.c:__ceb_intptr Unexecuted instantiation: applet.c:__ceb_intptr Unexecuted instantiation: arg.c:__ceb_intptr Unexecuted instantiation: backend.c:__ceb_intptr Unexecuted instantiation: cache.c:__ceb_intptr Unexecuted instantiation: cebu64_tree.c:__ceb_intptr Unexecuted instantiation: cebus_tree.c:__ceb_intptr Unexecuted instantiation: cfgcond.c:__ceb_intptr Unexecuted instantiation: cfgparse-global.c:__ceb_intptr Unexecuted instantiation: cfgparse-listen.c:__ceb_intptr Unexecuted instantiation: channel.c:__ceb_intptr Unexecuted instantiation: check.c:__ceb_intptr Unexecuted instantiation: compression.c:__ceb_intptr Unexecuted instantiation: dgram.c:__ceb_intptr Unexecuted instantiation: dns.c:__ceb_intptr Unexecuted instantiation: dns_ring.c:__ceb_intptr Unexecuted instantiation: event_hdl.c:__ceb_intptr Unexecuted instantiation: extcheck.c:__ceb_intptr Unexecuted instantiation: fcgi-app.c:__ceb_intptr Unexecuted instantiation: fix.c:__ceb_intptr Unexecuted instantiation: guid.c:__ceb_intptr Unexecuted instantiation: h1.c:__ceb_intptr Unexecuted instantiation: http_fetch.c:__ceb_intptr Unexecuted instantiation: mqtt.c:__ceb_intptr Unexecuted instantiation: mux_spop.c:__ceb_intptr Unexecuted instantiation: pattern.c:__ceb_intptr Unexecuted instantiation: payload.c:__ceb_intptr Unexecuted instantiation: proto_tcp.c:__ceb_intptr Unexecuted instantiation: shctx.c:__ceb_intptr Unexecuted instantiation: stats-file.c:__ceb_intptr Unexecuted instantiation: stats-json.c:__ceb_intptr Unexecuted instantiation: stats-proxy.c:__ceb_intptr Unexecuted instantiation: flt_spoe.c:__ceb_intptr Unexecuted instantiation: h1_htx.c:__ceb_intptr |
73 | | |
74 | | ///* returns true if at least one of the branches is a subtree node, indicating |
75 | | // * that the current node is at the top of a duplicate sub-tree and that all |
76 | | // * values below it are the same. |
77 | | // */ |
78 | | //static inline int __ceb_is_dup(const struct ceb_node *node) |
79 | | //{ |
80 | | // return __ceb_tagged((struct ceb_node *)(__ceb_intptr(node->l) | __ceb_intptr(node->r))); |
81 | | //} |
82 | | |
83 | | #endif /* _CEBTREE_H */ |