/src/selinux/DESTDIR/usr/include/sepol/policydb/ebitmap.h
Line | Count | Source |
1 | | /* Author : Stephen Smalley, <stephen.smalley.work@gmail.com> */ |
2 | | |
3 | | /* FLASK */ |
4 | | |
5 | | /* |
6 | | * An extensible bitmap is a bitmap that supports an |
7 | | * arbitrary number of bits. Extensible bitmaps are |
8 | | * used to represent sets of values, such as types, |
9 | | * roles, categories, and classes. |
10 | | * |
11 | | * Each extensible bitmap is implemented as a linked |
12 | | * list of bitmap nodes, where each bitmap node has |
13 | | * an explicitly specified starting bit position within |
14 | | * the total bitmap. |
15 | | */ |
16 | | |
17 | | #ifndef _SEPOL_POLICYDB_EBITMAP_H_ |
18 | | #define _SEPOL_POLICYDB_EBITMAP_H_ |
19 | | |
20 | | #include <stdint.h> |
21 | | #include <string.h> |
22 | | |
23 | | #ifdef __cplusplus |
24 | | extern "C" { |
25 | | #endif |
26 | | |
27 | 390k | #define MAPTYPE uint64_t /* portion of bitmap in each node */ |
28 | 3.38G | #define MAPSIZE (sizeof(MAPTYPE) * 8) /* number of bits in node bitmap */ |
29 | 755M | #define MAPBIT 1ULL /* a bit in the node bitmap */ |
30 | | |
31 | | typedef struct ebitmap_node { |
32 | | uint32_t startbit; /* starting position in the total bitmap */ |
33 | | MAPTYPE map; /* this node's portion of the bitmap */ |
34 | | struct ebitmap_node *next; |
35 | | } ebitmap_node_t; |
36 | | |
37 | | typedef struct ebitmap { |
38 | | ebitmap_node_t *node; /* first node in the bitmap */ |
39 | | uint32_t highbit; /* highest position in the total bitmap */ |
40 | | } ebitmap_t; |
41 | | |
42 | 5.82M | #define ebitmap_is_empty(e) (((e)->node) == NULL) |
43 | 709M | #define ebitmap_length(e) ((e)->node ? (e)->highbit : 0) |
44 | 13.4M | #define ebitmap_startbit(e) ((e)->node ? (e)->node->startbit : 0) |
45 | | #define ebitmap_startnode(e) ((e)->node) |
46 | | |
47 | | static inline unsigned int ebitmap_start(const ebitmap_t * e, |
48 | | ebitmap_node_t ** n) |
49 | 13.4M | { |
50 | | |
51 | 13.4M | *n = e->node; |
52 | 13.4M | return ebitmap_startbit(e); |
53 | 13.4M | } Unexecuted instantiation: checkpolicy-fuzzer.c:ebitmap_start Unexecuted instantiation: module_compiler.c:ebitmap_start Unexecuted instantiation: parse_util.c:ebitmap_start policy_define.c:ebitmap_start Line | Count | Source | 49 | 110k | { | 50 | | | 51 | 110k | *n = e->node; | 52 | 110k | return ebitmap_startbit(e); | 53 | 110k | } |
Unexecuted instantiation: y.tab.c:ebitmap_start Unexecuted instantiation: assertion.c:ebitmap_start Unexecuted instantiation: avrule_block.c:ebitmap_start Unexecuted instantiation: avtab.c:ebitmap_start Unexecuted instantiation: conditional.c:ebitmap_start Unexecuted instantiation: constraint.c:ebitmap_start Unexecuted instantiation: context.c:ebitmap_start Unexecuted instantiation: context_record.c:ebitmap_start Unexecuted instantiation: ebitmap.c:ebitmap_start Line | Count | Source | 49 | 938k | { | 50 | | | 51 | 938k | *n = e->node; | 52 | 938k | return ebitmap_startbit(e); | 53 | 938k | } |
Unexecuted instantiation: hashtab.c:ebitmap_start hierarchy.c:ebitmap_start Line | Count | Source | 49 | 2.22M | { | 50 | | | 51 | 2.22M | *n = e->node; | 52 | 2.22M | return ebitmap_startbit(e); | 53 | 2.22M | } |
kernel_to_cil.c:ebitmap_start Line | Count | Source | 49 | 12.6k | { | 50 | | | 51 | 12.6k | *n = e->node; | 52 | 12.6k | return ebitmap_startbit(e); | 53 | 12.6k | } |
kernel_to_common.c:ebitmap_start Line | Count | Source | 49 | 15.4k | { | 50 | | | 51 | 15.4k | *n = e->node; | 52 | 15.4k | return ebitmap_startbit(e); | 53 | 15.4k | } |
kernel_to_conf.c:ebitmap_start Line | Count | Source | 49 | 12.6k | { | 50 | | | 51 | 12.6k | *n = e->node; | 52 | 12.6k | return ebitmap_startbit(e); | 53 | 12.6k | } |
Line | Count | Source | 49 | 75.0k | { | 50 | | | 51 | 75.0k | *n = e->node; | 52 | 75.0k | return ebitmap_startbit(e); | 53 | 75.0k | } |
Line | Count | Source | 49 | 5.28k | { | 50 | | | 51 | 5.28k | *n = e->node; | 52 | 5.28k | return ebitmap_startbit(e); | 53 | 5.28k | } |
Unexecuted instantiation: module_to_cil.c:ebitmap_start Line | Count | Source | 49 | 299k | { | 50 | | | 51 | 299k | *n = e->node; | 52 | 299k | return ebitmap_startbit(e); | 53 | 299k | } |
Line | Count | Source | 49 | 2.25k | { | 50 | | | 51 | 2.25k | *n = e->node; | 52 | 2.25k | return ebitmap_startbit(e); | 53 | 2.25k | } |
Unexecuted instantiation: policydb_public.c:ebitmap_start policydb_validate.c:ebitmap_start Line | Count | Source | 49 | 9.80k | { | 50 | | | 51 | 9.80k | *n = e->node; | 52 | 9.80k | return ebitmap_startbit(e); | 53 | 9.80k | } |
Unexecuted instantiation: services.c:ebitmap_start Unexecuted instantiation: sidtab.c:ebitmap_start Unexecuted instantiation: symtab.c:ebitmap_start Unexecuted instantiation: util.c:ebitmap_start Line | Count | Source | 49 | 1.10k | { | 50 | | | 51 | 1.10k | *n = e->node; | 52 | 1.10k | return ebitmap_startbit(e); | 53 | 1.10k | } |
Unexecuted instantiation: module.c:ebitmap_start Unexecuted instantiation: policydb_convert.c:ebitmap_start Unexecuted instantiation: binpolicy-fuzzer.c:ebitmap_start Unexecuted instantiation: secilc-fuzzer.c:ebitmap_start Unexecuted instantiation: cil.c:ebitmap_start cil_binary.c:ebitmap_start Line | Count | Source | 49 | 6.96M | { | 50 | | | 51 | 6.96M | *n = e->node; | 52 | 6.96M | return ebitmap_startbit(e); | 53 | 6.96M | } |
Unexecuted instantiation: cil_build_ast.c:ebitmap_start Unexecuted instantiation: cil_copy_ast.c:ebitmap_start Line | Count | Source | 49 | 2.72M | { | 50 | | | 51 | 2.72M | *n = e->node; | 52 | 2.72M | return ebitmap_startbit(e); | 53 | 2.72M | } |
Unexecuted instantiation: cil_fqn.c:ebitmap_start Unexecuted instantiation: cil_list.c:ebitmap_start Unexecuted instantiation: cil_log.c:ebitmap_start Unexecuted instantiation: cil_mem.c:ebitmap_start Unexecuted instantiation: cil_parser.c:ebitmap_start Unexecuted instantiation: cil_policy.c:ebitmap_start Line | Count | Source | 49 | 13.6k | { | 50 | | | 51 | 13.6k | *n = e->node; | 52 | 13.6k | return ebitmap_startbit(e); | 53 | 13.6k | } |
Unexecuted instantiation: cil_resolve_ast.c:ebitmap_start Unexecuted instantiation: cil_stack.c:ebitmap_start Unexecuted instantiation: cil_strpool.c:ebitmap_start Unexecuted instantiation: cil_symtab.c:ebitmap_start Unexecuted instantiation: cil_tree.c:ebitmap_start Unexecuted instantiation: cil_verify.c:ebitmap_start Unexecuted instantiation: cil_write_ast.c:ebitmap_start Unexecuted instantiation: cil_deny.c:ebitmap_start Unexecuted instantiation: cil_lexer.c:ebitmap_start Unexecuted instantiation: cil_reset_ast.c:ebitmap_start |
54 | | |
55 | | static inline void ebitmap_init(ebitmap_t * e) |
56 | 44.7M | { |
57 | 44.7M | memset(e, 0, sizeof(*e)); |
58 | 44.7M | } Unexecuted instantiation: checkpolicy-fuzzer.c:ebitmap_init module_compiler.c:ebitmap_init Line | Count | Source | 56 | 28.9k | { | 57 | 28.9k | memset(e, 0, sizeof(*e)); | 58 | 28.9k | } |
Unexecuted instantiation: parse_util.c:ebitmap_init policy_define.c:ebitmap_init Line | Count | Source | 56 | 109k | { | 57 | 109k | memset(e, 0, sizeof(*e)); | 58 | 109k | } |
Unexecuted instantiation: y.tab.c:ebitmap_init Line | Count | Source | 56 | 431k | { | 57 | 431k | memset(e, 0, sizeof(*e)); | 58 | 431k | } |
avrule_block.c:ebitmap_init Line | Count | Source | 56 | 2.77M | { | 57 | 2.77M | memset(e, 0, sizeof(*e)); | 58 | 2.77M | } |
Unexecuted instantiation: avtab.c:ebitmap_init Unexecuted instantiation: conditional.c:ebitmap_init constraint.c:ebitmap_init Line | Count | Source | 56 | 5.91M | { | 57 | 5.91M | memset(e, 0, sizeof(*e)); | 58 | 5.91M | } |
Line | Count | Source | 56 | 12.0k | { | 57 | 12.0k | memset(e, 0, sizeof(*e)); | 58 | 12.0k | } |
Unexecuted instantiation: context_record.c:ebitmap_init Line | Count | Source | 56 | 6.95M | { | 57 | 6.95M | memset(e, 0, sizeof(*e)); | 58 | 6.95M | } |
Line | Count | Source | 56 | 1.01M | { | 57 | 1.01M | memset(e, 0, sizeof(*e)); | 58 | 1.01M | } |
Unexecuted instantiation: hashtab.c:ebitmap_init Unexecuted instantiation: hierarchy.c:ebitmap_init Unexecuted instantiation: kernel_to_cil.c:ebitmap_init Unexecuted instantiation: kernel_to_common.c:ebitmap_init Unexecuted instantiation: kernel_to_conf.c:ebitmap_init Unexecuted instantiation: link.c:ebitmap_init Unexecuted instantiation: mls.c:ebitmap_init Unexecuted instantiation: module_to_cil.c:ebitmap_init Unexecuted instantiation: optimize.c:ebitmap_init Line | Count | Source | 56 | 14.5M | { | 57 | 14.5M | memset(e, 0, sizeof(*e)); | 58 | 14.5M | } |
Unexecuted instantiation: policydb_public.c:ebitmap_init policydb_validate.c:ebitmap_init Line | Count | Source | 56 | 34.0k | { | 57 | 34.0k | memset(e, 0, sizeof(*e)); | 58 | 34.0k | } |
Unexecuted instantiation: services.c:ebitmap_init Unexecuted instantiation: sidtab.c:ebitmap_init Unexecuted instantiation: symtab.c:ebitmap_init Unexecuted instantiation: util.c:ebitmap_init Line | Count | Source | 56 | 4.42k | { | 57 | 4.42k | memset(e, 0, sizeof(*e)); | 58 | 4.42k | } |
Unexecuted instantiation: module.c:ebitmap_init Unexecuted instantiation: policydb_convert.c:ebitmap_init Unexecuted instantiation: binpolicy-fuzzer.c:ebitmap_init Unexecuted instantiation: secilc-fuzzer.c:ebitmap_init Unexecuted instantiation: cil.c:ebitmap_init cil_binary.c:ebitmap_init Line | Count | Source | 56 | 9.34M | { | 57 | 9.34M | memset(e, 0, sizeof(*e)); | 58 | 9.34M | } |
Unexecuted instantiation: cil_build_ast.c:ebitmap_init Unexecuted instantiation: cil_copy_ast.c:ebitmap_init Line | Count | Source | 56 | 2.05M | { | 57 | 2.05M | memset(e, 0, sizeof(*e)); | 58 | 2.05M | } |
Unexecuted instantiation: cil_fqn.c:ebitmap_init Unexecuted instantiation: cil_list.c:ebitmap_init Unexecuted instantiation: cil_log.c:ebitmap_init Unexecuted instantiation: cil_mem.c:ebitmap_init Unexecuted instantiation: cil_parser.c:ebitmap_init Unexecuted instantiation: cil_policy.c:ebitmap_init Line | Count | Source | 56 | 1.28M | { | 57 | 1.28M | memset(e, 0, sizeof(*e)); | 58 | 1.28M | } |
Unexecuted instantiation: cil_resolve_ast.c:ebitmap_init Unexecuted instantiation: cil_stack.c:ebitmap_init Unexecuted instantiation: cil_strpool.c:ebitmap_init Unexecuted instantiation: cil_symtab.c:ebitmap_init Unexecuted instantiation: cil_tree.c:ebitmap_init Unexecuted instantiation: cil_verify.c:ebitmap_init Unexecuted instantiation: cil_write_ast.c:ebitmap_init Line | Count | Source | 56 | 315k | { | 57 | 315k | memset(e, 0, sizeof(*e)); | 58 | 315k | } |
Unexecuted instantiation: cil_lexer.c:ebitmap_init Unexecuted instantiation: cil_reset_ast.c:ebitmap_init |
59 | | |
60 | | static inline unsigned int ebitmap_next(ebitmap_node_t ** n, unsigned int bit) |
61 | 696M | { |
62 | 696M | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { |
63 | 743k | *n = (*n)->next; |
64 | 743k | return (*n)->startbit; |
65 | 743k | } |
66 | | |
67 | 695M | return (bit + 1); |
68 | 696M | } Unexecuted instantiation: checkpolicy-fuzzer.c:ebitmap_next Unexecuted instantiation: module_compiler.c:ebitmap_next Unexecuted instantiation: parse_util.c:ebitmap_next policy_define.c:ebitmap_next Line | Count | Source | 61 | 6.78M | { | 62 | 6.78M | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 157 | *n = (*n)->next; | 64 | 157 | return (*n)->startbit; | 65 | 157 | } | 66 | | | 67 | 6.78M | return (bit + 1); | 68 | 6.78M | } |
Unexecuted instantiation: y.tab.c:ebitmap_next Unexecuted instantiation: assertion.c:ebitmap_next Unexecuted instantiation: avrule_block.c:ebitmap_next Unexecuted instantiation: avtab.c:ebitmap_next Unexecuted instantiation: conditional.c:ebitmap_next Unexecuted instantiation: constraint.c:ebitmap_next Unexecuted instantiation: context.c:ebitmap_next Unexecuted instantiation: context_record.c:ebitmap_next Unexecuted instantiation: ebitmap.c:ebitmap_next Line | Count | Source | 61 | 10.9M | { | 62 | 10.9M | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 13.8k | *n = (*n)->next; | 64 | 13.8k | return (*n)->startbit; | 65 | 13.8k | } | 66 | | | 67 | 10.9M | return (bit + 1); | 68 | 10.9M | } |
Unexecuted instantiation: hashtab.c:ebitmap_next Line | Count | Source | 61 | 147M | { | 62 | 147M | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 80.6k | *n = (*n)->next; | 64 | 80.6k | return (*n)->startbit; | 65 | 80.6k | } | 66 | | | 67 | 147M | return (bit + 1); | 68 | 147M | } |
kernel_to_cil.c:ebitmap_next Line | Count | Source | 61 | 418k | { | 62 | 418k | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 0 | *n = (*n)->next; | 64 | 0 | return (*n)->startbit; | 65 | 0 | } | 66 | | | 67 | 418k | return (bit + 1); | 68 | 418k | } |
kernel_to_common.c:ebitmap_next Line | Count | Source | 61 | 966k | { | 62 | 966k | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 6 | *n = (*n)->next; | 64 | 6 | return (*n)->startbit; | 65 | 6 | } | 66 | | | 67 | 966k | return (bit + 1); | 68 | 966k | } |
kernel_to_conf.c:ebitmap_next Line | Count | Source | 61 | 418k | { | 62 | 418k | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 0 | *n = (*n)->next; | 64 | 0 | return (*n)->startbit; | 65 | 0 | } | 66 | | | 67 | 418k | return (bit + 1); | 68 | 418k | } |
Line | Count | Source | 61 | 594k | { | 62 | 594k | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 500 | *n = (*n)->next; | 64 | 500 | return (*n)->startbit; | 65 | 500 | } | 66 | | | 67 | 594k | return (bit + 1); | 68 | 594k | } |
Line | Count | Source | 61 | 39.8k | { | 62 | 39.8k | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 0 | *n = (*n)->next; | 64 | 0 | return (*n)->startbit; | 65 | 0 | } | 66 | | | 67 | 39.8k | return (bit + 1); | 68 | 39.8k | } |
Unexecuted instantiation: module_to_cil.c:ebitmap_next Line | Count | Source | 61 | 25.0M | { | 62 | 25.0M | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 92.8k | *n = (*n)->next; | 64 | 92.8k | return (*n)->startbit; | 65 | 92.8k | } | 66 | | | 67 | 24.9M | return (bit + 1); | 68 | 25.0M | } |
Line | Count | Source | 61 | 36.1k | { | 62 | 36.1k | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 240 | *n = (*n)->next; | 64 | 240 | return (*n)->startbit; | 65 | 240 | } | 66 | | | 67 | 35.9k | return (bit + 1); | 68 | 36.1k | } |
Unexecuted instantiation: policydb_public.c:ebitmap_next policydb_validate.c:ebitmap_next Line | Count | Source | 61 | 2.25k | { | 62 | 2.25k | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 1 | *n = (*n)->next; | 64 | 1 | return (*n)->startbit; | 65 | 1 | } | 66 | | | 67 | 2.25k | return (bit + 1); | 68 | 2.25k | } |
Unexecuted instantiation: services.c:ebitmap_next Unexecuted instantiation: sidtab.c:ebitmap_next Unexecuted instantiation: symtab.c:ebitmap_next Unexecuted instantiation: util.c:ebitmap_next Line | Count | Source | 61 | 64 | { | 62 | 64 | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 0 | *n = (*n)->next; | 64 | 0 | return (*n)->startbit; | 65 | 0 | } | 66 | | | 67 | 64 | return (bit + 1); | 68 | 64 | } |
Unexecuted instantiation: module.c:ebitmap_next Unexecuted instantiation: policydb_convert.c:ebitmap_next Unexecuted instantiation: binpolicy-fuzzer.c:ebitmap_next Unexecuted instantiation: secilc-fuzzer.c:ebitmap_next Unexecuted instantiation: cil.c:ebitmap_next cil_binary.c:ebitmap_next Line | Count | Source | 61 | 473M | { | 62 | 473M | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 536k | *n = (*n)->next; | 64 | 536k | return (*n)->startbit; | 65 | 536k | } | 66 | | | 67 | 472M | return (bit + 1); | 68 | 473M | } |
Unexecuted instantiation: cil_build_ast.c:ebitmap_next Unexecuted instantiation: cil_copy_ast.c:ebitmap_next Line | Count | Source | 61 | 28.7M | { | 62 | 28.7M | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 6.94k | *n = (*n)->next; | 64 | 6.94k | return (*n)->startbit; | 65 | 6.94k | } | 66 | | | 67 | 28.7M | return (bit + 1); | 68 | 28.7M | } |
Unexecuted instantiation: cil_fqn.c:ebitmap_next Unexecuted instantiation: cil_list.c:ebitmap_next Unexecuted instantiation: cil_log.c:ebitmap_next Unexecuted instantiation: cil_mem.c:ebitmap_next Unexecuted instantiation: cil_parser.c:ebitmap_next Unexecuted instantiation: cil_policy.c:ebitmap_next Line | Count | Source | 61 | 1.51M | { | 62 | 1.51M | if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { | 63 | 11.6k | *n = (*n)->next; | 64 | 11.6k | return (*n)->startbit; | 65 | 11.6k | } | 66 | | | 67 | 1.50M | return (bit + 1); | 68 | 1.51M | } |
Unexecuted instantiation: cil_resolve_ast.c:ebitmap_next Unexecuted instantiation: cil_stack.c:ebitmap_next Unexecuted instantiation: cil_strpool.c:ebitmap_next Unexecuted instantiation: cil_symtab.c:ebitmap_next Unexecuted instantiation: cil_tree.c:ebitmap_next Unexecuted instantiation: cil_verify.c:ebitmap_next Unexecuted instantiation: cil_write_ast.c:ebitmap_next Unexecuted instantiation: cil_deny.c:ebitmap_next Unexecuted instantiation: cil_lexer.c:ebitmap_next Unexecuted instantiation: cil_reset_ast.c:ebitmap_next |
69 | | |
70 | | static inline int ebitmap_node_get_bit(const ebitmap_node_t * n, unsigned int bit) |
71 | 699M | { |
72 | 699M | if (n->map & (MAPBIT << (bit - n->startbit))) |
73 | 45.1M | return 1; |
74 | 653M | return 0; |
75 | 699M | } Unexecuted instantiation: checkpolicy-fuzzer.c:ebitmap_node_get_bit Unexecuted instantiation: module_compiler.c:ebitmap_node_get_bit Unexecuted instantiation: parse_util.c:ebitmap_node_get_bit policy_define.c:ebitmap_node_get_bit Line | Count | Source | 71 | 6.78M | { | 72 | 6.78M | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 106k | return 1; | 74 | 6.67M | return 0; | 75 | 6.78M | } |
Unexecuted instantiation: y.tab.c:ebitmap_node_get_bit Unexecuted instantiation: assertion.c:ebitmap_node_get_bit Unexecuted instantiation: avrule_block.c:ebitmap_node_get_bit Unexecuted instantiation: avtab.c:ebitmap_node_get_bit Unexecuted instantiation: conditional.c:ebitmap_node_get_bit Unexecuted instantiation: constraint.c:ebitmap_node_get_bit Unexecuted instantiation: context.c:ebitmap_node_get_bit Unexecuted instantiation: context_record.c:ebitmap_node_get_bit Unexecuted instantiation: ebitmap.c:ebitmap_node_get_bit expand.c:ebitmap_node_get_bit Line | Count | Source | 71 | 10.9M | { | 72 | 10.9M | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 303k | return 1; | 74 | 10.6M | return 0; | 75 | 10.9M | } |
Unexecuted instantiation: hashtab.c:ebitmap_node_get_bit hierarchy.c:ebitmap_node_get_bit Line | Count | Source | 71 | 147M | { | 72 | 147M | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 5.16M | return 1; | 74 | 142M | return 0; | 75 | 147M | } |
kernel_to_cil.c:ebitmap_node_get_bit Line | Count | Source | 71 | 418k | { | 72 | 418k | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 6.57k | return 1; | 74 | 412k | return 0; | 75 | 418k | } |
kernel_to_common.c:ebitmap_node_get_bit Line | Count | Source | 71 | 966k | { | 72 | 966k | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 15.2k | return 1; | 74 | 951k | return 0; | 75 | 966k | } |
kernel_to_conf.c:ebitmap_node_get_bit Line | Count | Source | 71 | 418k | { | 72 | 418k | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 6.57k | return 1; | 74 | 412k | return 0; | 75 | 418k | } |
link.c:ebitmap_node_get_bit Line | Count | Source | 71 | 595k | { | 72 | 595k | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 23.7k | return 1; | 74 | 571k | return 0; | 75 | 595k | } |
mls.c:ebitmap_node_get_bit Line | Count | Source | 71 | 39.9k | { | 72 | 39.9k | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 3.56k | return 1; | 74 | 36.3k | return 0; | 75 | 39.9k | } |
Unexecuted instantiation: module_to_cil.c:ebitmap_node_get_bit optimize.c:ebitmap_node_get_bit Line | Count | Source | 71 | 25.0M | { | 72 | 25.0M | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 646k | return 1; | 74 | 24.4M | return 0; | 75 | 25.0M | } |
policydb.c:ebitmap_node_get_bit Line | Count | Source | 71 | 36.1k | { | 72 | 36.1k | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 10.6k | return 1; | 74 | 25.5k | return 0; | 75 | 36.1k | } |
Unexecuted instantiation: policydb_public.c:ebitmap_node_get_bit policydb_validate.c:ebitmap_node_get_bit Line | Count | Source | 71 | 2.29k | { | 72 | 2.29k | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 159 | return 1; | 74 | 2.13k | return 0; | 75 | 2.29k | } |
Unexecuted instantiation: services.c:ebitmap_node_get_bit Unexecuted instantiation: sidtab.c:ebitmap_node_get_bit Unexecuted instantiation: symtab.c:ebitmap_node_get_bit Unexecuted instantiation: util.c:ebitmap_node_get_bit write.c:ebitmap_node_get_bit Line | Count | Source | 71 | 64 | { | 72 | 64 | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 1 | return 1; | 74 | 63 | return 0; | 75 | 64 | } |
Unexecuted instantiation: module.c:ebitmap_node_get_bit Unexecuted instantiation: policydb_convert.c:ebitmap_node_get_bit Unexecuted instantiation: binpolicy-fuzzer.c:ebitmap_node_get_bit Unexecuted instantiation: secilc-fuzzer.c:ebitmap_node_get_bit Unexecuted instantiation: cil.c:ebitmap_node_get_bit cil_binary.c:ebitmap_node_get_bit Line | Count | Source | 71 | 473M | { | 72 | 473M | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 35.4M | return 1; | 74 | 437M | return 0; | 75 | 473M | } |
Unexecuted instantiation: cil_build_ast.c:ebitmap_node_get_bit Unexecuted instantiation: cil_copy_ast.c:ebitmap_node_get_bit cil_find.c:ebitmap_node_get_bit Line | Count | Source | 71 | 31.4M | { | 72 | 31.4M | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 2.78M | return 1; | 74 | 28.6M | return 0; | 75 | 31.4M | } |
Unexecuted instantiation: cil_fqn.c:ebitmap_node_get_bit Unexecuted instantiation: cil_list.c:ebitmap_node_get_bit Unexecuted instantiation: cil_log.c:ebitmap_node_get_bit Unexecuted instantiation: cil_mem.c:ebitmap_node_get_bit Unexecuted instantiation: cil_parser.c:ebitmap_node_get_bit Unexecuted instantiation: cil_policy.c:ebitmap_node_get_bit cil_post.c:ebitmap_node_get_bit Line | Count | Source | 71 | 1.51M | { | 72 | 1.51M | if (n->map & (MAPBIT << (bit - n->startbit))) | 73 | 599k | return 1; | 74 | 912k | return 0; | 75 | 1.51M | } |
Unexecuted instantiation: cil_resolve_ast.c:ebitmap_node_get_bit Unexecuted instantiation: cil_stack.c:ebitmap_node_get_bit Unexecuted instantiation: cil_strpool.c:ebitmap_node_get_bit Unexecuted instantiation: cil_symtab.c:ebitmap_node_get_bit Unexecuted instantiation: cil_tree.c:ebitmap_node_get_bit Unexecuted instantiation: cil_verify.c:ebitmap_node_get_bit Unexecuted instantiation: cil_write_ast.c:ebitmap_node_get_bit Unexecuted instantiation: cil_deny.c:ebitmap_node_get_bit Unexecuted instantiation: cil_lexer.c:ebitmap_node_get_bit Unexecuted instantiation: cil_reset_ast.c:ebitmap_node_get_bit |
76 | | |
77 | | #define ebitmap_for_each_bit(e, n, bit) \ |
78 | 709M | for (bit = ebitmap_start(e, &n); bit < ebitmap_length(e); bit = ebitmap_next(&n, bit)) \ |
79 | | |
80 | | #define ebitmap_for_each_positive_bit(e, n, bit) \ |
81 | 698M | ebitmap_for_each_bit(e, n, bit) if (ebitmap_node_get_bit(n, bit)) \ |
82 | | |
83 | | extern int ebitmap_cmp(const ebitmap_t * e1, const ebitmap_t * e2); |
84 | | extern int ebitmap_or(ebitmap_t * dst, const ebitmap_t * e1, const ebitmap_t * e2); |
85 | | extern int ebitmap_union(ebitmap_t * dst, const ebitmap_t * e1); |
86 | | extern int ebitmap_and(ebitmap_t *dst, const ebitmap_t *e1, const ebitmap_t *e2); |
87 | | extern int ebitmap_xor(ebitmap_t *dst, const ebitmap_t *e1, const ebitmap_t *e2); |
88 | | extern int ebitmap_not(ebitmap_t *dst, const ebitmap_t *e1, unsigned int maxbit); |
89 | | extern int ebitmap_andnot(ebitmap_t *dst, const ebitmap_t *e1, const ebitmap_t *e2, unsigned int maxbit); |
90 | | extern unsigned int ebitmap_cardinality(const ebitmap_t *e1); |
91 | | extern int ebitmap_hamming_distance(const ebitmap_t * e1, const ebitmap_t * e2); |
92 | | extern int ebitmap_cpy(ebitmap_t * dst, const ebitmap_t * src); |
93 | | extern int ebitmap_contains(const ebitmap_t * e1, const ebitmap_t * e2); |
94 | | extern int ebitmap_match_any(const ebitmap_t *e1, const ebitmap_t *e2); |
95 | | extern int ebitmap_get_bit(const ebitmap_t * e, unsigned int bit); |
96 | | extern int ebitmap_set_bit(ebitmap_t * e, unsigned int bit, int value); |
97 | | extern int ebitmap_init_range(ebitmap_t * e, unsigned int minbit, unsigned int maxbit); |
98 | | extern unsigned int ebitmap_highest_set_bit(const ebitmap_t * e); |
99 | | extern void ebitmap_destroy(ebitmap_t * e); |
100 | | extern int ebitmap_read(ebitmap_t * e, void *fp); |
101 | | |
102 | | #ifdef __cplusplus |
103 | | } |
104 | | #endif |
105 | | |
106 | | #endif /* _EBITMAP_H_ */ |
107 | | |
108 | | /* FLASK */ |