Libinfo-222.3.5.tar.gz
[apple/libinfo.git] / membership.subproj / memberd.defs
1 /*
2  * Copyright (c) 2004-2007 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
24 subsystem memberd 8000;
25
26 serverprefix Server;
27
28 #include <mach/std_types.defs>
29 #include <mach/mach_types.defs>
30 import "memberd_defines.h";
31
32 type kauth_identity_extlookup = struct [50] of integer_t;
33 type guid_t = struct [4] of uint32_t;
34
35 type StatBlock = struct [16] of uint32_t;
36
37 type GIDArray = array [16] of uint32_t;
38
39 type string = c_string[*:256];
40
41 routine _mbr_DoMembershipCall
42 (
43         server: mach_port_t;
44         inout request: kauth_identity_extlookup;
45         UserSecToken token : security_token_t
46 );
47
48 routine _mbr_GetStats
49 (
50         server: mach_port_t;
51         out stats: StatBlock;
52         UserSecToken token : security_token_t
53 );
54
55 routine _mbr_ClearStats
56 (
57         server: mach_port_t;
58         UserSecToken token : security_token_t
59 );
60
61 routine _mbr_MapName
62 (
63         server: mach_port_t;
64         in isUser: uint8_t;
65         in name: string;
66         out guid: guid_t;
67         UserSecToken token : security_token_t
68 );
69
70 routine _mbr_GetGroups
71 (
72         server: mach_port_t;
73         in uid: uint32_t;
74         out numGroups: uint32_t;
75         out gids: GIDArray;
76         UserSecToken token : security_token_t
77 );
78  
79 routine _mbr_ClearCache
80 (
81         server: mach_port_t;
82         UserSecToken token : security_token_t
83 );
84
85 routine _mbr_DumpState
86 (
87         server: mach_port_t;
88         in logOnly: uint8_t;
89         UserSecToken token : security_token_t
90 );