| /* |
| * 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 <mach/std_types.defs> |
| #include <mach/mach_types.defs> |
| |
| #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 |
| ); |
| |
| routine |
| push( |
| 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 |
| ); |
| |
| simpleroutine |
| push_async( |
| comm_port : mach_port_t; |
| qos_class : qos_class_t; |
| for_io : boolean_t; |
| expects_notify : boolean_t |
| ); |