blob: 02c8af484c3d4bd82d9d84d584874c003fcb5fc9 [file] [log] [blame]
/* -*- Mode: C; tab-width: 4 -*-
*
* Copyright (c) 2007-2012 Apple Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <mach/std_types.defs>
#include <mach/mach_types.defs>
import "helpermsg-types.h";
type v4addr_t = array [ 4] of uint8_t;
type ethaddr_t = array [ 6] of uint8_t;
type v6addr_t = array [16] of uint8_t;
type string_t = c_string[*:1024];
// Mig doesn't generate the output file if I use the constant PFPortArraySize below
type pfArray_t = array [16] of uint16_t;
subsystem helper 1833193043;
serverprefix do_;
userprefix proxy_;
simpleroutine mDNSExit( port : mach_port_t;
ServerAuditToken token : audit_token_t);
simpleroutine mDNSRequestBPF( port : mach_port_t;
ServerAuditToken token : audit_token_t);
routine mDNSPowerRequest( port : mach_port_t;
key : int;
interval : int;
out err : int;
ServerAuditToken token : audit_token_t);
routine mDNSSetLocalAddressCacheEntry(
port : mach_port_t;
ifindex : int;
family : int;
ip : v6addr_t;
eth : ethaddr_t;
out err : int;
ServerAuditToken token : audit_token_t);
simpleroutine mDNSNotify( port : mach_port_t;
title : string_t;
msg : string_t;
ServerAuditToken token : audit_token_t);
simpleroutine mDNSDynamicStoreSetConfig(
port : mach_port_t;
key : int;
subkey : string_t;
value : pointer_t;
ServerAuditToken token : audit_token_t);
simpleroutine mDNSPreferencesSetName(
port : mach_port_t;
key : int;
old : string_t;
new : string_t;
ServerAuditToken token : audit_token_t);
routine mDNSKeychainGetSecrets( port : mach_port_t;
out numsecrets : unsigned;
out secrets : pointer_t;
out err : int;
ServerAuditToken token : audit_token_t);
simpleroutine mDNSConfigureServer(
port : mach_port_t;
updown : int;
id : string_t;
ServerAuditToken token : audit_token_t);
routine mDNSAutoTunnelSetKeys( port : mach_port_t;
replacedelete : int;
local_inner : v6addr_t;
local_outer : v6addr_t;
local_port : uint16_t; /* Port expressed as a numeric integer value */
remote_inner : v6addr_t;
remote_outer : v6addr_t;
remote_port : uint16_t; /* Port expressed as a numeric integer value */
id : string_t;
out err : int;
ServerAuditToken token : audit_token_t);
simpleroutine mDNSSendWakeupPacket(
port : mach_port_t;
ifid : unsigned;
eth_addr : string_t;
ip_addr : string_t;
iteration : int;
ServerAuditToken token : audit_token_t);
simpleroutine mDNSPacketFilterControl(
port : mach_port_t;
command : uint32_t;
ifname : string_t;
arraySize : uint32_t;
portArray : pfArray_t;
protocolArray : pfArray_t;
ServerAuditToken token : audit_token_t);
simpleroutine mDNSSendKeepalive( port : mach_port_t;
sadd : v6addr_t;
dadd : v6addr_t;
lport : uint16_t;
rport : uint16_t;
seq : unsigned;
ack : unsigned;
win : uint16_t;
ServerAuditToken token : audit_token_t);
simpleroutine mDNSInterfaceAdvtIoctl( port : mach_port_t;
ifname : string_t;
op : int;
ServerAuditToken token : audit_token_t);