1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // This file provides forward declarations for XPC symbols that are not 6 // present in the 10.6 SDK. It uses generate_stubs to produce code to 7 // dynamically load the libxpc.dylib library and set up a stub table, with 8 // the same names as the real XPC functions. 9 10 #ifndef SANDBOX_MAC_XPC_H_ 11 #define SANDBOX_MAC_XPC_H_ 12 13 #include <mach/mach.h> 14 15 // C++ library loader. 16 #include "sandbox/mac/xpc_stubs.h" 17 18 // Declares XPC object types. This includes <xpc/xpc.h> if available. 19 #include "sandbox/mac/xpc_stubs_header.fragment" 20 21 #if !defined(MAC_OS_X_VERSION_10_7) || \ 22 MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7 23 24 extern "C" { 25 // Signatures for XPC public functions that are loaded by xpc_stubs.h. 26 #include "sandbox/mac/xpc_stubs.sig" 27 // Signatures for private XPC functions. 28 #include "sandbox/mac/xpc_private_stubs.sig" 29 } // extern "C" 30 31 #else 32 33 // Signatures for private XPC functions. 34 extern "C" { 35 #include "sandbox/mac/xpc_private_stubs.sig" 36 } // extern "C" 37 38 #endif 39 40 #endif // SANDBOX_MAC_XPC_H_ 41