Libinfo-222.4.6.tar.gz
[apple/libinfo.git] / membership.subproj / memberd.defs
1 /*
2  * Copyright (c) 2004-2005 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 import "memberd_defines.h";
30
31 type kauth_identity_extlookup = struct [200] of uint8_t;
32 type guid_t = struct [16] of uint8_t;
33
34 type StatBlock = struct [16] of uint32_t;
35
36 type GIDArray = array [16] of uint32_t;
37
38 type string = c_string[*:256];
39
40 routine _mbr_DoMembershipCall(
41                                 server: mach_port_t;
42                 inout   request: kauth_identity_extlookup);
43
44 routine _mbr_GetStats(
45                                 server: mach_port_t;
46                 out             stats: StatBlock);
47
48 routine _mbr_ClearStats( server: mach_port_t );
49
50 routine _mbr_MapName(
51                                 server:         mach_port_t;
52                 in              isUser:         uint8_t;
53                 in              name:           string;
54                 out             guid:           guid_t );
55
56 routine _mbr_GetGroups(
57                                 server:         mach_port_t;
58                 in              uid:            uint32_t;
59                 out             numGroups:  uint32_t;
60                 out             gids:           GIDArray );
61                 
62 routine _mbr_ClearCache( server: mach_port_t );
63
64 routine _mbr_DumpState(
65                                 server:         mach_port_t;
66                 in              logOnly:        uint8_t );