/* * Copyright (c) 2002-2013 Apple 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@ */ /* * Modification History * * October 16, 2002 Dieter Siegmund (dieter@apple.com) * - initial revision */ #include #include #include subsystem eapolcontroller 22000; import "eapolcontroller_types.h"; /* * serialized XML data (client->server) */ type xmlData = ^ array [] of MACH_MSG_TYPE_BYTE ctype : xmlData_t; /* * serialized XML data (server->client) */ type xmlDataOut = ^ array [] of MACH_MSG_TYPE_BYTE ctype : xmlDataOut_t; type if_name = array[32] of char ctype : if_name_t; /* * routines called by UI/control to start/stop/update an 802.1X client process */ routine eapolcontroller_get_state ( server : mach_port_t; if_name : if_name; out state : int; out result : int); routine eapolcontroller_start ( server : mach_port_t; if_name : if_name; config_data : xmlData; bootstrap : bootstrap_t; au_session : mach_port_t; out result : int); routine eapolcontroller_stop ( server : mach_port_t; if_name : if_name; out result : int); routine eapolcontroller_update ( server : mach_port_t; if_name : if_name; config_data : xmlData; out result : int); routine eapolcontroller_retry ( server : mach_port_t; if_name : if_name; out result : int); routine eapolcontroller_copy_status ( server : mach_port_t; if_name : if_name; out status_data : xmlDataOut, dealloc; out state : int; out result : int); skip; routine eapolcontroller_provide_user_input ( server : mach_port_t; if_name : if_name; user_input : xmlData; out result : int); #if ! TARGET_OS_EMBEDDED routine eapolcontroller_start_system ( server : mach_port_t; if_name : if_name; options_data : xmlData; out result : int); routine eapolcontroller_copy_loginwindow_config ( server : mach_port_t; if_name : if_name; out config : xmlDataOut, dealloc; out result : int); #else /* ! TARGET_OS_EMBEDDED */ skip; skip; #endif /* ! TARGET_OS_EMBEDDED */ /* * routines called by the 802.1X client process */ routine eapolcontroller_client_attach ( server : mach_port_t; task : task_t; if_name : if_name; port : mach_port_move_send_t; out session : mach_port_move_send_t; out control_data : xmlDataOut, dealloc; out bootstrap : bootstrap_t; out au_session : mach_port_t; out result : int); /* * the client must talk to the server using the session port * returned by attach with the following routines */ routine eapolcontroller_client_detach ( server : mach_port_t; out result : int); routine eapolcontroller_client_getconfig (server : mach_port_t; out control_data : xmlDataOut, dealloc; out result : int); routine eapolcontroller_client_report_status(server : mach_port_t; status_data : xmlData; out result : int); routine eapolcontroller_client_force_renew(server : mach_port_t; out result : int); #if ! TARGET_OS_EMBEDDED routine eapolcontroller_client_user_cancelled(server : mach_port_t; out result : int); skip; skip; skip; skip; skip; skip; skip; skip; skip; skip; /* * More routines called by UI/control. */ routine eapolcontroller_copy_autodetect_info ( server : mach_port_t; out info : xmlDataOut, dealloc; out result : int); routine eapolcontroller_did_user_cancel(server : mach_port_t; if_name : if_name; out user_cancelled : boolean_t); #endif /* ! TARGET_OS_EMBEDDED */