00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __RSBAC_HELPER_H
00009 #define __RSBAC_HELPER_H
00010
00011 #include <linux/types.h>
00012 #include <rsbac/types.h>
00013
00014 char * inttostr(char[], int);
00015
00016 char * ulongtostr(char[], u_long);
00017
00018
00019 char * u64tostrmac(char[], __u64);
00020
00021 #ifndef __KERNEL__
00022 int rsbac_u32_compare(__u32 * a, __u32 * b);
00023
00024 int rsbac_user_compare(const void * a, const void * b);
00025 int rsbac_group_compare(const void * a, const void * b);
00026 int rsbac_nettemp_id_compare(const void * a, const void * b);
00027
00028 int rsbac_dev_compare(const void * desc1,
00029 const void * desc2);
00030
00031 char * get_user_name(rsbac_uid_t user, char * name);
00032
00033 char * get_group_name(rsbac_gid_t group, char * name);
00034
00035 int rsbac_get_uid_name(rsbac_uid_t * uid, char * name, char * sourcename);
00036
00037 int rsbac_get_fullname(char * fullname, rsbac_uid_t uid);
00038
00039 static inline int rsbac_get_uid(rsbac_uid_t * uid, char * sourcename)
00040 {
00041 return rsbac_get_uid_name(uid, NULL, sourcename);
00042 }
00043
00044 int rsbac_get_gid_name(rsbac_gid_t * gid, char * name, char * sourcename);
00045
00046 static inline int rsbac_get_gid(rsbac_gid_t * gid, char * sourcename)
00047 {
00048 return rsbac_get_gid_name(gid, NULL, sourcename);
00049 }
00050
00051
00052 char * u64tostrlog(char[], __u64);
00053
00054 __u64 strtou64log(char[], __u64 *);
00055
00056
00057
00058 __u64 strtou64mac(char[], __u64 *);
00059
00060
00061 char * u64tostrrc(char[], __u64);
00062
00063 __u64 strtou64rc(char[], __u64 *);
00064
00065
00066 char * u64tostrrcr(char[], __u64);
00067
00068 __u64 strtou64rcr(char[], __u64 *);
00069
00070
00071 __u64 strtou64acl(char[], __u64 *);
00072
00073 char * devdesctostr(char * str, struct rsbac_dev_desc_t dev);
00074
00075 int strtodevdesc(char * str, struct rsbac_dev_desc_t * dev_p);
00076 #endif
00077
00078
00079 char * u64tostracl(char[], __u64);
00080
00081 char * longtostr(char[], long);
00082
00083 #ifdef __KERNEL__
00084 int rsbac_get_owner(rsbac_uid_t * user_p);
00085
00086 int rsbac_put_user(unsigned char *, unsigned char *, int);
00087
00088 int rsbac_get_user(unsigned char *, unsigned char *, int);
00089
00090 extern inline int clear_user_buf(char * ubuf, int len);
00091
00092 char * rsbac_getname(const char *);
00093
00094 void rsbac_putname(const char *);
00095
00096 void rsbac_get_attr_error(char * , enum rsbac_adf_request_t);
00097
00098 void rsbac_ds_get_error(char * function, enum rsbac_attribute_t attr);
00099 void rsbac_ds_get_error_num(char * function, enum rsbac_attribute_t attr, int err);
00100 void rsbac_ds_set_error(char * function, enum rsbac_attribute_t attr);
00101 void rsbac_ds_set_error_num(char * function, enum rsbac_attribute_t attr, int err);
00102
00103 #ifdef CONFIG_RSBAC_RC
00104 void rsbac_rc_ds_get_error(char * function, enum rsbac_rc_item_t item);
00105 void rsbac_rc_ds_set_error(char * function, enum rsbac_rc_item_t item);
00106 #endif
00107
00108 #endif
00109
00110 #endif