]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4 LT |
2 | /* |
3 | * Implementation of the security services. | |
4 | * | |
7efbb60b | 5 | * Author : Stephen Smalley, <[email protected]> |
1da177e4 LT |
6 | */ |
7 | #ifndef _SS_SERVICES_H_ | |
8 | #define _SS_SERVICES_H_ | |
9 | ||
10 | #include "policydb.h" | |
1da177e4 | 11 | |
aa8e712c SS |
12 | /* Mapping for a single class */ |
13 | struct selinux_mapping { | |
14 | u16 value; /* policy value for class */ | |
15 | unsigned int num_perms; /* number of permissions in class */ | |
16 | u32 perms[sizeof(u32) * 8]; /* policy values for permissions */ | |
17 | }; | |
18 | ||
19 | /* Map for all of the classes, with array size */ | |
20 | struct selinux_map { | |
21 | struct selinux_mapping *mapping; /* indexed by class */ | |
22 | u16 size; /* array size of mapping */ | |
23 | }; | |
24 | ||
25 | struct selinux_ss { | |
24ed7fda | 26 | struct sidtab *sidtab; |
aa8e712c SS |
27 | struct policydb policydb; |
28 | rwlock_t policy_rwlock; | |
29 | u32 latest_granting; | |
30 | struct selinux_map map; | |
5c108d4e | 31 | } __randomize_layout; |
1da177e4 | 32 | |
fa1aa143 JVS |
33 | void services_compute_xperms_drivers(struct extended_perms *xperms, |
34 | struct avtab_node *node); | |
35 | ||
36 | void services_compute_xperms_decision(struct extended_perms_decision *xpermd, | |
37 | struct avtab_node *node); | |
38 | ||
1da177e4 | 39 | #endif /* _SS_SERVICES_H_ */ |