fitzgen/mach


A rust interface to the Mach 3.0 kernel that underlies OSX.

https://docs.rs/mach

License: BSD-2-Clause

Language: Rust

Keywords: ffi, mach, macos, osx, rust


Build Status Latest Version docs

A Rust interface to the user-space API of the Mach 3.0 kernel exposed in /usr/include/mach that underlies macOS and is linked via libSystem (and libsystem_kernel).

This library does not expose the kernel-space API of the Mach 3.0 kernel exposed in SDK/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach.

That is, if you are writing a kernel-resident device drivers or some other kernel extensions you have to use something else. The user-space kernel API is often API-incompatible with the kernel space one, and even in the cases where they match, they are sometimes ABI incompatible such that using this library would have undefined behavior.

Usage

Add the following to your Cargo.toml to conditionally include mach on those platforms that support it.

[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.mach]
version = "0.3"

The following crate features are available:

  • deprecated (disabled by default): exposes deprecated APIs that have been removed from the latest versions of the MacOS SDKs. The behavior of using these APIs on MacOS versions that do not support them is undefined (hopefully a linker error).

Platform support

The following table describes the current CI set-up:

Target Min. Rust XCode build ctest run
x86_64-apple-darwin 1.33.0 6.4 - 10.0
i686-apple-darwin 1.33.0 6.4 - 10.0
i386-apple-ios 1.33.0 6.4 - 9.4 [0] - -
x86_64-apple-ios 1.33.0 6.4 - 10.0 - -
armv7-apple-ios nightly 6.4 - 10.0 - -
aarch64-apple-ios nightly 6.4 - 10.0 - -

[0] i386-apple-ios is deprecated in XCode 10.0.

Project Statistics

Sourcerank 11
Repository Size 145 KB
Stars 28
Forks 16
Watchers 4
Open issues 2
Dependencies 1
Contributors 12
Tags 7
Created
Last updated
Last pushed

Top Contributors See all

gnzlbg Nick Fitzgerald David Cuddeback Elliott Linder nanotech Nicolas Dusart Ted Mielczarek Conor Manning Dave Hylands Gregory Terzian lashomb Julia Evans

Packages Referencing this Repo

mach
A Rust interface to the user-space API of the Mach 3.0 kernel that underlies OSX.
Latest release 0.3.2 - Updated - 28 stars

Recent Tags See all

v0.1.2 January 26, 2018
v0.1.1 December 09, 2017
v0.1.0 March 02, 2017
v0.0.6 October 17, 2016
v0.0.5 May 19, 2016
0.0.4 November 05, 2015
0.0.2 February 08, 2015

Something wrong with this page? Make a suggestion

Last synced: 2019-06-01 11:06:00 UTC

Login to resync this repository