]>
Commit | Line | Data |
---|---|---|
c29f2fcc A |
1 | /* |
2 | * Copyright (c) 2004 Apple Computer, Inc. All rights reserved. | |
3 | * | |
4 | * @APPLE_LICENSE_HEADER_START@ | |
5 | * | |
6 | * The contents of this file constitute Original Code as defined in and | |
7 | * are subject to the Apple Public Source License Version 1.1 (the | |
8 | * "License"). You may not use this file except in compliance with the | |
9 | * License. Please obtain a copy of the License at | |
10 | * http://www.apple.com/publicsource and read it before using this file. | |
11 | * | |
12 | * This Original Code and all software distributed under the License are | |
13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the | |
17 | * License for the specific language governing rights and limitations | |
18 | * under the License. | |
19 | * | |
20 | * @APPLE_LICENSE_HEADER_END@ | |
21 | */ | |
22 | ||
23 | #ifndef _MEMBERSHIPPRIV_H_ | |
24 | #define _MEMBERSHIPPRIV_H_ | |
25 | ||
26 | #include <uuid/uuid.h> | |
27 | #include <ntsid.h> | |
28 | ||
c29f2fcc A |
29 | #define MBR_UU_STRING_SIZE 37 |
30 | #define MBR_MAX_SID_STRING_SIZE 200 | |
31 | ||
b3dd680f A |
32 | #define SID_TYPE_USER 0 |
33 | #define SID_TYPE_GROUP 1 | |
34 | ||
d31dd049 A |
35 | #define MBR_REC_TYPE_USER 1 |
36 | #define MBR_REC_TYPE_GROUP 2 | |
37 | ||
38 | /* only supported by mbr_identifier_translate for target type */ | |
39 | #define ID_TYPE_UID_OR_GID 30 | |
40 | #define ID_TYPE_NAME 31 | |
0eb52ff2 | 41 | #define ID_TYPE_WINDOWS_FQN 32 |
d31dd049 | 42 | |
b3dd680f A |
43 | __BEGIN_DECLS |
44 | ||
45 | int mbr_reset_cache(); | |
46 | int mbr_user_name_to_uuid(const char *name, uuid_t uu); | |
47 | int mbr_group_name_to_uuid(const char *name, uuid_t uu); | |
48 | int mbr_check_membership_by_id(uuid_t user, gid_t group, int *ismember); | |
b3dd680f | 49 | int mbr_check_membership_refresh(const uuid_t user, uuid_t group, int *ismember); |
d31dd049 A |
50 | |
51 | /* mbr_uuid_to_string should use uuid_unparse from uuid.h */ | |
52 | 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); | |
53 | ||
54 | /* mbr_string_to_uuid should use uuid_parse from uuid.h */ | |
55 | 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); | |
56 | ||
b3dd680f | 57 | int mbr_uuid_to_sid_type(const uuid_t uu, nt_sid_t *sid, int *id_type); |
e44d8d47 | 58 | int mbr_set_identifier_ttl(int id_type, const void *identifier, size_t identifier_size, unsigned int seconds); |
b3dd680f | 59 | |
d31dd049 A |
60 | /* new SPI to allow translation from any-to-any type, pass ID_TYPE_UID_OR_GID when translating to a UID */ |
61 | int mbr_identifier_translate(int id_type, const void *identifier, size_t identifier_size, int target_type, void **result, int *rec_type); | |
62 | ||
63 | /* | |
64 | * groupid_type does not support ID_TYPE_GSS_EXPORT_NAME | |
65 | */ | |
66 | 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); | |
67 | ||
b3dd680f | 68 | __END_DECLS |
c29f2fcc A |
69 | |
70 | #endif /* !_MEMBERSHIPPRIV_H_ */ |