#kernel #macos #darwin

no-std mach

A Rust interface to the user-space API of the Mach 3.0 kernel that underlies OSX

12 releases

0.2.2 Aug 13, 2018
0.2.0 Apr 20, 2018
0.1.2 Jan 26, 2018
0.1.1 Dec 9, 2017
0.0.2 Feb 8, 2015

#13 in Operating systems

Download history 32/week @ 2018-05-21 61/week @ 2018-05-28 409/week @ 2018-06-04 78/week @ 2018-06-11 160/week @ 2018-06-18 297/week @ 2018-06-25 309/week @ 2018-07-02 252/week @ 2018-07-09 350/week @ 2018-07-16 411/week @ 2018-07-23 318/week @ 2018-07-30 602/week @ 2018-08-06 447/week @ 2018-08-13

1,241 downloads per month
Used in 36 crates (12 directly)

BSD-2-Clause

80KB
1.5K SLoC

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.

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.

Platform support

The following table describes the current CI set-up:

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

[0] ctest is only run on iOS for XCode 8.3 version and newer.

Dependencies

~165KB