00001
00002
00003
00004
00005
00019
00020
00021 #ifndef USER_H
00022 #define USER_H
00023
00024 #include <sa/sa.h>
00025 #include <sa/libsa_exports.h>
00026 #include <unidefs.h>
00027
00028 #ifdef __cplusplus
00029 extern "C"{
00030 #endif
00031
00044 extern SA_API int SA_extent_user(
00045 int* nusers,
00046 tag_t** user_tags
00047 );
00048
00052 extern SA_API int SA_extent_active_user(
00053 int* num_users,
00054 tag_t** user_tags
00055 );
00056
00074 extern SA_API int SA_initialize_user(
00075 tag_t userTag,
00076 const char userid[SA_user_size_c + 1],
00077 const char personname[SA_person_name_size_c + 1],
00078 const char password[SA_password_size_c + 1]
00079 );
00080
00095 extern SA_API int SA_initialize_user2(
00096 tag_t userTag,
00097 const char *userid,
00098 const char *personname,
00099 const char *password
00100 );
00101
00116 extern SA_API int SA_create_user(
00117 const char userid[SA_user_size_c + 1],
00118 const char personname[SA_person_name_size_c + 1],
00119 const char password[SA_password_size_c + 1],
00120 tag_t* user_tag
00121 );
00122
00134 extern SA_API int SA_create_user2(
00135 const char *userid,
00136 const char *personname,
00137 const char *password,
00138 tag_t* user_tag
00139 );
00140
00157 extern SA_API int SA_create_licensed_user(
00158 const char userid[SA_user_size_c + 1],
00159 const char personname[SA_person_name_size_c + 1],
00160 const char password[SA_password_size_c + 1],
00161 int licenseLevel,
00162 int userStatus,
00163 tag_t* user_tag
00164 );
00165
00178 extern SA_API int SA_create_licensed_user2(
00179 const char *userid,
00180 const char *personname,
00181 const char *password,
00182 int licenseLevel,
00183 int userStatus,
00184 tag_t* user_tag
00185 );
00186
00222 extern SA_API int SA_create_licensed_user3(
00223 const char *user_id,
00224 const char *person_name,
00225 const char *password,
00226 int license_level,
00227 const char *license_bundle,
00228 int user_status,
00229 tag_t* user_tag
00230 );
00231
00238 extern SA_API int SA_set_user_identifier(
00239 tag_t user_tag,
00240 const char userid[SA_user_size_c + 1]
00241 );
00242
00246 extern SA_API int SA_set_user_identifier2(
00247 tag_t user_tag,
00248 const char *userid
00249 );
00250
00254 extern SA_API int SA_set_user_person(
00255 tag_t user_tag,
00256 tag_t person_tag
00257 );
00258
00267 extern SA_API int SA_change_user_password(
00268 tag_t user_tag,
00269 const char newpassword[SA_password_size_c + 1],
00270 const char oldpassword[SA_password_size_c + 1]
00271 );
00272
00278 extern SA_API int SA_change_user_password2(
00279 tag_t user_tag,
00280 const char *newpassword,
00281 const char *oldpassword
00282 );
00283
00287 extern SA_API int SA_set_user_login_group(
00288 tag_t user_tag,
00289 tag_t group_tag
00290 );
00291
00302 extern SA_API int SA_set_user_default_volume(
00303 tag_t user_tag,
00304 const char volume_name[SA_volume_name_size_c + 1]
00305 );
00306
00314 extern SA_API int SA_set_user_default_volume2(
00315 tag_t user_tag,
00316 const char *volume_name
00317 );
00318
00329 extern SA_API int SA_set_user_default_local_volume(
00330 tag_t user_tag,
00331 const char volume_name[SA_volume_name_size_c + 1]
00332 );
00333
00341 extern SA_API int SA_set_user_default_local_volume2(
00342 tag_t user_tag,
00343 const char *volume_name
00344 );
00345
00354 extern SA_API int SA_find_user(
00355 const char userid[SA_user_size_c + 1],
00356 tag_t* user_tag
00357 );
00358
00364 extern SA_API int SA_find_user2(
00365 const char *userid,
00366 tag_t* user_tag
00367 );
00368
00375 extern SA_API int SA_ask_user_identifier(
00376 tag_t user_tag,
00377 char userid[SA_user_size_c + 1]
00378 );
00379
00383 extern SA_API int SA_ask_user_identifier2(
00384 tag_t user_tag,
00385 char **userid
00386 );
00387
00394 extern SA_API int SA_ask_user_person_name(
00395 tag_t user_tag,
00396 char personname[SA_person_name_size_c + 1]
00397 );
00398
00402 extern SA_API int SA_ask_user_person_name2(
00403 tag_t user_tag,
00404 char **personname
00405 );
00406
00410 extern SA_API int SA_ask_user_person(
00411 tag_t user_tag,
00412 tag_t* person_tag
00413 );
00414
00419 extern SA_API int SA_ask_user_home_folder(
00420 tag_t user_tag,
00421 tag_t* folder_tag
00422 );
00423
00428 extern SA_API int SA_ask_user_mailbox(
00429 tag_t user_tag,
00430 tag_t* folder_tag
00431 );
00432
00437 extern SA_API int SA_ask_user_newstuff_folder(
00438 tag_t user_tag,
00439 tag_t* folder_tag
00440 );
00441
00445 extern SA_API int SA_ask_user_login_group(
00446 tag_t user_tag,
00447 tag_t* group_tag
00448 );
00449
00456 extern SA_API int SA_ask_user_default_volume(
00457 tag_t user_tag,
00458 char volume_name[SA_volume_name_size_c + 1]
00459 );
00460
00464 extern SA_API int SA_ask_user_default_volume2(
00465 tag_t user_tag,
00466 char **volume_name
00467 );
00468
00475 extern SA_API int SA_ask_user_default_local_volume(
00476 tag_t user_tag,
00477 char volume_name[SA_volume_name_size_c + 1]
00478 );
00479
00483 extern SA_API int SA_ask_user_default_local_volume2(
00484 tag_t user_tag,
00485 char **volume_name
00486 );
00487
00494 extern SA_API int SA_find_user_objects(
00495 tag_t user_tag,
00496 int* num_of_objects,
00497 tag_t** object_tags
00498 );
00499
00516 extern SA_API int SA_delete_user_objects(
00517 tag_t user_tag
00518 );
00519
00523 extern SA_API int SA_delete_user(
00524 tag_t user_tag,
00525 tag_t new_owning_user,
00526 tag_t new_owning_group,
00527 logical delete_objects
00528 );
00529
00530
00534 extern SA_API int SA_set_user_ip_clearance(
00535 tag_t userTag,
00536 const char * ip_clearance
00537 );
00538
00546 extern SA_API int SA_ask_user_ip_clearance(
00547 tag_t userTag,
00548 char ip_clearance[SA_ip_clearance_size_c + 1]
00549 );
00550
00555 extern SA_API int SA_ask_user_ip_clearance2(
00556 tag_t userTag,
00557 char **ip_clearance
00558 );
00559
00563 extern SA_API int SA_set_user_gov_clearance(
00564 tag_t userTag,
00565 const char * gov_clearance
00566 );
00567
00575 extern SA_API int SA_ask_user_gov_clearance(
00576 tag_t userTag,
00577 char gov_clearance[SA_gov_clearance_size_c + 1]
00578 );
00579
00584 extern SA_API int SA_ask_user_gov_clearance2(
00585 tag_t userTag,
00586 char **gov_clearance
00587 );
00588
00592 extern SA_API int SA_set_user_geography(
00593 tag_t userTag,
00594 const char * geography
00595 );
00596
00603 extern SA_API int SA_ask_user_geography(
00604 tag_t userTag,
00605 char geography[SA_geography_size_c + 1]
00606 );
00607
00611 extern SA_API int SA_ask_user_geography2(
00612 tag_t userTag,
00613 char **geography
00614 );
00615
00619 extern SA_API int SA_set_user_nationality(
00620 tag_t userTag,
00621 const char * nationality
00622 );
00623
00630 extern SA_API int SA_ask_user_nationality(
00631 tag_t userTag,
00632 char nationality[SA_nationality_size_c + 1]
00633 );
00634
00638 extern SA_API int SA_ask_user_nationality2(
00639 tag_t userTag,
00640 char **nationality
00641 );
00642
00647 extern SA_API int SA_set_user_ttc_date(
00648 tag_t userTag,
00649 date_t ttc_date
00650 );
00651
00656 extern SA_API int SA_ask_user_ttc_date(
00657 tag_t userTag,
00658 date_t *ttc_date
00659 );
00660
00667 extern SA_API int SA_set_os_user_name(
00668 tag_t userTag,
00669 char osUserName[SA_name_size_c + 1]
00670 );
00671
00675 extern SA_API int SA_set_os_user_name2(
00676 tag_t userTag,
00677 const char *osUserName
00678 );
00679
00686 extern SA_API int SA_ask_os_user_name(
00687 tag_t userTag,
00688 char osUserName[SA_name_size_c + 1]
00689 );
00690
00694 extern SA_API int SA_ask_os_user_name2(
00695 tag_t userTag,
00696 char **osUserName
00697 );
00698
00702 extern SA_API int SA_get_mapped_user_attr_list(
00703 int* numberOfAttributes,
00704 char*** list );
00708 extern SA_API int SA_get_user_status(
00709 const tag_t user_tag,
00710 int *status
00711 );
00715 extern SA_API int SA_set_user_status(
00716 const tag_t user_tag,
00717 int newStatus
00718 );
00722 extern SA_API int SA_set_user_last_sync_date(
00723 const tag_t user_tag,
00724 date_t syncDate
00725 );
00729 extern SA_API int SA_get_user_last_sync_date(
00730 const tag_t user_tag,
00731 date_t *syncDate
00732 );
00736 extern SA_API int SA_set_user_data_source(
00737 const tag_t user_tag,
00738 int dataSource
00739 );
00743 extern SA_API int SA_get_user_data_source(
00744 const tag_t user_tag,
00745 int *dataSource
00746 );
00747
00753 extern SA_API int SA_set_user_citizenships(
00754 tag_t user_tag,
00755 int num,
00756 const char** citizenships
00757 );
00758
00764 extern SA_API int SA_ask_user_citizenships(
00765 tag_t user_tag,
00766 int *num,
00767 char*** citizenships
00768 );
00769
00798 extern SA_API int SA_set_user_license_status(
00799 tag_t user_tag,
00800 int user_status,
00801 int license_level,
00802 const char *license_bundle,
00803 int *purchased,
00804 int *used,
00805 int *purchased_bundles,
00806 int *used_bundles
00807 );
00808
00809
00812 #ifdef __cplusplus
00813 }
00814 #endif
00815
00816 #include <sa/libsa_undef.h>
00817
00818 #endif