/* * Copyright (c) 2004 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@ */ /* * Modification History * * March 29, 2004 Christophe Allie (callie@apple.com) * - initial revision */ #include #include subsystem pppcontroller 18000; serverprefix _; import "pppcontroller_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; /* * additional types */ /* type task_move_send_t = MACH_MSG_TYPE_MOVE_SEND ctype: mach_port_t; */ /* * routines called by SCNetworkConntection API */ routine pppcontroller_attach ( server : mach_port_t; name_data : xmlData; bootstrap : bootstrap_t; notify : mach_port_move_send_t; out session : mach_port_move_send_t; out result : int); routine pppcontroller_getstatus ( session : mach_port_t; out phase : int; out result : int); routine pppcontroller_copyextendedstatus ( session : mach_port_t; out status_data : xmlDataOut, dealloc; out result : int); routine pppcontroller_copystatistics ( session : mach_port_t; out statistics_data : xmlDataOut, dealloc; out result : int); routine pppcontroller_copyuseroptions ( session : mach_port_t; out options_data : xmlDataOut, dealloc; out result : int); routine pppcontroller_start ( session : mach_port_t; start_data : xmlData; linger : int; out result : int); routine pppcontroller_stop ( session : mach_port_t; force : int; out result : int); routine pppcontroller_suspend ( session : mach_port_t; out result : int); routine pppcontroller_resume ( session : mach_port_t; out result : int); routine pppcontroller_notification ( session : mach_port_t; enable : int; out result : int); skip; skip; skip; skip; skip; /* * private routines for the PPPController or pppd */ routine pppcontroller_bootstrap ( server : mach_port_t; task : task_t; out bootstrap : bootstrap_t; out result : int); routine pppcontroller_copyprivoptions ( session : mach_port_t; task : task_t; options_type : int; out options_data : xmlDataOut, dealloc; out result : int);