1/* 2 * Copyright (c) 2013 Apple Inc. All rights reserved. 3 * 4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. The rights granted to you under the License 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 14 * 15 * Please obtain a copy of the License at 16 * http://www.opensource.apple.com/apsl/ and read it before using this file. 17 * 18 * The Original Code and all software distributed under the License are 19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23 * Please see the License for the specific language governing rights and 24 * limitations under the License. 25 * 26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27 */ 28 29/* 30 * Interface definition for the namespace facility. 31 */ 32 33subsystem 34#if KERNEL_USER 35KernelUser 36#endif /* KERNEL_USER */ 37vfs_nspace 867800; /* 'V''N'00 */ 38 39#include <mach/std_types.defs> 40#include <mach/mach_types.defs> 41#include <atm/atm_types.defs> 42 43ServerPrefix receive_; 44UserPrefix send_; 45 46/* DEPRECATED */ 47routine nspace_handle( 48 nspace_handler_port : mach_port_t; 49 pid : uint32_t; 50 in path : vfs_path_t; 51 out handler_error : int 52); 53 54routine nspace_resolve_cancel( 55 nspace_handler_port : mach_port_t; 56 req_id : uint32_t 57); 58 59/* 60 * nspace_resolve_path should not be moved even after it's not used, it's going 61 * to mess up the calls numbering in mig. 62 */ 63routine nspace_resolve_path( 64 nspace_handler_port : mach_port_t; 65 req_id : uint32_t; 66 pid : uint32_t; 67 op : uint32_t; 68 in path : nspace_path_t; 69 out xxx_rdar44371223 : int 70); 71 72/* 73 * vfs_resolve_file is deprecated in favor of vfs_resolve_file_with_audit_token. 74 */ 75routine vfs_resolve_file( 76 nspace_handler_port : mach_port_t; 77 req_id : uint32_t; 78 pid : uint32_t; 79 op : uint32_t; 80 offset : int64_t; 81 size : int64_t; 82 in path : nspace_path_t 83); 84 85/* 86 * vfs_resolve_dir is deprecated in favor of vfs_resolve_dir_with_audit_token. 87 */ 88routine vfs_resolve_dir( 89 nspace_handler_port : mach_port_t; 90 req_id : uint32_t; 91 pid : uint32_t; 92 op : uint32_t; 93 in file_name : nspace_name_t; 94 in path : nspace_path_t 95); 96 97routine vfs_resolve_file_with_audit_token( 98 nspace_handler_port : mach_port_t; 99 req_id : uint32_t; 100 op : uint32_t; 101 offset : int64_t; 102 size : int64_t; 103 in path : nspace_path_t; 104 in req_atoken : audit_token_t; /* audit token of requester */ 105ServerAuditToken atoken : audit_token_t 106); 107 108routine vfs_resolve_dir_with_audit_token( 109 nspace_handler_port : mach_port_t; 110 req_id : uint32_t; 111 op : uint32_t; 112 in file_name : nspace_name_t; 113 in path : nspace_path_t; 114 in req_atoken : audit_token_t; /* audit token of requester */ 115ServerAuditToken atoken : audit_token_t 116); 117 118/* vim: set ft=c : */ 119