00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __RSBAC_SYSCALLS_H
00011 #define __RSBAC_SYSCALLS_H
00012
00013 #include <linux/unistd.h>
00014 #include <rsbac/types.h>
00015 #include <rsbac/getname.h>
00016 #include <rsbac/helpers.h>
00017 #include <rsbac/error.h>
00018
00019 enum rsbac_syscall_t
00020 {
00021 RSYS_version,
00022 RSYS_stats,
00023 RSYS_check,
00024 RSYS_get_attr,
00025 RSYS_get_attr_n,
00026 RSYS_set_attr,
00027 RSYS_set_attr_n,
00028 RSYS_remove_target,
00029 RSYS_remove_target_n,
00030 RSYS_net_list_all_netdev,
00031 RSYS_net_template,
00032 RSYS_net_list_all_template,
00033 RSYS_switch,
00034 RSYS_get_switch,
00035 RSYS_adf_log_switch,
00036 RSYS_get_adf_log,
00037 RSYS_write,
00038 RSYS_log,
00039 RSYS_mac_set_curr_level,
00040 RSYS_mac_get_curr_level,
00041 RSYS_mac_get_max_level,
00042 RSYS_mac_get_min_level,
00043 RSYS_mac_add_p_tru,
00044 RSYS_mac_remove_p_tru,
00045 RSYS_mac_add_f_tru,
00046 RSYS_mac_remove_f_tru,
00047 RSYS_mac_get_f_trulist,
00048 RSYS_mac_get_p_trulist,
00049 RSYS_stats_pm,
00050 RSYS_pm,
00051 RSYS_pm_change_current_task,
00052 RSYS_pm_create_file,
00053 RSYS_daz_flush_cache,
00054 RSYS_rc_copy_role,
00055 RSYS_rc_copy_type,
00056 RSYS_rc_get_item,
00057 RSYS_rc_set_item,
00058 RSYS_rc_change_role,
00059 RSYS_rc_get_eff_rights_n,
00060 RSYS_rc_get_list,
00061 RSYS_auth_add_p_cap,
00062 RSYS_auth_remove_p_cap,
00063 RSYS_auth_add_f_cap,
00064 RSYS_auth_remove_f_cap,
00065 RSYS_auth_get_f_caplist,
00066 RSYS_auth_get_p_caplist,
00067 RSYS_acl,
00068 RSYS_acl_n,
00069 RSYS_acl_get_rights,
00070 RSYS_acl_get_rights_n,
00071 RSYS_acl_get_tlist,
00072 RSYS_acl_get_tlist_n,
00073 RSYS_acl_get_mask,
00074 RSYS_acl_get_mask_n,
00075 RSYS_acl_group,
00076 RSYS_reg,
00077 RSYS_jail,
00078 RSYS_init,
00079 RSYS_rc_get_current_role,
00080 RSYS_um_auth_name,
00081 RSYS_um_auth_uid,
00082 RSYS_um_add_user,
00083 RSYS_um_add_group,
00084 RSYS_um_add_gm,
00085 RSYS_um_mod_user,
00086 RSYS_um_mod_group,
00087 RSYS_um_get_user_item,
00088 RSYS_um_get_group_item,
00089 RSYS_um_remove_user,
00090 RSYS_um_remove_group,
00091 RSYS_um_remove_gm,
00092 RSYS_um_user_exists,
00093 RSYS_um_group_exists,
00094 RSYS_um_get_next_user,
00095 RSYS_um_get_user_list,
00096 RSYS_um_get_gm_list,
00097 RSYS_um_get_gm_user_list,
00098 RSYS_um_get_group_list,
00099 RSYS_um_get_uid,
00100 RSYS_um_get_gid,
00101 RSYS_um_set_pass,
00102 RSYS_um_set_pass_name,
00103 RSYS_um_set_group_pass,
00104 RSYS_um_check_account,
00105 RSYS_um_check_account_name,
00106 RSYS_list_ta_begin,
00107 RSYS_list_ta_refresh,
00108 RSYS_list_ta_commit,
00109 RSYS_list_ta_forget,
00110 RSYS_list_all_dev,
00111 RSYS_acl_list_all_dev,
00112 RSYS_list_all_user,
00113 RSYS_acl_list_all_user,
00114 RSYS_list_all_group,
00115 RSYS_acl_list_all_group,
00116 RSYS_list_all_ipc,
00117 RSYS_rc_select_fd_create_type,
00118 RSYS_none
00119 };
00120
00121
00122 struct rsys_check_t
00123 {
00124 int correct;
00125 int check_inode;
00126 };
00127
00128 struct rsys_get_attr_t
00129 {
00130 rsbac_list_ta_number_t ta_number;
00131 rsbac_enum_t module;
00132 rsbac_enum_t target;
00133 union rsbac_target_id_t * tid;
00134 rsbac_enum_t attr;
00135 union rsbac_attribute_value_t * value;
00136 int inherit;
00137 };
00138
00139 struct rsys_get_attr_n_t
00140 {
00141 rsbac_list_ta_number_t ta_number;
00142 rsbac_enum_t module;
00143 rsbac_enum_t target;
00144 char * t_name;
00145 rsbac_enum_t attr;
00146 union rsbac_attribute_value_t * value;
00147 int inherit;
00148 };
00149
00150 struct rsys_set_attr_t
00151 {
00152 rsbac_list_ta_number_t ta_number;
00153 rsbac_enum_t module;
00154 rsbac_enum_t target;
00155 union rsbac_target_id_t * tid;
00156 rsbac_enum_t attr;
00157 union rsbac_attribute_value_t * value;
00158 };
00159
00160 struct rsys_set_attr_n_t
00161 {
00162 rsbac_list_ta_number_t ta_number;
00163 rsbac_enum_t module;
00164 rsbac_enum_t target;
00165 char * t_name;
00166 rsbac_enum_t attr;
00167 union rsbac_attribute_value_t * value;
00168 };
00169
00170 struct rsys_remove_target_t
00171 {
00172 rsbac_list_ta_number_t ta_number;
00173 rsbac_enum_t target;
00174 union rsbac_target_id_t * tid;
00175 };
00176
00177 struct rsys_remove_target_n_t
00178 {
00179 rsbac_list_ta_number_t ta_number;
00180 rsbac_enum_t target;
00181 char * t_name;
00182 };
00183
00184 struct rsys_net_list_all_netdev_t
00185 {
00186 rsbac_list_ta_number_t ta_number;
00187 rsbac_netdev_id_t * id_p;
00188 u_long maxnum;
00189 };
00190
00191 struct rsys_net_template_t
00192 {
00193 rsbac_list_ta_number_t ta_number;
00194 rsbac_enum_t call;
00195 rsbac_net_temp_id_t id;
00196 union rsbac_net_temp_syscall_data_t * data_p;
00197 };
00198
00199 struct rsys_net_list_all_template_t
00200 {
00201 rsbac_list_ta_number_t ta_number;
00202 rsbac_net_temp_id_t * id_p;
00203 u_long maxnum;
00204 };
00205
00206 struct rsys_switch_t
00207 {
00208 rsbac_enum_t module;
00209 int value;
00210 };
00211
00212 struct rsys_get_switch_t
00213 {
00214 rsbac_enum_t module;
00215 int * value_p;
00216 int * switchable_p;
00217 };
00218
00219 struct rsys_adf_log_switch_t
00220 {
00221 rsbac_enum_t request;
00222 rsbac_enum_t target;
00223 u_int value;
00224 };
00225
00226 struct rsys_get_adf_log_t
00227 {
00228 rsbac_enum_t request;
00229 rsbac_enum_t target;
00230 u_int * value_p;
00231 };
00232
00233 struct rsys_log_t
00234 {
00235 int type;
00236 char * buf;
00237 int len;
00238 };
00239
00240 struct rsys_mac_set_curr_level_t
00241 {
00242 rsbac_security_level_t level;
00243 rsbac_mac_category_vector_t * categories_p;
00244 };
00245
00246 struct rsys_mac_get_curr_level_t
00247 {
00248 rsbac_security_level_t * level_p;
00249 rsbac_mac_category_vector_t * categories_p;
00250 };
00251
00252 struct rsys_mac_get_max_level_t
00253 {
00254 rsbac_security_level_t * level_p;
00255 rsbac_mac_category_vector_t * categories_p;
00256 };
00257
00258 struct rsys_mac_get_min_level_t
00259 {
00260 rsbac_security_level_t * level_p;
00261 rsbac_mac_category_vector_t * categories_p;
00262 };
00263
00264 struct rsys_mac_add_p_tru_t
00265 {
00266 rsbac_list_ta_number_t ta_number;
00267 rsbac_pid_t pid;
00268 rsbac_uid_t uid;
00269 rsbac_time_t ttl;
00270 };
00271
00272 struct rsys_mac_remove_p_tru_t
00273 {
00274 rsbac_list_ta_number_t ta_number;
00275 rsbac_pid_t pid;
00276 rsbac_uid_t uid;
00277 };
00278
00279 struct rsys_mac_add_f_tru_t
00280 {
00281 rsbac_list_ta_number_t ta_number;
00282 char * filename;
00283 rsbac_uid_t uid;
00284 rsbac_time_t ttl;
00285 };
00286
00287 struct rsys_mac_remove_f_tru_t
00288 {
00289 rsbac_list_ta_number_t ta_number;
00290 char * filename;
00291 rsbac_uid_t uid;
00292 };
00293
00294 struct rsys_mac_get_f_trulist_t
00295 {
00296 rsbac_list_ta_number_t ta_number;
00297 char * filename;
00298 rsbac_uid_t * trulist;
00299 rsbac_time_t * ttllist;
00300 u_int maxnum;
00301 };
00302
00303 struct rsys_mac_get_p_trulist_t
00304 {
00305 rsbac_list_ta_number_t ta_number;
00306 rsbac_pid_t pid;
00307 rsbac_uid_t * trulist;
00308 rsbac_time_t * ttllist;
00309 u_int maxnum;
00310 };
00311
00312 struct rsys_pm_t
00313 {
00314 rsbac_list_ta_number_t ta_number;
00315 rsbac_enum_t function;
00316 union rsbac_pm_function_param_t * param_p;
00317 rsbac_pm_tkt_id_t ticket;
00318 };
00319
00320 struct rsys_pm_change_current_task_t
00321 {
00322 rsbac_pm_task_id_t task;
00323 };
00324
00325 struct rsys_pm_create_file_t
00326 {
00327 const char * filename;
00328 int mode;
00329 rsbac_pm_object_class_id_t object_class;
00330 };
00331
00332 struct rsys_rc_copy_role_t
00333 {
00334 rsbac_list_ta_number_t ta_number;
00335 rsbac_rc_role_id_t from_role;
00336 rsbac_rc_role_id_t to_role;
00337 };
00338
00339 struct rsys_rc_copy_type_t
00340 {
00341 rsbac_list_ta_number_t ta_number;
00342 rsbac_enum_t target;
00343 rsbac_rc_type_id_t from_type;
00344 rsbac_rc_type_id_t to_type;
00345 };
00346
00347 struct rsys_rc_get_item_t
00348 {
00349 rsbac_list_ta_number_t ta_number;
00350 rsbac_enum_t target;
00351 union rsbac_rc_target_id_t * tid_p;
00352 union rsbac_rc_target_id_t * subtid_p;
00353 rsbac_enum_t item;
00354 union rsbac_rc_item_value_t * value_p;
00355 rsbac_time_t * ttl_p;
00356 };
00357
00358 struct rsys_rc_set_item_t
00359 {
00360 rsbac_list_ta_number_t ta_number;
00361 rsbac_enum_t target;
00362 union rsbac_rc_target_id_t * tid_p;
00363 union rsbac_rc_target_id_t * subtid_p;
00364 rsbac_enum_t item;
00365 union rsbac_rc_item_value_t * value_p;
00366 rsbac_time_t ttl;
00367 };
00368
00369 struct rsys_rc_get_list_t
00370 {
00371 rsbac_list_ta_number_t ta_number;
00372 rsbac_enum_t target;
00373 union rsbac_rc_target_id_t * tid_p;
00374 rsbac_enum_t item;
00375 u_int maxnum;
00376 __u32 * array_p;
00377 rsbac_time_t * ttl_array_p;
00378 };
00379
00380 struct rsys_rc_change_role_t
00381 {
00382 rsbac_rc_role_id_t role;
00383 char * pass;
00384 };
00385
00386 struct rsys_rc_get_eff_rights_n_t
00387 {
00388 rsbac_list_ta_number_t ta_number;
00389 rsbac_enum_t target;
00390 char * t_name;
00391 rsbac_rc_request_vector_t * request_vector_p;
00392 rsbac_time_t * ttl_p;
00393 };
00394
00395 struct rsys_rc_get_current_role_t
00396 {
00397 rsbac_rc_role_id_t * role_p;
00398 };
00399
00400 struct rsys_auth_add_p_cap_t
00401 {
00402 rsbac_list_ta_number_t ta_number;
00403 rsbac_pid_t pid;
00404 rsbac_enum_t cap_type;
00405 struct rsbac_auth_cap_range_t cap_range;
00406 rsbac_time_t ttl;
00407 };
00408
00409 struct rsys_auth_remove_p_cap_t
00410 {
00411 rsbac_list_ta_number_t ta_number;
00412 rsbac_pid_t pid;
00413 rsbac_enum_t cap_type;
00414 struct rsbac_auth_cap_range_t cap_range;
00415 };
00416
00417 struct rsys_auth_add_f_cap_t
00418 {
00419 rsbac_list_ta_number_t ta_number;
00420 char * filename;
00421 rsbac_enum_t cap_type;
00422 struct rsbac_auth_cap_range_t cap_range;
00423 rsbac_time_t ttl;
00424 };
00425
00426 struct rsys_auth_remove_f_cap_t
00427 {
00428 rsbac_list_ta_number_t ta_number;
00429 char * filename;
00430 rsbac_enum_t cap_type;
00431 struct rsbac_auth_cap_range_t cap_range;
00432 };
00433
00434 struct rsys_auth_get_f_caplist_t
00435 {
00436 rsbac_list_ta_number_t ta_number;
00437 char * filename;
00438 rsbac_enum_t cap_type;
00439 struct rsbac_auth_cap_range_t * caplist;
00440 rsbac_time_t * ttllist;
00441 u_int maxnum;
00442 };
00443
00444 struct rsys_auth_get_p_caplist_t
00445 {
00446 rsbac_list_ta_number_t ta_number;
00447 rsbac_pid_t pid;
00448 rsbac_enum_t cap_type;
00449 struct rsbac_auth_cap_range_t * caplist;
00450 rsbac_time_t * ttllist;
00451 u_int maxnum;
00452 };
00453
00454 struct rsys_acl_t
00455 {
00456 rsbac_list_ta_number_t ta_number;
00457 rsbac_enum_t call;
00458 struct rsbac_acl_syscall_arg_t * arg;
00459 };
00460
00461 struct rsys_acl_n_t
00462 {
00463 rsbac_list_ta_number_t ta_number;
00464 rsbac_enum_t call;
00465 struct rsbac_acl_syscall_n_arg_t * arg;
00466 };
00467
00468 struct rsys_acl_get_rights_t
00469 {
00470 rsbac_list_ta_number_t ta_number;
00471 struct rsbac_acl_syscall_arg_t * arg;
00472 rsbac_acl_rights_vector_t * rights_p;
00473 u_int effective;
00474 };
00475
00476 struct rsys_acl_get_rights_n_t
00477 {
00478 rsbac_list_ta_number_t ta_number;
00479 struct rsbac_acl_syscall_n_arg_t * arg;
00480 rsbac_acl_rights_vector_t * rights_p;
00481 u_int effective;
00482 };
00483
00484 struct rsys_acl_get_tlist_t
00485 {
00486 rsbac_list_ta_number_t ta_number;
00487 rsbac_enum_t target;
00488 union rsbac_target_id_t * tid;
00489 struct rsbac_acl_entry_t * entry_array;
00490 rsbac_time_t * ttl_array;
00491 u_int maxnum;
00492 };
00493
00494 struct rsys_acl_get_tlist_n_t
00495 {
00496 rsbac_list_ta_number_t ta_number;
00497 rsbac_enum_t target;
00498 char * t_name;
00499 struct rsbac_acl_entry_t * entry_array;
00500 rsbac_time_t * ttl_array;
00501 u_int maxnum;
00502 };
00503
00504 struct rsys_acl_get_mask_t
00505 {
00506 rsbac_list_ta_number_t ta_number;
00507 rsbac_enum_t target;
00508 union rsbac_target_id_t * tid;
00509 rsbac_acl_rights_vector_t * mask_p;
00510 };
00511
00512 struct rsys_acl_get_mask_n_t
00513 {
00514 rsbac_list_ta_number_t ta_number;
00515 rsbac_enum_t target;
00516 char * t_name;
00517 rsbac_acl_rights_vector_t * mask_p;
00518 };
00519
00520 struct rsys_acl_group_t
00521 {
00522 rsbac_list_ta_number_t ta_number;
00523 rsbac_enum_t call;
00524 union rsbac_acl_group_syscall_arg_t * arg_p;
00525 };
00526
00527 struct rsys_reg_t
00528 {
00529 long handle;
00530 void * arg;
00531 };
00532
00533 struct rsys_jail_t
00534 {
00535 rsbac_version_t version;
00536 char * path;
00537 rsbac_jail_ip_t ip;
00538 rsbac_jail_flags_t flags;
00539 rsbac_cap_vector_t max_caps;
00540 rsbac_jail_scd_vector_t scd_get;
00541 rsbac_jail_scd_vector_t scd_modify;
00542 };
00543
00544 struct rsys_init_t
00545 {
00546 char * root_dev;
00547 };
00548
00549 struct rsys_um_auth_name_t
00550 {
00551 char * name;
00552 char * pass;
00553 };
00554
00555 struct rsys_um_auth_uid_t
00556 {
00557 rsbac_uid_t uid;
00558 char * pass;
00559 };
00560
00561 struct rsys_um_add_user_t
00562 {
00563 rsbac_list_ta_number_t ta_number;
00564 rsbac_uid_t uid;
00565 struct rsbac_um_user_entry_t * entry_p;
00566 char * pass;
00567 rsbac_time_t ttl;
00568 };
00569
00570 struct rsys_um_add_group_t
00571 {
00572 rsbac_list_ta_number_t ta_number;
00573 rsbac_gid_t gid;
00574 struct rsbac_um_group_entry_t * entry_p;
00575 char * pass;
00576 rsbac_time_t ttl;
00577 };
00578
00579 struct rsys_um_add_gm_t
00580 {
00581 rsbac_list_ta_number_t ta_number;
00582 rsbac_uid_t uid;
00583 rsbac_gid_t gid;
00584 rsbac_time_t ttl;
00585 };
00586
00587 struct rsys_um_mod_user_t
00588 {
00589 rsbac_list_ta_number_t ta_number;
00590 rsbac_uid_t uid;
00591 rsbac_enum_t mod;
00592 union rsbac_um_mod_data_t * data_p;
00593 };
00594
00595 struct rsys_um_mod_group_t
00596 {
00597 rsbac_list_ta_number_t ta_number;
00598 rsbac_gid_t gid;
00599 rsbac_enum_t mod;
00600 union rsbac_um_mod_data_t * data_p;
00601 };
00602
00603 struct rsys_um_get_user_item_t
00604 {
00605 rsbac_list_ta_number_t ta_number;
00606 rsbac_uid_t uid;
00607 rsbac_enum_t mod;
00608 union rsbac_um_mod_data_t * data_p;
00609 };
00610
00611 struct rsys_um_get_group_item_t
00612 {
00613 rsbac_list_ta_number_t ta_number;
00614 rsbac_gid_t gid;
00615 rsbac_enum_t mod;
00616 union rsbac_um_mod_data_t * data_p;
00617 };
00618
00619 struct rsys_um_remove_user_t
00620 {
00621 rsbac_list_ta_number_t ta_number;
00622 rsbac_uid_t uid;
00623 };
00624
00625 struct rsys_um_remove_group_t
00626 {
00627 rsbac_list_ta_number_t ta_number;
00628 rsbac_gid_t gid;
00629 };
00630
00631 struct rsys_um_remove_gm_t
00632 {
00633 rsbac_list_ta_number_t ta_number;
00634 rsbac_uid_t uid;
00635 rsbac_gid_t gid;
00636 };
00637
00638 struct rsys_um_user_exists_t
00639 {
00640 rsbac_list_ta_number_t ta_number;
00641 rsbac_uid_t uid;
00642 };
00643
00644 struct rsys_um_group_exists_t
00645 {
00646 rsbac_list_ta_number_t ta_number;
00647 rsbac_gid_t gid;
00648 };
00649
00650 struct rsys_um_get_next_user_t
00651 {
00652 rsbac_list_ta_number_t ta_number;
00653 rsbac_uid_t old_user;
00654 rsbac_uid_t * next_user_p;
00655 };
00656
00657 struct rsys_um_get_user_list_t
00658 {
00659 rsbac_list_ta_number_t ta_number;
00660 rsbac_uid_t * user_array;
00661 u_int maxnum;
00662 };
00663
00664 struct rsys_um_get_gm_list_t
00665 {
00666 rsbac_list_ta_number_t ta_number;
00667 rsbac_uid_t user;
00668 rsbac_gid_t * group_array;
00669 u_int maxnum;
00670 };
00671
00672 struct rsys_um_get_gm_user_list_t
00673 {
00674 rsbac_list_ta_number_t ta_number;
00675 rsbac_gid_t group;
00676 rsbac_uid_t * user_array;
00677 u_int maxnum;
00678 };
00679
00680 struct rsys_um_get_group_list_t
00681 {
00682 rsbac_list_ta_number_t ta_number;
00683 rsbac_gid_t * group_array;
00684 u_int maxnum;
00685 };
00686
00687 struct rsys_um_get_uid_t
00688 {
00689 rsbac_list_ta_number_t ta_number;
00690 char * name;
00691 rsbac_uid_t * uid_p;
00692 };
00693
00694 struct rsys_um_get_gid_t
00695 {
00696 rsbac_list_ta_number_t ta_number;
00697 char * name;
00698 rsbac_gid_t * gid_p;
00699 };
00700
00701 struct rsys_um_set_pass_t
00702 {
00703 rsbac_uid_t uid;
00704 char * old_pass;
00705 char * new_pass;
00706 };
00707
00708 struct rsys_um_set_pass_name_t
00709 {
00710 char * name;
00711 char * old_pass;
00712 char * new_pass;
00713 };
00714
00715 struct rsys_um_set_group_pass_t
00716 {
00717 rsbac_gid_t gid;
00718 char * new_pass;
00719 };
00720
00721 struct rsys_um_check_account_t
00722 {
00723 rsbac_uid_t uid;
00724 };
00725
00726 struct rsys_um_check_account_name_t
00727 {
00728 char * name;
00729 };
00730
00731 struct rsys_list_ta_begin_t
00732 {
00733 rsbac_time_t ttl;
00734 rsbac_list_ta_number_t * ta_number_p;
00735 rsbac_uid_t commit_uid;
00736 char * password;
00737 };
00738
00739 struct rsys_list_ta_refresh_t
00740 {
00741 rsbac_time_t ttl;
00742 rsbac_list_ta_number_t ta_number;
00743 char * password;
00744 };
00745
00746 struct rsys_list_ta_commit_t
00747 {
00748 rsbac_list_ta_number_t ta_number;
00749 char * password;
00750 };
00751
00752 struct rsys_list_ta_forget_t
00753 {
00754 rsbac_list_ta_number_t ta_number;
00755 char * password;
00756 };
00757
00758 struct rsys_list_all_dev_t
00759 {
00760 rsbac_list_ta_number_t ta_number;
00761 struct rsbac_dev_desc_t * id_p;
00762 u_long maxnum;
00763 };
00764
00765 struct rsys_acl_list_all_dev_t
00766 {
00767 rsbac_list_ta_number_t ta_number;
00768 struct rsbac_dev_desc_t * id_p;
00769 u_long maxnum;
00770 };
00771
00772 struct rsys_list_all_user_t
00773 {
00774 rsbac_list_ta_number_t ta_number;
00775 rsbac_uid_t * id_p;
00776 u_long maxnum;
00777 };
00778
00779 struct rsys_acl_list_all_user_t
00780 {
00781 rsbac_list_ta_number_t ta_number;
00782 rsbac_uid_t * id_p;
00783 u_long maxnum;
00784 };
00785
00786 struct rsys_list_all_group_t
00787 {
00788 rsbac_list_ta_number_t ta_number;
00789 rsbac_gid_t * id_p;
00790 u_long maxnum;
00791 };
00792
00793 struct rsys_acl_list_all_group_t
00794 {
00795 rsbac_list_ta_number_t ta_number;
00796 rsbac_gid_t * id_p;
00797 u_long maxnum;
00798 };
00799
00800 struct rsys_list_all_ipc_t {
00801 rsbac_list_ta_number_t ta_number;
00802 struct rsbac_ipc_t *id_p;
00803 u_long maxnum;
00804 };
00805
00806 struct rsys_rc_select_fd_create_type_t {
00807 rsbac_rc_type_id_t type;
00808 };
00809
00810
00811 union rsbac_syscall_arg_t
00812 {
00813 struct rsys_check_t check;
00814 struct rsys_get_attr_t get_attr;
00815 struct rsys_get_attr_n_t get_attr_n;
00816 struct rsys_set_attr_t set_attr;
00817 struct rsys_set_attr_n_t set_attr_n;
00818 struct rsys_remove_target_t remove_target;
00819 struct rsys_remove_target_n_t remove_target_n;
00820 struct rsys_net_list_all_netdev_t net_list_all_netdev;
00821 struct rsys_net_template_t net_template;
00822 struct rsys_net_list_all_template_t net_list_all_template;
00823 struct rsys_switch_t switch_module;
00824 struct rsys_get_switch_t get_switch_module;
00825 struct rsys_adf_log_switch_t adf_log_switch;
00826 struct rsys_get_adf_log_t get_adf_log;
00827 struct rsys_log_t log;
00828 struct rsys_mac_set_curr_level_t mac_set_curr_level;
00829 struct rsys_mac_get_curr_level_t mac_get_curr_level;
00830 struct rsys_mac_get_max_level_t mac_get_max_level;
00831 struct rsys_mac_get_min_level_t mac_get_min_level;
00832 struct rsys_mac_add_p_tru_t mac_add_p_tru;
00833 struct rsys_mac_remove_p_tru_t mac_remove_p_tru;
00834 struct rsys_mac_add_f_tru_t mac_add_f_tru;
00835 struct rsys_mac_remove_f_tru_t mac_remove_f_tru;
00836 struct rsys_mac_get_f_trulist_t mac_get_f_trulist;
00837 struct rsys_mac_get_p_trulist_t mac_get_p_trulist;
00838 struct rsys_pm_t pm;
00839 struct rsys_pm_change_current_task_t pm_change_current_task;
00840 struct rsys_pm_create_file_t pm_create_file;
00841 struct rsys_rc_copy_role_t rc_copy_role;
00842 struct rsys_rc_copy_type_t rc_copy_type;
00843 struct rsys_rc_get_item_t rc_get_item;
00844 struct rsys_rc_set_item_t rc_set_item;
00845 struct rsys_rc_get_list_t rc_get_list;
00846 struct rsys_rc_change_role_t rc_change_role;
00847 struct rsys_rc_get_eff_rights_n_t rc_get_eff_rights_n;
00848 struct rsys_rc_get_current_role_t rc_get_current_role;
00849 struct rsys_auth_add_p_cap_t auth_add_p_cap;
00850 struct rsys_auth_remove_p_cap_t auth_remove_p_cap;
00851 struct rsys_auth_add_f_cap_t auth_add_f_cap;
00852 struct rsys_auth_remove_f_cap_t auth_remove_f_cap;
00853 struct rsys_auth_get_f_caplist_t auth_get_f_caplist;
00854 struct rsys_auth_get_p_caplist_t auth_get_p_caplist;
00855 struct rsys_acl_t acl;
00856 struct rsys_acl_n_t acl_n;
00857 struct rsys_acl_get_rights_t acl_get_rights;
00858 struct rsys_acl_get_rights_n_t acl_get_rights_n;
00859 struct rsys_acl_get_tlist_t acl_get_tlist;
00860 struct rsys_acl_get_tlist_n_t acl_get_tlist_n;
00861 struct rsys_acl_get_mask_t acl_get_mask;
00862 struct rsys_acl_get_mask_n_t acl_get_mask_n;
00863 struct rsys_acl_group_t acl_group;
00864 struct rsys_reg_t reg;
00865 struct rsys_jail_t jail;
00866 struct rsys_init_t init;
00867 struct rsys_um_auth_name_t um_auth_name;
00868 struct rsys_um_auth_uid_t um_auth_uid;
00869 struct rsys_um_add_user_t um_add_user;
00870 struct rsys_um_add_group_t um_add_group;
00871 struct rsys_um_add_gm_t um_add_gm;
00872 struct rsys_um_mod_user_t um_mod_user;
00873 struct rsys_um_mod_group_t um_mod_group;
00874 struct rsys_um_get_user_item_t um_get_user_item;
00875 struct rsys_um_get_group_item_t um_get_group_item;
00876 struct rsys_um_remove_user_t um_remove_user;
00877 struct rsys_um_remove_group_t um_remove_group;
00878 struct rsys_um_remove_gm_t um_remove_gm;
00879 struct rsys_um_user_exists_t um_user_exists;
00880 struct rsys_um_group_exists_t um_group_exists;
00881 struct rsys_um_get_next_user_t um_get_next_user;
00882 struct rsys_um_get_user_list_t um_get_user_list;
00883 struct rsys_um_get_gm_list_t um_get_gm_list;
00884 struct rsys_um_get_gm_user_list_t um_get_gm_user_list;
00885 struct rsys_um_get_group_list_t um_get_group_list;
00886 struct rsys_um_get_uid_t um_get_uid;
00887 struct rsys_um_get_gid_t um_get_gid;
00888 struct rsys_um_set_pass_t um_set_pass;
00889 struct rsys_um_set_pass_name_t um_set_pass_name;
00890 struct rsys_um_set_group_pass_t um_set_group_pass;
00891 struct rsys_um_check_account_t um_check_account;
00892 struct rsys_um_check_account_name_t um_check_account_name;
00893 struct rsys_list_ta_begin_t list_ta_begin;
00894 struct rsys_list_ta_refresh_t list_ta_refresh;
00895 struct rsys_list_ta_commit_t list_ta_commit;
00896 struct rsys_list_ta_forget_t list_ta_forget;
00897 struct rsys_list_all_dev_t list_all_dev;
00898 struct rsys_acl_list_all_dev_t acl_list_all_dev;
00899 struct rsys_list_all_user_t list_all_user;
00900 struct rsys_acl_list_all_user_t acl_list_all_user;
00901 struct rsys_list_all_group_t list_all_group;
00902 struct rsys_acl_list_all_group_t acl_list_all_group;
00903 struct rsys_list_all_ipc_t list_all_ipc;
00904 struct rsys_rc_select_fd_create_type_t rc_select_fd_create_type;
00905 int dummy;
00906 };
00907
00908 #ifndef __KERNEL__
00909 int rsbac_version(void);
00910
00911 int rsbac_stats(void);
00912
00913 int rsbac_check(int correct, int check_inode);
00914
00915 int rsbac_write(void);
00916
00917 int rsbac_get_attr(
00918 rsbac_list_ta_number_t ta_number,
00919 enum rsbac_switch_target_t module,
00920 enum rsbac_target_t target,
00921 union rsbac_target_id_t * tid,
00922 enum rsbac_attribute_t attr,
00923 union rsbac_attribute_value_t * value,
00924 int inherit);
00925
00926 int rsbac_get_attr_n(
00927 rsbac_list_ta_number_t ta_number,
00928 enum rsbac_switch_target_t module,
00929 enum rsbac_target_t target,
00930 char * t_name,
00931 enum rsbac_attribute_t attr,
00932 union rsbac_attribute_value_t * value,
00933 int inherit);
00934
00935 int rsbac_set_attr(
00936 rsbac_list_ta_number_t ta_number,
00937 enum rsbac_switch_target_t module,
00938 enum rsbac_target_t target,
00939 union rsbac_target_id_t * tid,
00940 enum rsbac_attribute_t attr,
00941 union rsbac_attribute_value_t * value);
00942
00943
00944 int rsbac_set_attr_n(
00945 rsbac_list_ta_number_t ta_number,
00946 enum rsbac_switch_target_t module,
00947 enum rsbac_target_t target,
00948 char * t_name,
00949 enum rsbac_attribute_t attr,
00950 union rsbac_attribute_value_t * value);
00951
00952 int rsbac_remove_target(
00953 rsbac_list_ta_number_t ta_number,
00954 enum rsbac_target_t target,
00955 union rsbac_target_id_t * tid);
00956
00957 int rsbac_remove_target_n(
00958 rsbac_list_ta_number_t ta_number,
00959 enum rsbac_target_t target,
00960 char * t_name);
00961
00962 int rsbac_net_list_all_netdev(
00963 rsbac_list_ta_number_t ta_number,
00964 rsbac_netdev_id_t * id_p,
00965 u_long maxnum);
00966
00967 int rsbac_net_template(
00968 rsbac_list_ta_number_t ta_number,
00969 enum rsbac_net_temp_syscall_t call,
00970 rsbac_net_temp_id_t id,
00971 union rsbac_net_temp_syscall_data_t * data_p);
00972
00973 int rsbac_net_list_all_template(
00974 rsbac_list_ta_number_t ta_number,
00975 rsbac_net_temp_id_t * id_p,
00976 u_long maxnum);
00977
00978 int rsbac_switch(enum rsbac_switch_target_t module, int value);
00979
00980 int rsbac_get_switch(enum rsbac_switch_target_t module, int * value_p, int * switchable_p);
00981
00982
00983
00984 int rsbac_mac_set_curr_level(rsbac_security_level_t level,
00985 rsbac_mac_category_vector_t * categories_p);
00986
00987 int rsbac_mac_get_curr_level(rsbac_security_level_t * level_p,
00988 rsbac_mac_category_vector_t * categories_p);
00989
00990 int rsbac_mac_get_max_level(rsbac_security_level_t * level_p,
00991 rsbac_mac_category_vector_t * categories_p);
00992
00993 int rsbac_mac_get_min_level(rsbac_security_level_t * level_p,
00994 rsbac_mac_category_vector_t * categories_p);
00995
00996 int rsbac_mac_add_p_tru(
00997 rsbac_list_ta_number_t ta_number,
00998 rsbac_pid_t pid,
00999 rsbac_uid_t uid,
01000 rsbac_time_t ttl);
01001
01002 int rsbac_mac_remove_p_tru(
01003 rsbac_list_ta_number_t ta_number,
01004 rsbac_pid_t pid,
01005 rsbac_uid_t uid);
01006
01007 int rsbac_mac_add_f_tru(
01008 rsbac_list_ta_number_t ta_number,
01009 char * filename,
01010 rsbac_uid_t uid,
01011 rsbac_time_t ttl);
01012
01013 int rsbac_mac_remove_f_tru(
01014 rsbac_list_ta_number_t ta_number,
01015 char * filename,
01016 rsbac_uid_t uid);
01017
01018
01019 int rsbac_mac_get_f_trulist(
01020 rsbac_list_ta_number_t ta_number,
01021 char * filename,
01022 rsbac_uid_t trulist[],
01023 rsbac_time_t ttllist[],
01024 u_int maxnum);
01025
01026 int rsbac_mac_get_p_trulist(
01027 rsbac_list_ta_number_t ta_number,
01028 rsbac_pid_t pid,
01029 rsbac_uid_t trulist[],
01030 rsbac_time_t ttllist[],
01031 u_int maxnum);
01032
01033
01034
01035 int rsbac_stats_pm(void);
01036
01037 int rsbac_pm(
01038 rsbac_list_ta_number_t ta_number,
01039 enum rsbac_pm_function_type_t function,
01040 union rsbac_pm_function_param_t * param_p,
01041 rsbac_pm_tkt_id_t ticket);
01042
01043 int rsbac_pm_change_current_task(rsbac_pm_task_id_t task);
01044
01045 int rsbac_pm_create_file(const char * filename,
01046 int mode,
01047 rsbac_pm_object_class_id_t object_class);
01048
01049
01050
01051 int rsbac_daz_flush_cache(void);
01052
01053
01054
01055 int rsbac_rc_copy_role(
01056 rsbac_list_ta_number_t ta_number,
01057 rsbac_rc_role_id_t from_role,
01058 rsbac_rc_role_id_t to_role);
01059
01060 int rsbac_rc_copy_type(
01061 rsbac_list_ta_number_t ta_number,
01062 enum rsbac_target_t target,
01063 rsbac_rc_type_id_t from_type,
01064 rsbac_rc_type_id_t to_type);
01065
01066 int rsbac_rc_get_item(
01067 rsbac_list_ta_number_t ta_number,
01068 enum rsbac_rc_target_t target,
01069 union rsbac_rc_target_id_t * tid_p,
01070 union rsbac_rc_target_id_t * subtid_p,
01071 enum rsbac_rc_item_t item,
01072 union rsbac_rc_item_value_t * value_p,
01073 rsbac_time_t * ttl_p);
01074
01075
01076 int rsbac_rc_set_item(
01077 rsbac_list_ta_number_t ta_number,
01078 enum rsbac_rc_target_t target,
01079 union rsbac_rc_target_id_t * tid_p,
01080 union rsbac_rc_target_id_t * subtid_p,
01081 enum rsbac_rc_item_t item,
01082 union rsbac_rc_item_value_t * value_p,
01083 rsbac_time_t ttl);
01084
01085 int rsbac_rc_get_list(
01086 rsbac_list_ta_number_t ta_number,
01087 enum rsbac_rc_target_t target,
01088 union rsbac_rc_target_id_t * tid_p,
01089 enum rsbac_rc_item_t item,
01090 u_int maxnum,
01091 __u32 * array_p,
01092 rsbac_time_t * ttl_array_p);
01093
01094 int rsbac_rc_change_role (rsbac_rc_role_id_t role, char * pass);
01095
01096 int rsbac_rc_get_eff_rights_n(
01097 rsbac_list_ta_number_t ta_number,
01098 enum rsbac_target_t target,
01099 char * t_name,
01100 rsbac_rc_request_vector_t * request_vector_p,
01101 rsbac_time_t * ttl_p);
01102
01103 int rsbac_rc_get_current_role (rsbac_rc_role_id_t * role_p);
01104
01105 int rsbac_rc_sys_select_fd_create_type(rsbac_rc_type_id_t type);
01106
01107
01108
01109
01110 int rsbac_auth_add_p_cap(
01111 rsbac_list_ta_number_t ta_number,
01112 rsbac_pid_t pid,
01113 enum rsbac_auth_cap_type_t cap_type,
01114 struct rsbac_auth_cap_range_t cap_range,
01115 rsbac_time_t ttl);
01116
01117 int rsbac_auth_remove_p_cap(
01118 rsbac_list_ta_number_t ta_number,
01119 rsbac_pid_t pid,
01120 enum rsbac_auth_cap_type_t cap_type,
01121 struct rsbac_auth_cap_range_t cap_range);
01122
01123 int rsbac_auth_add_f_cap(
01124 rsbac_list_ta_number_t ta_number,
01125 char * filename,
01126 enum rsbac_auth_cap_type_t cap_type,
01127 struct rsbac_auth_cap_range_t cap_range,
01128 rsbac_time_t ttl);
01129
01130 int rsbac_auth_remove_f_cap(
01131 rsbac_list_ta_number_t ta_number,
01132 char * filename,
01133 enum rsbac_auth_cap_type_t cap_type,
01134 struct rsbac_auth_cap_range_t cap_range);
01135
01136
01137 int rsbac_auth_get_f_caplist(
01138 rsbac_list_ta_number_t ta_number,
01139 char * filename,
01140 enum rsbac_auth_cap_type_t cap_type,
01141 struct rsbac_auth_cap_range_t caplist[],
01142 rsbac_time_t ttllist[],
01143 u_int maxnum);
01144
01145 int rsbac_auth_get_p_caplist(
01146 rsbac_list_ta_number_t ta_number,
01147 rsbac_pid_t pid,
01148 enum rsbac_auth_cap_type_t cap_type,
01149 struct rsbac_auth_cap_range_t caplist[],
01150 rsbac_time_t ttllist[],
01151 u_int maxnum);
01152
01153
01154
01155
01156 int rsbac_reg(rsbac_reg_handle_t handle,
01157 void * arg);
01158
01159
01160
01161
01162
01163 int rsbac_acl(
01164 rsbac_list_ta_number_t ta_number,
01165 enum rsbac_acl_syscall_type_t call,
01166 struct rsbac_acl_syscall_arg_t * arg);
01167
01168 int rsbac_acl_n(
01169 rsbac_list_ta_number_t ta_number,
01170 enum rsbac_acl_syscall_type_t call,
01171 struct rsbac_acl_syscall_n_arg_t * arg);
01172
01173 int rsbac_acl_get_rights(
01174 rsbac_list_ta_number_t ta_number,
01175 struct rsbac_acl_syscall_arg_t * arg,
01176 rsbac_acl_rights_vector_t * rights_p,
01177 u_int effective);
01178
01179
01180 int rsbac_acl_get_rights_n(
01181 rsbac_list_ta_number_t ta_number,
01182 struct rsbac_acl_syscall_n_arg_t * arg,
01183 rsbac_acl_rights_vector_t * rights_p,
01184 u_int effective);
01185
01186 int rsbac_acl_get_tlist (
01187 rsbac_list_ta_number_t ta_number,
01188 enum rsbac_target_t target,
01189 union rsbac_target_id_t * tid,
01190 struct rsbac_acl_entry_t entry_array[],
01191 rsbac_time_t ttl_array[],
01192 u_int maxnum);
01193
01194 int rsbac_acl_get_tlist_n(
01195 rsbac_list_ta_number_t ta_number,
01196 enum rsbac_target_t target,
01197 char * t_name,
01198 struct rsbac_acl_entry_t entry_array[],
01199 rsbac_time_t ttl_array[],
01200 u_int maxnum);
01201
01202 int rsbac_acl_get_mask (
01203 rsbac_list_ta_number_t ta_number,
01204 enum rsbac_target_t target,
01205 union rsbac_target_id_t * tid,
01206 rsbac_acl_rights_vector_t * mask_p);
01207
01208 int rsbac_acl_get_mask_n(
01209 rsbac_list_ta_number_t ta_number,
01210 enum rsbac_target_t target,
01211 char * t_name,
01212 rsbac_acl_rights_vector_t * mask_p);
01213
01214
01215
01216 int rsbac_acl_group(
01217 rsbac_list_ta_number_t ta_number,
01218 enum rsbac_acl_group_syscall_type_t call,
01219 union rsbac_acl_group_syscall_arg_t * arg_p);
01220
01221
01222
01223
01224
01225 int rsbac_jail(rsbac_version_t version,
01226 char * path,
01227 rsbac_jail_ip_t ip,
01228 rsbac_jail_flags_t flags,
01229 rsbac_cap_vector_t max_caps,
01230 rsbac_jail_scd_vector_t scd_get,
01231 rsbac_jail_scd_vector_t scd_modify
01232 );
01233
01234 int rsbac_list_all_ipc(rsbac_list_ta_number_t ta_number,
01235 struct rsbac_ipc_t * id_p, u_long maxnum);
01236
01237
01238
01239
01240 int rsbac_um_auth_name(char * name,
01241 char * pass);
01242
01243 int rsbac_um_auth_uid(rsbac_uid_t uid,
01244 char * pass);
01245
01246 int rsbac_um_add_user(
01247 rsbac_list_ta_number_t ta_number,
01248 rsbac_uid_t uid,
01249 struct rsbac_um_user_entry_t * entry_p,
01250 char * pass,
01251 rsbac_time_t ttl);
01252
01253 int rsbac_um_add_group(
01254 rsbac_list_ta_number_t ta_number,
01255 rsbac_gid_t gid,
01256 struct rsbac_um_group_entry_t * entry_p,
01257 char * pass,
01258 rsbac_time_t ttl);
01259
01260 int rsbac_um_add_gm(
01261 rsbac_list_ta_number_t ta_number,
01262 rsbac_uid_t uid,
01263 rsbac_gid_t gid,
01264 rsbac_time_t ttl);
01265
01266 int rsbac_um_mod_user(
01267 rsbac_list_ta_number_t ta_number,
01268 rsbac_uid_t uid,
01269 enum rsbac_um_mod_t mod,
01270 union rsbac_um_mod_data_t * data_p);
01271
01272 int rsbac_um_mod_group(
01273 rsbac_list_ta_number_t ta_number,
01274 rsbac_gid_t gid,
01275 enum rsbac_um_mod_t mod,
01276 union rsbac_um_mod_data_t * data_p);
01277
01278 int rsbac_um_get_user_item(
01279 rsbac_list_ta_number_t ta_number,
01280 rsbac_uid_t uid,
01281 enum rsbac_um_mod_t mod,
01282 union rsbac_um_mod_data_t * data_p);
01283
01284 int rsbac_um_get_group_item(
01285 rsbac_list_ta_number_t ta_number,
01286 rsbac_gid_t gid,
01287 enum rsbac_um_mod_t mod,
01288 union rsbac_um_mod_data_t * data_p);
01289
01290 int rsbac_um_remove_user(
01291 rsbac_list_ta_number_t ta_number,
01292 rsbac_uid_t uid);
01293
01294 int rsbac_um_remove_group(
01295 rsbac_list_ta_number_t ta_number,
01296 rsbac_gid_t gid);
01297
01298 int rsbac_um_remove_gm(
01299 rsbac_list_ta_number_t ta_number,
01300 rsbac_uid_t uid,
01301 rsbac_gid_t gid);
01302
01303 int rsbac_um_user_exists(
01304 rsbac_list_ta_number_t ta_number,
01305 rsbac_uid_t uid);
01306
01307 int rsbac_um_group_exists(
01308 rsbac_list_ta_number_t ta_number,
01309 rsbac_gid_t gid);
01310
01311 int rsbac_um_get_next_user(
01312 rsbac_list_ta_number_t ta_number,
01313 rsbac_uid_t old_user,
01314 rsbac_uid_t * next_user_p);
01315
01316 int rsbac_um_get_user_list(
01317 rsbac_list_ta_number_t ta_number,
01318 rsbac_uid_t user_array[],
01319 u_int maxnum);
01320
01321 int rsbac_um_get_gm_list(
01322 rsbac_list_ta_number_t ta_number,
01323 rsbac_uid_t user,
01324 rsbac_gid_t group_array[],
01325 u_int maxnum);
01326
01327 int rsbac_um_get_gm_user_list(
01328 rsbac_list_ta_number_t ta_number,
01329 rsbac_gid_t group,
01330 rsbac_uid_t user_array[],
01331 u_int maxnum);
01332
01333 int rsbac_um_get_group_list(
01334 rsbac_list_ta_number_t ta_number,
01335 rsbac_gid_t group_array[],
01336 u_int maxnum);
01337
01338 int rsbac_um_get_uid(
01339 rsbac_list_ta_number_t ta_number,
01340 char * name,
01341 rsbac_uid_t * uid_p);
01342
01343 int rsbac_um_get_gid(
01344 rsbac_list_ta_number_t ta_number,
01345 char * name,
01346 rsbac_gid_t * gid_p);
01347
01348 int rsbac_um_set_pass(rsbac_uid_t uid,
01349 char * old_pass,
01350 char * new_pass);
01351
01352 int rsbac_um_set_pass_name(char * name,
01353 char * old_pass,
01354 char * new_pass);
01355
01356 int rsbac_um_set_group_pass(rsbac_gid_t gid,
01357 char * new_pass);
01358
01359 int rsbac_um_check_account(rsbac_uid_t uid);
01360
01361 int rsbac_um_check_account_name(char * name);
01362
01363 int rsbac_list_ta_begin(rsbac_time_t ttl,
01364 rsbac_list_ta_number_t * ta_number_p,
01365 rsbac_uid_t commit_uid,
01366 char * password);
01367
01368 int rsbac_list_ta_refresh(rsbac_time_t ttl,
01369 rsbac_list_ta_number_t ta_number,
01370 char * password);
01371
01372 int rsbac_list_ta_commit(rsbac_list_ta_number_t ta_number,
01373 char * password);
01374
01375 int rsbac_list_ta_forget(rsbac_list_ta_number_t ta_number,
01376 char * password);
01377
01378 int rsbac_list_all_dev(
01379 rsbac_list_ta_number_t ta_number,
01380 struct rsbac_dev_desc_t * id_p,
01381 u_long maxnum);
01382
01383 int rsbac_acl_list_all_dev(
01384 rsbac_list_ta_number_t ta_number,
01385 struct rsbac_dev_desc_t * id_p,
01386 u_long maxnum);
01387
01388 int rsbac_list_all_user(
01389 rsbac_list_ta_number_t ta_number,
01390 rsbac_uid_t * id_p,
01391 u_long maxnum);
01392
01393 int rsbac_acl_list_all_user(
01394 rsbac_list_ta_number_t ta_number,
01395 rsbac_uid_t * id_p,
01396 u_long maxnum);
01397
01398 int rsbac_list_all_group(
01399 rsbac_list_ta_number_t ta_number,
01400 rsbac_gid_t * id_p,
01401 u_long maxnum);
01402
01403 int rsbac_acl_list_all_group(
01404 rsbac_list_ta_number_t ta_number,
01405 rsbac_gid_t * id_p,
01406 u_long maxnum);
01407
01408
01409
01410
01411
01412 int rsbac_adf_log_switch(enum rsbac_adf_request_t request,
01413 enum rsbac_target_t target,
01414 u_int value);
01415
01416 int rsbac_get_adf_log(enum rsbac_adf_request_t request,
01417 enum rsbac_target_t target,
01418 u_int * value_p);
01419
01420
01421
01422
01423
01424
01425
01426
01427
01428
01429
01430 int rsbac_log(int type,
01431 char * buf,
01432 int len);
01433
01434 int rsbac_init(char * root_dev);
01435
01436 #endif
01437
01438 #endif