00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
#ifndef __RSBAC_RC_H
00012
#define __RSBAC_RC_H
00013
00014
#include <linux/init.h>
00015
#include <rsbac/rc_types.h>
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
#ifdef CONFIG_RSBAC_INIT_DELAY
00029
extern int rsbac_init_rc(
void);
00030
#else
00031
extern int rsbac_init_rc(
void) __init;
00032 #endif
00033
00034
00035 #ifdef CONFIG_RSBAC_INIT_DELAY
00036 extern
int rsbac_rc_get_boot_role(
rsbac_rc_role_id_t * role_p);
00037 #else
00038 extern
int rsbac_rc_get_boot_role(
rsbac_rc_role_id_t * role_p) __init;
00039 #endif
00040
00041
00042
00043 extern
int rsbac_stats_rc(
void);
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 extern
int rsbac_rc_copy_role (
rsbac_rc_role_id_t from_role,
00055
rsbac_rc_role_id_t to_role);
00056
00057
00058 extern
int rsbac_rc_get_item (enum rsbac_rc_target_t target,
00059 union
rsbac_rc_target_id_t tid,
00060 union
rsbac_rc_target_id_t subtid,
00061 enum rsbac_rc_item_t item,
00062 union
rsbac_rc_item_value_t * value_p,
00063
rsbac_time_t * ttl_p);
00064
00065
00066 extern
int rsbac_rc_set_item (enum rsbac_rc_target_t target,
00067 union
rsbac_rc_target_id_t tid,
00068 union
rsbac_rc_target_id_t subtid,
00069 enum rsbac_rc_item_t item,
00070 union
rsbac_rc_item_value_t value,
00071
rsbac_time_t ttl);
00072
00073
00074 extern
boolean rsbac_rc_check_comp(
rsbac_rc_role_id_t role,
00075 union
rsbac_rc_target_id_t subtid,
00076 enum rsbac_rc_item_t item,
00077 enum rsbac_rc_special_rights_t right);
00078
00079
00080
00081
int rsbac_rc_get_list(enum rsbac_rc_target_t target,
00082 union
rsbac_rc_target_id_t tid,
00083 enum rsbac_rc_item_t item,
00084 __u32 ** array_pp,
00085
rsbac_time_t ** ttl_array_pp);
00086
00087 #endif