1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// The contents of this file is licensed by its authors and copyright holders under the Apache
// License (Version 2.0), MIT license, or Mozilla Public License (Version 2.0), at your option. The
// contents of this file may not be copied, modified, or distributed except according to those
// terms. See the COPYRIGHT file at the top-level directory of this distribution for copies of these
// licenses and more information.

// See https://github.com/opensource-apple/objc4/blob/master/runtime/message.h

#[link(name = "objc")]
extern "C" {
  pub fn objc_msgSend();
  pub fn objc_msgSendSuper();
  #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
  pub fn objc_msgSend_fpret();
  #[cfg(target_arch = "x86_64")]
  pub fn objc_msgSend_fp2ret();
  #[cfg(not(target_arch = "aarch64"))]
  pub fn objc_msgSend_stret();
  #[cfg(not(target_arch = "aarch64"))]
  pub fn objc_msgSendSuper_stret();
  pub fn method_invoke();
  #[cfg(not(target_arch = "aarch64"))]
  pub fn method_invoke_stret();
  pub fn _objc_msgForward();
  #[cfg(not(target_arch = "aarch64"))]
  pub fn _objc_msgForward_stret();
}