1 /* 2 * Copyright (c) 2005 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_APACHE_LICENSE_HEADER_START@ 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 * @APPLE_APACHE_LICENSE_HEADER_END@ 19 */ 20 21 #ifndef __LAUNCHD_IPC_H__ 22 #define __LAUNCHD_IPC_H__ 23 24 #include <sys/queue.h> 25 #include "runtime.h" 26 #include "core.h" 27 #include "launch_priv.h" 28 #include "launch_internal.h" 29 30 struct conncb { 31 kq_callback kqconn_callback; 32 LIST_ENTRY(conncb) sle; 33 launch_t conn; 34 job_t j; 35 }; 36 37 extern char *sockpath; 38 39 void ipc_open(int fd, job_t j); 40 void ipc_close_all_with_job(job_t j); 41 void ipc_close(struct conncb *c); 42 void ipc_callback(void *, struct kevent *); 43 void ipc_revoke_fds(launch_data_t o); 44 void ipc_close_fds(launch_data_t o); 45 void ipc_server_init(void); 46 47 #endif /* __LAUNCHD_IPC_H__ */ 48