DSmemberdMIG.defs   [plain text]


/*
 * Copyright (c) 2004-2006 Apple Computer, Inc. All rights reserved.
 *
 * @APPLE_LICENSE_HEADER_START@
 *
 * The contents of this file constitute Original Code as defined in and
 * are subject to the Apple Public Source License Version 1.1 (the
 * "License").  You may not use this file except in compliance with the
 * License.  Please obtain a copy of the License at
 * http://www.apple.com/publicsource and read it before using this file.
 *
 * This Original Code and all software distributed under the License are
 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
 * License for the specific language governing rights and limitations
 * under the License.
 *
 * @APPLE_LICENSE_HEADER_END@
 */

/*!
 * @header DSmemberdMIG.defs
 */

subsystem DSmemberdMIG 60000;

userprefix memberdDSmig_;
serverprefix memberdDSmig_do_;

#include <mach/std_types.defs>
#include <mach/mach_types.defs>
import <DSmemberdMIG_types.h>;

type kauth_identity_extlookup = struct [200] of uint8_t;
type guid_t = struct [16] of uint8_t;
type StatBlock = struct [16] of uint64_t;
type GIDArray = array [16] of uint32_t;
type GIDList = array [] of uint32_t;
type mstring = c_string[*:256];
type identifier_data_t = array [ * : 16384 ] of char
	ctype: pointer_t;

routine MembershipCall
(
			server			: mach_port_t;
	inout	request			: kauth_identity_extlookup;

    AuditToken atoken	: audit_token_t
);

routine GetStats
(
			server			: mach_port_t;
	out		stats			: StatBlock
);

routine ClearStats
(
			server			: mach_port_t;

    ServerAuditToken atoken	: audit_token_t
);

routine MapName
(
			server			: mach_port_t;
			isUser			: uint8_t;
			name			: mstring;
	out		guid			: guid_t;

    AuditToken atoken	: audit_token_t
);

routine GetGroups
(
			server			: mach_port_t;
			uid				: uint32_t;
	out		numGroups		: uint32_t;
	out		gids			: GIDArray;

    AuditToken atoken	: audit_token_t
);

routine ClearCache
(
			server			: mach_port_t;

    ServerAuditToken atoken	: audit_token_t
);

routine DumpState
(
			server			: mach_port_t;

    ServerAuditToken atoken	: audit_token_t
);

routine GetAllGroups
(
			server			: mach_port_t;
			uid				: uint32_t;
	out		numGroups		: uint32_t;
	out		gids			: GIDList, dealloc;

		AuditToken atoken	: audit_token_t
);

routine MapIdentifier
(
				server			: mach_port_t;
				idType			: int;
				identifier		: identifier_data_t;
				ooidentifier	: pointer_t, Dealloc;
	out			guid			: guid_t;

    AuditToken	atoken			: audit_token_t
);