00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef __RSBAC_ADF_H
00011
#define __RSBAC_ADF_H
00012
00013
#include <linux/init.h>
00014
#include <rsbac/types.h>
00015
#include <rsbac/debug.h>
00016
#include <rsbac/fs.h>
00017
00018
00019
00020
00021
00022
00023
#ifdef CONFIG_RSBAC_INIT_DELAY
00024
extern void rsbac_init_adf(
void);
00025
#else
00026
extern void rsbac_init_adf(
void) __init;
00027 #endif
00028
00029
00030
00031
00032
00033 extern enum rsbac_adf_req_ret_t rsbac_adf_request_int(
00034 enum rsbac_adf_request_t,
00035
rsbac_pid_t,
00036 enum rsbac_target_t,
00037 union
rsbac_target_id_t,
00038 enum rsbac_attribute_t,
00039 union
rsbac_attribute_value_t,
00040 enum rsbac_switch_target_t);
00041
00042
00043
00044 extern enum rsbac_adf_req_ret_t rsbac_adf_request(
00045 enum rsbac_adf_request_t,
00046 rsbac_pid_t,
00047 enum rsbac_target_t,
00048 union rsbac_target_id_t,
00049 enum rsbac_attribute_t,
00050 union rsbac_attribute_value_t);
00051
00052
00053
00054
00055
00056
00057
00058 extern
int rsbac_adf_set_attr( enum rsbac_adf_request_t,
00059 rsbac_pid_t,
00060 enum rsbac_target_t,
00061 union rsbac_target_id_t,
00062 enum rsbac_target_t,
00063 union rsbac_target_id_t,
00064 enum rsbac_attribute_t,
00065 union rsbac_attribute_value_t);
00066
00067 #include <linux/types.h>
00068 #include <linux/dcache.h>
00069
00070 extern
int rsbac_sec_del(struct dentry * dentry_p);
00071
00072 extern
int rsbac_sec_trunc(struct dentry * dentry_p,
00073 loff_t new_len, loff_t old_len);
00074
00075 extern
void rsbac_symlink_redirect(struct dentry * dentry_p,
char * name);
00076
00077 #ifdef CONFIG_RSBAC_ALLOW_DAC_DISABLE_PART
00078 extern
int rsbac_dac_part_disabled(struct dentry * dentry_p);
00079 #endif
00080
00081 #ifdef CONFIG_RSBAC_FAKE_ROOT_UID
00082 extern
rsbac_uid_t rsbac_fake_uid(
void);
00083 extern
rsbac_uid_t rsbac_fake_euid(
void);
00084 extern
int rsbac_uid_faked(
void);
00085 #endif
00086
00087 #endif