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