5 releases

0.1.4 Nov 12, 2017
0.1.3 Nov 5, 2015
0.1.2 Oct 18, 2015
0.1.1 Aug 19, 2015
0.1.0 Jun 1, 2015

#36 in macOS APIs

Download history 143/week @ 2019-12-02 391/week @ 2019-12-09 717/week @ 2019-12-16 144/week @ 2019-12-23 114/week @ 2019-12-30 501/week @ 2020-01-06 405/week @ 2020-01-13 582/week @ 2020-01-20 654/week @ 2020-01-27 621/week @ 2020-02-03 952/week @ 2020-02-10 830/week @ 2020-02-17 932/week @ 2020-02-24 699/week @ 2020-03-02 1167/week @ 2020-03-09 1082/week @ 2020-03-16

902 downloads per month
Used in 39 crates (3 directly)

MIT license

649 lines

CoreFoundation Rust Bindings

The CoreFoundation-sys package provides declarations and linkage for the CoreFoundation C library on OS X. Following the *-sys package conventions, the CoreFoundation-sys package does not define higher-level abstractions over the native library.


The CoreFoundation-sys crate is a work in progress. It currently exports the most basic types (array, dictionary, string, etc) and functions from CoreFoundation and has been tested only on the x86_64 architecture on OS X.


Add CoreFoundation-sys as a dependency in Cargo.toml:

CoreFoundation-sys = "0.1.4"

Import the CoreFoundation_sys crate and use the functions as they're defined in the native CoreFoundation library provided by Apple.

extern crate CoreFoundation_sys as cf;


You may find that you need some functionality that is missing from CoreFoundation-sys. If that's the case, please open an issue on Github or send a pull request with the added functionality.

If you plan to submit a pull request, please note the structure of the code. There is one file for each header file in the CoreFoundation framework. For example, src/string.rs contains the definitions from CoreFoundation/CFString.h. The definitions in each file are more or less in the same order that they appear in the matching header file. Each file is then re-exported in the crate root, e.g., pub use string::*.



Copyright © 2015 David Cuddeback

Distributed under the MIT License.