1f074036424618c130dacb3464465a8b40bffef5Stephen Smalley/* 2f074036424618c130dacb3464465a8b40bffef5Stephen Smalley * This file describes the class and permission mappings used to 3f074036424618c130dacb3464465a8b40bffef5Stephen Smalley * hide the kernel numbers from userspace by allowing userspace object 4f074036424618c130dacb3464465a8b40bffef5Stephen Smalley * managers to specify a list of classes and permissions. 5f074036424618c130dacb3464465a8b40bffef5Stephen Smalley */ 6f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#ifndef _SELINUX_MAPPING_H_ 7f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#define _SELINUX_MAPPING_H_ 8f074036424618c130dacb3464465a8b40bffef5Stephen Smalley 9f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#include <selinux/selinux.h> 10f074036424618c130dacb3464465a8b40bffef5Stephen Smalley 11f074036424618c130dacb3464465a8b40bffef5Stephen Smalley/* 12f074036424618c130dacb3464465a8b40bffef5Stephen Smalley * Get real, kernel values from mapped values 13f074036424618c130dacb3464465a8b40bffef5Stephen Smalley */ 14f074036424618c130dacb3464465a8b40bffef5Stephen Smalley 15f074036424618c130dacb3464465a8b40bffef5Stephen Smalleyextern security_class_t 16f074036424618c130dacb3464465a8b40bffef5Stephen Smalleyunmap_class(security_class_t tclass); 17f074036424618c130dacb3464465a8b40bffef5Stephen Smalley 18f074036424618c130dacb3464465a8b40bffef5Stephen Smalleyextern access_vector_t 19f074036424618c130dacb3464465a8b40bffef5Stephen Smalleyunmap_perm(security_class_t tclass, access_vector_t tperm); 20f074036424618c130dacb3464465a8b40bffef5Stephen Smalley 21f074036424618c130dacb3464465a8b40bffef5Stephen Smalley/* 22f074036424618c130dacb3464465a8b40bffef5Stephen Smalley * Get mapped values from real, kernel values 23f074036424618c130dacb3464465a8b40bffef5Stephen Smalley */ 24f074036424618c130dacb3464465a8b40bffef5Stephen Smalley 25f074036424618c130dacb3464465a8b40bffef5Stephen Smalleyextern security_class_t 26f074036424618c130dacb3464465a8b40bffef5Stephen Smalleymap_class(security_class_t kclass); 27f074036424618c130dacb3464465a8b40bffef5Stephen Smalley 28f074036424618c130dacb3464465a8b40bffef5Stephen Smalleyextern access_vector_t 29f074036424618c130dacb3464465a8b40bffef5Stephen Smalleymap_perm(security_class_t tclass, access_vector_t kperm); 30f074036424618c130dacb3464465a8b40bffef5Stephen Smalley 31f074036424618c130dacb3464465a8b40bffef5Stephen Smalleyextern void 32f074036424618c130dacb3464465a8b40bffef5Stephen Smalleymap_decision(security_class_t tclass, struct av_decision *avd); 33f074036424618c130dacb3464465a8b40bffef5Stephen Smalley 34f074036424618c130dacb3464465a8b40bffef5Stephen Smalley/*mapping is not used for embedded build*/ 35f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#ifdef DISABLE_AVC 36f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#define unmap_perm(x,y) y 37f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#define unmap_class(x) x 38f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#define map_decision(x,y) 39f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#endif 40f074036424618c130dacb3464465a8b40bffef5Stephen Smalley 41f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#endif /* _SELINUX_MAPPING_H_ */ 42