conspire 0.7.1

The Rust interface to conspire.
Documentation
use std::ffi::{c_char, c_int};

pub const NC_GLOBAL: c_int = -1;
pub const NC_FLOAT: i32 = 5;
pub const NC_DOUBLE: i32 = 6;
pub const NC_INT: i32 = 4;
pub const NC_NOWRITE: c_int = 0;
pub const NC_64BIT_DATA: c_int = 0x0020;
pub const NC_NOFILL: c_int = 0x100;

unsafe extern "C" {
    pub fn nc_create(path: *const c_char, cmode: c_int, ncidp: *mut c_int) -> c_int;
    pub fn nc_open(path: *const c_char, mode: c_int, ncidp: *mut c_int) -> c_int;
    pub fn nc_set_fill(ncid: c_int, fillmode: c_int, old_modep: *mut c_int) -> c_int;
    pub fn nc_close(ncid: c_int) -> c_int;
    pub fn nc_def_dim(ncid: c_int, name: *const c_char, len: usize, idp: *mut c_int) -> c_int;
    pub fn nc_def_var(
        ncid: c_int,
        name: *const c_char,
        xtype: c_int,
        ndims: c_int,
        dimidsp: *const c_int,
        varidp: *mut c_int,
    ) -> c_int;
    pub fn nc_enddef(ncid: c_int) -> c_int;
    pub fn nc_inq_dimid(ncid: c_int, name: *const c_char, idp: *mut c_int) -> c_int;
    pub fn nc_inq_dimlen(ncid: c_int, dimid: c_int, lenp: *mut usize) -> c_int;
    pub fn nc_inq_varid(ncid: c_int, name: *const c_char, idp: *mut c_int) -> c_int;
    pub fn nc_inq_attlen(ncid: c_int, varid: c_int, name: *const c_char, lenp: *mut usize)
    -> c_int;
    pub fn nc_put_att_float(
        ncid: c_int,
        varid: c_int,
        name: *const c_char,
        xtype: c_int,
        len: usize,
        op: *const f32,
    ) -> c_int;
    pub fn nc_put_att_int(
        ncid: c_int,
        varid: c_int,
        name: *const c_char,
        xtype: c_int,
        len: usize,
        op: *const c_int,
    ) -> c_int;
    pub fn nc_put_att_text(
        ncid: c_int,
        varid: c_int,
        name: *const c_char,
        len: usize,
        value: *const c_char,
    ) -> c_int;
    pub fn nc_get_att_text(
        ncid: c_int,
        varid: c_int,
        name: *const c_char,
        value: *mut c_char,
    ) -> c_int;
    pub fn nc_put_var_int(ncid: c_int, varid: c_int, op: *const c_int) -> c_int;
    pub fn nc_put_var_float(ncid: c_int, varid: c_int, op: *const f32) -> c_int;
    pub fn nc_put_var_double(ncid: c_int, varid: c_int, op: *const f64) -> c_int;
    pub fn nc_get_var_int(ncid: c_int, varid: c_int, ip: *mut c_int) -> c_int;
    pub fn nc_get_var_float(ncid: c_int, varid: c_int, fp: *mut f32) -> c_int;
    pub fn nc_get_var_double(ncid: c_int, varid: c_int, dp: *mut f64) -> c_int;
}