| ### Registry PGO Interface (rs_pgo) Operations The rs_pgo_add( ) operation adds a PGO item to the registry database. This operation requires the caller to have the i (insert) permission on the parent directory in which the PGO item is to be created. Event Type (Event Number, Event Classes) PGO_Add (0x114, dce_sec_control, dce_sec_modify) Event-Specific Information sec_rgy_domain_t name_domain char *pgo_name The rs_pgo_delete( ) operation deletes a PGO item from registry database. Any account depending on the deleted PGO item is also deleted. The deletion operation requires the caller to have the d (delete) permission on the parent directory that contains the PGO item to be deleted and the D (Delete_object) permission on the PGO item itself. Event Type (Event Number, Event Classes) PGO_Delete (0x115, dce_sec_control, dce_sec_modify) Event-Specific Information sec_rgy_domain_t name_domain char *pgo_name The rs_pgo_replace( ) operation replaces the data associated with a PGO item in the registry database. The caller needs to have the m (mgmt_info) permission on the PGO item, if quota, flags, or unix_num is being set. (Only a cell principals unix_num is modifiable.) The caller needs to have the f (fullname) permission to modify the fullname of the PGO item. Event Type (Event Number, Event Classes) PGO_Replace (0x116, dce_sec_control, dce_sec_modify) Event-Specific Information sec_rgy_domain_t name_domain char *pgo_name The rs_pgo_rename( ) operation renames a PGO item in the registry database. The caller needs to have the n (name) permission on the old name of the PGO item, if performing a rename within a directory. In order to move a PGO item between directories, the caller needs to have the n (name) permission on the old name of the PGO item as well as the d (delete) permission on the old parent directory and the i (insert) permission on the new parent directory in which the PGO item is being added under the new name. Event Type (Event Classes) PGO_Rename (0x117, dce_sec_control, dce_sec_modify) Event-Specific Information sec_rgy_domain_t name_domain char *old_name char *new_name The rs_pgo_get( ) operation returns the name and data for a PGO item. The item is identified by a query key, which can be a name, a uuid, a unix_num, or a sequential-search flag. The caller needs to have the r (read) permission on the PGO item to be viewed. Event Type (Event Number, Event Classes) PGO_Get (0x118, dce_sec_control, dce_sec_query) Event-Specific Information sec_rgy_domain_t name_domain rs_pgo_query_key_t key /* The query key and one of the following */ /* depending on the query key specified: */ case (key == rs_pgo_query_name) char *name /* Name of the item being searched */ case (key == rs_pgo_query_id) uuid_t id_key /* uuid of the item being searched */ case (key == rs_pgo_query_unix_num) unsigned32 unix_num /* unix_num of item being searched */ case (key == rs_pgo_query_next) char *scope /* Scope of item being searched */ The rs_pgo_key_transfer( ) operation performs a specified key transfer between the uuid, unix_num, and name of a PGO item. The caller must have some permission on the PGO item for id->name and unix_num->name transfers. Event Type (Event Number, Event Classes) PGO_KeyTransfer (0x119, dce_sec_control) Event-Specific Information sec_rgy_domain_t name_domain rs_pgo_query_key_t key /* The query key */ /* One of the following, depending on the query /* key specified: */ case (key == rs_pgo_query_name) char *name /* Name of the item being searched */ case (key == rs_pgo_query_id) uuid_t id_key /* uuid of the item being searched */ case (key == rs_pgo_query_unix_num) unsigned32 unix_num /* unix_num of item being searched */ unsigned32 requested_result_type The rs_pgo_add_member( ) operation adds a member to a group or an organization. The caller must have the M (Member_list) permission on the group or organization. Additionally, to add a group member, the caller must have the g (groups) permission on the principal to be added. Event Type (Event Number, Event Classes) PGO_AddMember (0x11A, dce_sec_control, dce_sec_modify) Event-Specific Information sec_rgy_domain_t name_domain char *person_name /* Principals name */ char *go_name /* Group or organizations name */ The rs_pgo_delete_member( ) operation deletes a principal from a group or an organization in the registry database. The caller must have the M (Member_list ) permission on the group or organization. Note that the caller does not need to have the g (groups) permission to delete the principal from a group. Event Type (Event Number, Event Classes) PGO_DeleteMember (0x11B, dce_sec_control, dce_sec_modify) Event-Specific Information sec_rgy_domain_t name_domain char *person_name /* Principals name */ char *go_name /* Group or organizations name */ The rs_pgo_is_member( ) operation tests whether a specified principal is a member of a specified group or organization. The caller must have t (test) permission on the group or organization. Event Type (Event Number, Event Classes) PGO_IsMember (0x11C, dce_sec_control, dce_sec_query) Event-Specific Information sec_rgy_domain_t name_domain char *person_name /* Principals name */ char *go_name /* Group or organizations name */ The rs_pgo_get_members( ) operation, if the specified domain is group or organization, lists the members of a specified group or organization. If the domain is principal, lists the groups in which the principal is a member. The caller must have the r (read) permission on the principal, group, or organization. Event Type (Event Number, Event Classes) PGO_GetMembers (0x11D, dce_sec_control, dce_sec_query) Event-Specific Information sec_rgy_domain_t name_domain char *go_name /* PGOs uuid */ ###