[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
include
/
sepol
/
policydb
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 avrule_block.h
1,637 B
SET
[ EDIT ]
|
[ DEL ]
📄 avtab.h
4,743 B
SET
[ EDIT ]
|
[ DEL ]
📄 conditional.h
4,733 B
SET
[ EDIT ]
|
[ DEL ]
📄 constraint.h
2,571 B
SET
[ EDIT ]
|
[ DEL ]
📄 context.h
3,332 B
SET
[ EDIT ]
|
[ DEL ]
📄 ebitmap.h
3,176 B
SET
[ EDIT ]
|
[ DEL ]
📄 expand.h
3,656 B
SET
[ EDIT ]
|
[ DEL ]
📄 flask.h
4,992 B
SET
[ EDIT ]
|
[ DEL ]
📄 flask_types.h
1,779 B
SET
[ EDIT ]
|
[ DEL ]
📄 hashtab.h
4,392 B
SET
[ EDIT ]
|
[ DEL ]
📄 hierarchy.h
1,818 B
SET
[ EDIT ]
|
[ DEL ]
📄 link.h
517 B
SET
[ EDIT ]
|
[ DEL ]
📄 mls_types.h
4,376 B
SET
[ EDIT ]
|
[ DEL ]
📄 module.h
1,532 B
SET
[ EDIT ]
|
[ DEL ]
📄 polcaps.h
721 B
SET
[ EDIT ]
|
[ DEL ]
📄 policydb.h
25,976 B
SET
[ EDIT ]
|
[ DEL ]
📄 services.h
8,583 B
SET
[ EDIT ]
|
[ DEL ]
📄 sidtab.h
1,976 B
SET
[ EDIT ]
|
[ DEL ]
📄 symtab.h
1,102 B
SET
[ EDIT ]
|
[ DEL ]
📄 util.h
1,461 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: ebitmap.h
/* Author : Stephen Smalley, <sds@tycho.nsa.gov> */ /* FLASK */ /* * An extensible bitmap is a bitmap that supports an * arbitrary number of bits. Extensible bitmaps are * used to represent sets of values, such as types, * roles, categories, and classes. * * Each extensible bitmap is implemented as a linked * list of bitmap nodes, where each bitmap node has * an explicitly specified starting bit position within * the total bitmap. */ #ifndef _SEPOL_POLICYDB_EBITMAP_H_ #define _SEPOL_POLICYDB_EBITMAP_H_ #include <stdint.h> #include <string.h> #ifdef __cplusplus extern "C" { #endif #define MAPTYPE uint64_t /* portion of bitmap in each node */ #define MAPSIZE (sizeof(MAPTYPE) * 8) /* number of bits in node bitmap */ #define MAPBIT 1ULL /* a bit in the node bitmap */ typedef struct ebitmap_node { uint32_t startbit; /* starting position in the total bitmap */ MAPTYPE map; /* this node's portion of the bitmap */ struct ebitmap_node *next; } ebitmap_node_t; typedef struct ebitmap { ebitmap_node_t *node; /* first node in the bitmap */ uint32_t highbit; /* highest position in the total bitmap */ } ebitmap_t; #define ebitmap_length(e) ((e)->highbit) #define ebitmap_startbit(e) ((e)->node ? (e)->node->startbit : 0) #define ebitmap_startnode(e) ((e)->node) static inline unsigned int ebitmap_start(const ebitmap_t * e, ebitmap_node_t ** n) { *n = e->node; return ebitmap_startbit(e); } static inline void ebitmap_init(ebitmap_t * e) { memset(e, 0, sizeof(*e)); } static inline unsigned int ebitmap_next(ebitmap_node_t ** n, unsigned int bit) { if ((bit == ((*n)->startbit + MAPSIZE - 1)) && (*n)->next) { *n = (*n)->next; return (*n)->startbit; } return (bit + 1); } static inline int ebitmap_node_get_bit(ebitmap_node_t * n, unsigned int bit) { if (n->map & (MAPBIT << (bit - n->startbit))) return 1; return 0; } #define ebitmap_for_each_bit(e, n, bit) \ for (bit = ebitmap_start(e, &n); bit < ebitmap_length(e); bit = ebitmap_next(&n, bit)) \ extern int ebitmap_cmp(const ebitmap_t * e1, const ebitmap_t * e2); extern int ebitmap_or(ebitmap_t * dst, const ebitmap_t * e1, const ebitmap_t * e2); extern int ebitmap_union(ebitmap_t * dst, const ebitmap_t * e1); extern int ebitmap_and(ebitmap_t *dst, ebitmap_t *e1, ebitmap_t *e2); extern int ebitmap_xor(ebitmap_t *dst, ebitmap_t *e1, ebitmap_t *e2); extern int ebitmap_not(ebitmap_t *dst, ebitmap_t *e1, unsigned int maxbit); extern int ebitmap_andnot(ebitmap_t *dst, ebitmap_t *e1, ebitmap_t *e2, unsigned int maxbit); extern unsigned int ebitmap_cardinality(ebitmap_t *e1); extern int ebitmap_hamming_distance(ebitmap_t * e1, ebitmap_t * e2); extern int ebitmap_cpy(ebitmap_t * dst, const ebitmap_t * src); extern int ebitmap_contains(const ebitmap_t * e1, const ebitmap_t * e2); extern int ebitmap_match_any(const ebitmap_t *e1, const ebitmap_t *e2); extern int ebitmap_get_bit(const ebitmap_t * e, unsigned int bit); extern int ebitmap_set_bit(ebitmap_t * e, unsigned int bit, int value); extern void ebitmap_destroy(ebitmap_t * e); extern int ebitmap_read(ebitmap_t * e, void *fp); #ifdef __cplusplus } #endif #endif /* _EBITMAP_H_ */ /* FLASK */