DirectoryServiceMIG.defs   [plain text]


/*
 * Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
 *
 * @APPLE_LICENSE_HEADER_START@
 * 
 * This file contains Original Code and/or Modifications of Original Code
 * as defined in and that are subject to the Apple Public Source License
 * Version 2.0 (the 'License'). You may not use this file except in
 * compliance with the License. Please obtain a copy of the License at
 * http://www.opensource.apple.com/apsl/ and read it before using this
 * file.
 * 
 * The 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, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 * Please see the License for the specific language governing rights and
 * limitations under the License.
 * 
 * @APPLE_LICENSE_HEADER_END@
 */

/*!
 * @header DirectoryServiceMIG.defs
 */

/*
 * Warning:  Do not re-order this file as it will cause MIG API number
 *           changes.  Always add to the end of the file for new defs.
 */

subsystem DirectoryServiceMIG 40000;

userprefix dsmig_;
serverprefix dsmig_do_;

#include <mach/std_types.defs>
#include <mach/mach_types.defs>

import <DirectoryServiceMIG_types.h>;

type sComDataPtr = array [*:16384] of char;
type sStringPtr = c_string [*:512];

/*
 * This is specific for BSD callers so that they don't need to know DS to check PW
 */

routine checkUsernameAndPassword
(
        server              : mach_port_t;
        username            : sStringPtr;
        password            : sStringPtr;
    out result              : int32_t;

    ServerAuditToken atoken	: audit_token_t
);

/*
 * This is used for creating a new session, for future use
 */

routine create_api_session
(
		server              : mach_port_t;
	out newServer           : mach_port_t = MACH_MSG_TYPE_MAKE_SEND;
	
    ServerAuditToken atoken	: audit_token_t
);

/*
 * This is the actual API call (may be long or short api call)
 */

routine api_call
(
        server              : mach_port_poly_t;
        msg_data            : sComDataPtr;
        msg_data_ool        : pointer_t, Dealloc;
    out reply_msg           : sComDataPtr;
    out reply_msg_ool       : pointer_t, Dealloc;
	
    ServerAuditToken atoken	: audit_token_t
);