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
00034 rsbac_adf_request_int(enum rsbac_adf_request_t request,
00035 rsbac_pid_t caller_pid,
00036 enum rsbac_target_t target,
00037 union rsbac_target_id_t * tid_p,
00038 enum rsbac_attribute_t attr,
00039 union rsbac_attribute_value_t * attr_val_p,
00040 enum rsbac_switch_target_t ignore_module);
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 int rsbac_sec_del(struct dentry * dentry_p);
00071
00072 int rsbac_sec_trunc(struct dentry * dentry_p,
00073 loff_t new_len, loff_t old_len);
00074
00075
00076
00077
00078
00079 char * rsbac_symlink_redirect(
00080 struct dentry * dentry_p,
00081 const char * name,
00082 u_int maxlen);
00083
00084 #ifdef CONFIG_RSBAC_ALLOW_DAC_DISABLE_PART
00085 extern int rsbac_dac_part_disabled(struct dentry * dentry_p);
00086 #endif
00087
00088 #ifdef CONFIG_RSBAC_FAKE_ROOT_UID
00089 extern rsbac_uid_t rsbac_fake_uid(void);
00090 extern rsbac_uid_t rsbac_fake_euid(void);
00091 extern int rsbac_uid_faked(void);
00092 #endif
00093
00094 int rsbac_set_audit_uid(rsbac_uid_t uid);
00095
00096 #endif