/* * Copyright (c) 2015 Apple Inc. All rights reserved. * * @APPLE_APACHE_LICENSE_HEADER_START@ * * 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. * * @APPLE_APACHE_LICENSE_HEADER_END@ */ #include #include #include "firehose_types.defs" subsystem firehose 11600; serverprefix firehose_server_; userprefix firehose_send_; simpleroutine register( server_port : mach_port_t; mem_port : mach_port_move_send_t; mem_size : mach_vm_size_t; comm_recvp : mach_port_move_receive_t; comm_sendp : mach_port_make_send_t; extra_info_port : mach_port_move_send_t; extra_info_size : mach_vm_size_t; ServerAuditToken atoken : audit_token_t ); routine push_and_wait( RequestPort comm_port : mach_port_t; SReplyPort reply_port : mach_port_make_send_once_t; qos_class : qos_class_t; for_io : boolean_t; out push_reply : firehose_push_reply_t; out quarantinedOut : boolean_t ); simpleroutine push_async( comm_port : mach_port_t; qos_class : qos_class_t; for_io : boolean_t; expects_notify : boolean_t );