X-Git-Url: https://git.saurik.com/apple/libinfo.git/blobdiff_plain/b3dd680f589a1f02e301659e04768ef61be3b843..71fe13a241da37f6d1eb3e43ba9ef25e2f1bae99:/membership.subproj/membershipPriv.h diff --git a/membership.subproj/membershipPriv.h b/membership.subproj/membershipPriv.h index 35a6fe3..348f78c 100644 --- a/membership.subproj/membershipPriv.h +++ b/membership.subproj/membershipPriv.h @@ -32,19 +32,38 @@ #define SID_TYPE_USER 0 #define SID_TYPE_GROUP 1 +#define MBR_REC_TYPE_USER 1 +#define MBR_REC_TYPE_GROUP 2 + +/* only supported by mbr_identifier_translate for target type */ +#define ID_TYPE_UID_OR_GID 30 +#define ID_TYPE_NAME 31 +#define ID_TYPE_WINDOWS_FQN 32 + __BEGIN_DECLS int mbr_reset_cache(); int mbr_user_name_to_uuid(const char *name, uuid_t uu); int mbr_group_name_to_uuid(const char *name, uuid_t uu); int mbr_check_membership_by_id(uuid_t user, gid_t group, int *ismember); -int mbr_check_service_membership(const uuid_t user, const char *servicename, int *ismember); int mbr_check_membership_refresh(const uuid_t user, uuid_t group, int *ismember); -int mbr_uuid_to_string(const uuid_t uu, char *string); -int mbr_string_to_uuid(const char *string, uuid_t uu); -int mbr_sid_to_string(const nt_sid_t *sid, char *string); -int mbr_string_to_sid(const char *string, nt_sid_t *sid); + +/* mbr_uuid_to_string should use uuid_unparse from uuid.h */ +int mbr_uuid_to_string(const uuid_t uu, char *string) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA); + +/* mbr_string_to_uuid should use uuid_parse from uuid.h */ +int mbr_string_to_uuid(const char *string, uuid_t uu) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA); + int mbr_uuid_to_sid_type(const uuid_t uu, nt_sid_t *sid, int *id_type); +int mbr_set_identifier_ttl(int id_type, const void *identifier, size_t identifier_size, unsigned int seconds); + +/* new SPI to allow translation from any-to-any type, pass ID_TYPE_UID_OR_GID when translating to a UID */ +int mbr_identifier_translate(int id_type, const void *identifier, size_t identifier_size, int target_type, void **result, int *rec_type); + +/* + * groupid_type does not support ID_TYPE_GSS_EXPORT_NAME + */ +int mbr_check_membership_ext(int userid_type, const void *userid, size_t userid_size, int groupid_type, const void *groupid, int refresh, int *isMember); __END_DECLS