Last active
August 29, 2015 13:57
-
-
Save tfogal/9762303 to your computer and use it in GitHub Desktop.
strange green error with current rust, see: http://itsapad.appspot.com/872001
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use std::libc::{c_int, c_long, c_schar, c_uchar, c_void, ptrdiff_t, size_t}; | |
use std::libc::{c_longlong, c_ulonglong, c_uint, c_ushort, c_double, c_float}; | |
use std::libc::{c_short}; | |
#[allow(non_camel_case_types)] | |
pub type nc_type = c_int; | |
#[allow(dead_code)] | |
#[allow(non_camel_case_types)] | |
pub struct nc_vlen_t { | |
len: size_t, | |
p: *mut c_void, | |
} | |
#[allow(non_camel_case_types)] | |
pub type nclong = c_int; | |
#[link(name = "netcdf")] | |
#[allow(dead_code)] | |
extern "C" { | |
pub static mut ncerr: c_int; | |
pub static mut ncopts: c_int; | |
pub fn nc_inq_libvers() -> *c_schar; | |
pub fn nc_strerror(ncerr: c_int) -> *c_schar; | |
pub fn nc__create(path: *c_schar, cmode: c_int, initialsz: size_t, | |
chunksizehintp: *mut size_t, ncidp: *mut c_int) -> | |
c_int; | |
pub fn nc_create(path: *c_schar, cmode: c_int, ncidp: *mut c_int) -> | |
c_int; | |
pub fn nc__open(path: *c_schar, mode: c_int, chunksizehintp: *mut size_t, | |
ncidp: *mut c_int) -> c_int; | |
pub fn nc_open(path: *c_schar, mode: c_int, ncidp: *mut c_int) -> c_int; | |
pub fn nc_inq_path(ncid: c_int, pathlen: *mut size_t, path: *mut c_schar) | |
-> c_int; | |
pub fn nc_var_par_access(ncid: c_int, varid: c_int, par_access: c_int) -> | |
c_int; | |
pub fn nc_inq_ncid(ncid: c_int, name: *c_schar, grp_ncid: *mut c_int) -> | |
c_int; | |
pub fn nc_inq_grps(ncid: c_int, numgrps: *mut c_int, ncids: *mut c_int) -> | |
c_int; | |
pub fn nc_inq_grpname(ncid: c_int, name: *mut c_schar) -> c_int; | |
pub fn nc_inq_grpname_full(ncid: c_int, lenp: *mut size_t, | |
full_name: *mut c_schar) -> c_int; | |
pub fn nc_inq_grpname_len(ncid: c_int, lenp: *mut size_t) -> c_int; | |
pub fn nc_inq_grp_parent(ncid: c_int, parent_ncid: *mut c_int) -> c_int; | |
pub fn nc_inq_grp_ncid(ncid: c_int, grp_name: *c_schar, | |
grp_ncid: *mut c_int) -> c_int; | |
pub fn nc_inq_grp_full_ncid(ncid: c_int, full_name: *c_schar, | |
grp_ncid: *mut c_int) -> c_int; | |
pub fn nc_inq_varids(ncid: c_int, nvars: *mut c_int, varids: *mut c_int) | |
-> c_int; | |
pub fn nc_inq_dimids(ncid: c_int, ndims: *mut c_int, dimids: *mut c_int, | |
include_parents: c_int) -> c_int; | |
pub fn nc_inq_typeids(ncid: c_int, ntypes: *mut c_int, | |
typeids: *mut c_int) -> c_int; | |
pub fn nc_inq_type_equal(ncid1: c_int, typeid1: nc_type, ncid2: c_int, | |
typeid2: nc_type, equal: *mut c_int) -> c_int; | |
pub fn nc_def_grp(parent_ncid: c_int, name: *c_schar, | |
new_ncid: *mut c_int) -> c_int; | |
pub fn nc_def_compound(ncid: c_int, size: size_t, name: *c_schar, | |
typeidp: *mut nc_type) -> c_int; | |
pub fn nc_insert_compound(ncid: c_int, xtype: nc_type, name: *c_schar, | |
offset: size_t, field_typeid: nc_type) -> c_int; | |
pub fn nc_insert_array_compound(ncid: c_int, xtype: nc_type, | |
name: *c_schar, offset: size_t, | |
field_typeid: nc_type, ndims: c_int, | |
dim_sizes: *c_int) -> c_int; | |
pub fn nc_inq_type(ncid: c_int, xtype: nc_type, name: *mut c_schar, | |
size: *mut size_t) -> c_int; | |
pub fn nc_inq_typeid(ncid: c_int, name: *c_schar, typeidp: *mut nc_type) | |
-> c_int; | |
pub fn nc_inq_compound(ncid: c_int, xtype: nc_type, name: *mut c_schar, | |
sizep: *mut size_t, nfieldsp: *mut size_t) -> | |
c_int; | |
pub fn nc_inq_compound_name(ncid: c_int, xtype: nc_type, | |
name: *mut c_schar) -> c_int; | |
pub fn nc_inq_compound_size(ncid: c_int, xtype: nc_type, | |
sizep: *mut size_t) -> c_int; | |
pub fn nc_inq_compound_nfields(ncid: c_int, xtype: nc_type, | |
nfieldsp: *mut size_t) -> c_int; | |
pub fn nc_inq_compound_field(ncid: c_int, xtype: nc_type, fieldid: c_int, | |
name: *mut c_schar, offsetp: *mut size_t, | |
field_typeidp: *mut nc_type, | |
ndimsp: *mut c_int, dim_sizesp: *mut c_int) | |
-> c_int; | |
pub fn nc_inq_compound_fieldname(ncid: c_int, xtype: nc_type, | |
fieldid: c_int, name: *mut c_schar) -> | |
c_int; | |
pub fn nc_inq_compound_fieldindex(ncid: c_int, xtype: nc_type, | |
name: *c_schar, fieldidp: *mut c_int) -> | |
c_int; | |
pub fn nc_inq_compound_fieldoffset(ncid: c_int, xtype: nc_type, | |
fieldid: c_int, offsetp: *mut size_t) | |
-> c_int; | |
pub fn nc_inq_compound_fieldtype(ncid: c_int, xtype: nc_type, | |
fieldid: c_int, | |
field_typeidp: *mut nc_type) -> c_int; | |
pub fn nc_inq_compound_fieldndims(ncid: c_int, xtype: nc_type, | |
fieldid: c_int, ndimsp: *mut c_int) -> | |
c_int; | |
pub fn nc_inq_compound_fielddim_sizes(ncid: c_int, xtype: nc_type, | |
fieldid: c_int, | |
dim_sizes: *mut c_int) -> c_int; | |
pub fn nc_def_vlen(ncid: c_int, name: *c_schar, base_typeid: nc_type, | |
xtypep: *mut nc_type) -> c_int; | |
pub fn nc_inq_vlen(ncid: c_int, xtype: nc_type, name: *mut c_schar, | |
datum_sizep: *mut size_t, base_nc_typep: *mut nc_type) | |
-> c_int; | |
pub fn nc_free_vlen(vl: *mut nc_vlen_t) -> c_int; | |
pub fn nc_free_vlens(len: size_t, vlens: c_void) -> c_int; | |
pub fn nc_put_vlen_element(ncid: c_int, typeid1: c_int, | |
vlen_element: *mut c_void, len: size_t, | |
data: *c_void) -> c_int; | |
pub fn nc_get_vlen_element(ncid: c_int, typeid1: c_int, | |
vlen_element: *c_void, len: *mut size_t, | |
data: *mut c_void) -> c_int; | |
pub fn nc_free_string(len: size_t, data: *mut *mut c_schar) -> c_int; | |
pub fn nc_inq_user_type(ncid: c_int, xtype: nc_type, name: *mut c_schar, | |
size: *mut size_t, base_nc_typep: *mut nc_type, | |
nfieldsp: *mut size_t, classp: *mut c_int) -> | |
c_int; | |
pub fn nc_put_att(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_void) -> c_int; | |
pub fn nc_get_att(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_void) -> c_int; | |
pub fn nc_def_enum(ncid: c_int, base_typeid: nc_type, name: *c_schar, | |
typeidp: *mut nc_type) -> c_int; | |
pub fn nc_insert_enum(ncid: c_int, xtype: nc_type, name: *c_schar, | |
value: *c_void) -> c_int; | |
pub fn nc_inq_enum(ncid: c_int, xtype: nc_type, name: *mut c_schar, | |
base_nc_typep: *mut nc_type, base_sizep: *mut size_t, | |
num_membersp: *mut size_t) -> c_int; | |
pub fn nc_inq_enum_member(ncid: c_int, xtype: nc_type, idx: c_int, | |
name: *mut c_schar, value: *mut c_void) -> | |
c_int; | |
pub fn nc_inq_enum_ident(ncid: c_int, xtype: nc_type, value: c_longlong, | |
identifier: *mut c_schar) -> c_int; | |
pub fn nc_def_opaque(ncid: c_int, size: size_t, name: *c_schar, | |
xtypep: *mut nc_type) -> c_int; | |
pub fn nc_inq_opaque(ncid: c_int, xtype: nc_type, name: *mut c_schar, | |
sizep: *mut size_t) -> c_int; | |
pub fn nc_put_var(ncid: c_int, varid: c_int, op: *c_void) -> c_int; | |
pub fn nc_get_var(ncid: c_int, varid: c_int, ip: *mut c_void) -> c_int; | |
pub fn nc_put_var1(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_void) -> c_int; | |
pub fn nc_get_var1(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_void) -> c_int; | |
pub fn nc_put_vara(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_void) -> c_int; | |
pub fn nc_get_vara(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_void) -> c_int; | |
pub fn nc_put_vars(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, op: *c_void) -> | |
c_int; | |
pub fn nc_get_vars(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, ip: *mut c_void) | |
-> c_int; | |
pub fn nc_put_varm(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_void) -> c_int; | |
pub fn nc_get_varm(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_void) -> c_int; | |
pub fn nc_def_var_deflate(ncid: c_int, varid: c_int, shuffle: c_int, | |
deflate: c_int, deflate_level: c_int) -> c_int; | |
pub fn nc_inq_var_deflate(ncid: c_int, varid: c_int, shufflep: *mut c_int, | |
deflatep: *mut c_int, | |
deflate_levelp: *mut c_int) -> c_int; | |
pub fn nc_inq_var_szip(ncid: c_int, varid: c_int, | |
options_maskp: *mut c_int, | |
pixels_per_blockp: *mut c_int) -> c_int; | |
pub fn nc_def_var_fletcher32(ncid: c_int, varid: c_int, fletcher32: c_int) | |
-> c_int; | |
pub fn nc_inq_var_fletcher32(ncid: c_int, varid: c_int, | |
fletcher32p: *mut c_int) -> c_int; | |
pub fn nc_def_var_chunking(ncid: c_int, varid: c_int, storage: c_int, | |
chunksizesp: *size_t) -> c_int; | |
pub fn nc_inq_var_chunking(ncid: c_int, varid: c_int, | |
storagep: *mut c_int, chunksizesp: *mut size_t) | |
-> c_int; | |
pub fn nc_def_var_fill(ncid: c_int, varid: c_int, no_fill: c_int, | |
fill_value: *c_void) -> c_int; | |
pub fn nc_inq_var_fill(ncid: c_int, varid: c_int, no_fill: *mut c_int, | |
fill_value: *mut c_void) -> c_int; | |
pub fn nc_def_var_endian(ncid: c_int, varid: c_int, endian: c_int) -> | |
c_int; | |
pub fn nc_inq_var_endian(ncid: c_int, varid: c_int, endianp: *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_set_default_format(format: c_int, old_formatp: *mut c_int) -> | |
c_int; | |
pub fn nc_set_chunk_cache(size: size_t, nelems: size_t, | |
preemption: c_float) -> c_int; | |
pub fn nc_get_chunk_cache(sizep: *mut size_t, nelemsp: *mut size_t, | |
preemptionp: *mut c_float) -> c_int; | |
pub fn nc_set_var_chunk_cache(ncid: c_int, varid: c_int, size: size_t, | |
nelems: size_t, preemption: c_float) -> | |
c_int; | |
pub fn nc_get_var_chunk_cache(ncid: c_int, varid: c_int, | |
sizep: *mut size_t, nelemsp: *mut size_t, | |
preemptionp: *mut c_float) -> c_int; | |
pub fn nc_redef(ncid: c_int) -> c_int; | |
pub fn nc__enddef(ncid: c_int, h_minfree: size_t, v_align: size_t, | |
v_minfree: size_t, r_align: size_t) -> c_int; | |
pub fn nc_enddef(ncid: c_int) -> c_int; | |
pub fn nc_sync(ncid: c_int) -> c_int; | |
pub fn nc_abort(ncid: c_int) -> c_int; | |
pub fn nc_close(ncid: c_int) -> c_int; | |
pub fn nc_inq(ncid: c_int, ndimsp: *mut c_int, nvarsp: *mut c_int, | |
nattsp: *mut c_int, unlimdimidp: *mut c_int) -> c_int; | |
pub fn nc_inq_ndims(ncid: c_int, ndimsp: *mut c_int) -> c_int; | |
pub fn nc_inq_nvars(ncid: c_int, nvarsp: *mut c_int) -> c_int; | |
pub fn nc_inq_natts(ncid: c_int, nattsp: *mut c_int) -> c_int; | |
pub fn nc_inq_unlimdim(ncid: c_int, unlimdimidp: *mut c_int) -> c_int; | |
pub fn nc_inq_unlimdims(ncid: c_int, nunlimdimsp: *mut c_int, | |
unlimdimidsp: *mut c_int) -> c_int; | |
pub fn nc_inq_format(ncid: c_int, formatp: *mut c_int) -> c_int; | |
pub fn nc_def_dim(ncid: c_int, name: *c_schar, len: size_t, | |
idp: *mut c_int) -> c_int; | |
pub fn nc_inq_dimid(ncid: c_int, name: *c_schar, idp: *mut c_int) -> | |
c_int; | |
pub fn nc_inq_dim(ncid: c_int, dimid: c_int, name: *mut c_schar, | |
lenp: *mut size_t) -> c_int; | |
pub fn nc_inq_dimname(ncid: c_int, dimid: c_int, name: *mut c_schar) -> | |
c_int; | |
pub fn nc_inq_dimlen(ncid: c_int, dimid: c_int, lenp: *mut size_t) -> | |
c_int; | |
pub fn nc_rename_dim(ncid: c_int, dimid: c_int, name: *c_schar) -> c_int; | |
pub fn nc_inq_att(ncid: c_int, varid: c_int, name: *c_schar, | |
xtypep: *mut nc_type, lenp: *mut size_t) -> c_int; | |
pub fn nc_inq_attid(ncid: c_int, varid: c_int, name: *c_schar, | |
idp: *mut c_int) -> c_int; | |
pub fn nc_inq_atttype(ncid: c_int, varid: c_int, name: *c_schar, | |
xtypep: *mut nc_type) -> c_int; | |
pub fn nc_inq_attlen(ncid: c_int, varid: c_int, name: *c_schar, | |
lenp: *mut size_t) -> c_int; | |
pub fn nc_inq_attname(ncid: c_int, varid: c_int, attnum: c_int, | |
name: *mut c_schar) -> c_int; | |
pub fn nc_copy_att(ncid_in: c_int, varid_in: c_int, name: *c_schar, | |
ncid_out: c_int, varid_out: c_int) -> c_int; | |
pub fn nc_rename_att(ncid: c_int, varid: c_int, name: *c_schar, | |
newname: *c_schar) -> c_int; | |
pub fn nc_del_att(ncid: c_int, varid: c_int, name: *c_schar) -> c_int; | |
pub fn nc_put_att_text(ncid: c_int, varid: c_int, name: *c_schar, | |
len: size_t, op: *c_schar) -> c_int; | |
pub fn nc_get_att_text(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_schar) -> c_int; | |
pub fn nc_put_att_uchar(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_uchar) -> | |
c_int; | |
pub fn nc_get_att_uchar(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_uchar) -> c_int; | |
pub fn nc_put_att_schar(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_schar) -> | |
c_int; | |
pub fn nc_get_att_schar(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_schar) -> c_int; | |
pub fn nc_put_att_short(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_short) -> | |
c_int; | |
pub fn nc_get_att_short(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_short) -> c_int; | |
pub fn nc_put_att_int(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_int) -> c_int; | |
pub fn nc_get_att_int(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_int) -> c_int; | |
pub fn nc_put_att_long(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_long) -> c_int; | |
pub fn nc_get_att_long(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_long) -> c_int; | |
pub fn nc_put_att_float(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_float) -> | |
c_int; | |
pub fn nc_get_att_float(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_float) -> c_int; | |
pub fn nc_put_att_double(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_double) -> | |
c_int; | |
pub fn nc_get_att_double(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_double) -> c_int; | |
pub fn nc_put_att_ushort(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_ushort) -> | |
c_int; | |
pub fn nc_get_att_ushort(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_ushort) -> c_int; | |
pub fn nc_put_att_uint(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_uint) -> c_int; | |
pub fn nc_get_att_uint(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_uint) -> c_int; | |
pub fn nc_put_att_longlong(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_longlong) | |
-> c_int; | |
pub fn nc_get_att_longlong(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_longlong) -> c_int; | |
pub fn nc_put_att_ulonglong(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_ulonglong) | |
-> c_int; | |
pub fn nc_get_att_ulonglong(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_ulonglong) -> c_int; | |
pub fn nc_put_att_string(ncid: c_int, varid: c_int, name: *c_schar, | |
len: size_t, op: *mut *c_schar) -> c_int; | |
pub fn nc_get_att_string(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut *mut c_schar) -> c_int; | |
pub fn nc_def_var(ncid: c_int, name: *c_schar, xtype: nc_type, | |
ndims: c_int, dimidsp: *c_int, varidp: *mut c_int) -> | |
c_int; | |
pub fn nc_inq_var(ncid: c_int, varid: c_int, name: *mut c_schar, | |
xtypep: *mut nc_type, ndimsp: *mut c_int, | |
dimidsp: *mut c_int, nattsp: *mut c_int) -> c_int; | |
pub fn nc_inq_varid(ncid: c_int, name: *c_schar, varidp: *mut c_int) -> | |
c_int; | |
pub fn nc_inq_varname(ncid: c_int, varid: c_int, name: *mut c_schar) -> | |
c_int; | |
pub fn nc_inq_vartype(ncid: c_int, varid: c_int, xtypep: *mut nc_type) -> | |
c_int; | |
pub fn nc_inq_varndims(ncid: c_int, varid: c_int, ndimsp: *mut c_int) -> | |
c_int; | |
pub fn nc_inq_vardimid(ncid: c_int, varid: c_int, dimidsp: *mut c_int) -> | |
c_int; | |
pub fn nc_inq_varnatts(ncid: c_int, varid: c_int, nattsp: *mut c_int) -> | |
c_int; | |
pub fn nc_rename_var(ncid: c_int, varid: c_int, name: *c_schar) -> c_int; | |
pub fn nc_copy_var(ncid_in: c_int, varid: c_int, ncid_out: c_int) -> | |
c_int; | |
pub fn nc_put_var1_text(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_schar) -> c_int; | |
pub fn nc_get_var1_text(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_schar) -> c_int; | |
pub fn nc_put_var1_uchar(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_uchar) -> c_int; | |
pub fn nc_get_var1_uchar(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_uchar) -> c_int; | |
pub fn nc_put_var1_schar(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_schar) -> c_int; | |
pub fn nc_get_var1_schar(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_schar) -> c_int; | |
pub fn nc_put_var1_short(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_short) -> c_int; | |
pub fn nc_get_var1_short(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_short) -> c_int; | |
pub fn nc_put_var1_int(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_int) -> c_int; | |
pub fn nc_get_var1_int(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_int) -> c_int; | |
pub fn nc_put_var1_long(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_long) -> c_int; | |
pub fn nc_get_var1_long(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_long) -> c_int; | |
pub fn nc_put_var1_float(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_float) -> c_int; | |
pub fn nc_get_var1_float(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_float) -> c_int; | |
pub fn nc_put_var1_double(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_double) -> c_int; | |
pub fn nc_get_var1_double(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_double) -> c_int; | |
pub fn nc_put_var1_ushort(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_ushort) -> c_int; | |
pub fn nc_get_var1_ushort(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_ushort) -> c_int; | |
pub fn nc_put_var1_uint(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_uint) -> c_int; | |
pub fn nc_get_var1_uint(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_uint) -> c_int; | |
pub fn nc_put_var1_longlong(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_longlong) -> c_int; | |
pub fn nc_get_var1_longlong(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_longlong) -> c_int; | |
pub fn nc_put_var1_ulonglong(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_ulonglong) -> c_int; | |
pub fn nc_get_var1_ulonglong(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_ulonglong) -> c_int; | |
pub fn nc_put_var1_string(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *mut *c_schar) -> c_int; | |
pub fn nc_get_var1_string(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut *mut c_schar) -> c_int; | |
pub fn nc_put_vara_text(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_schar) -> c_int; | |
pub fn nc_get_vara_text(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_schar) -> c_int; | |
pub fn nc_put_vara_uchar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_uchar) -> c_int; | |
pub fn nc_get_vara_uchar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_uchar) -> c_int; | |
pub fn nc_put_vara_schar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_schar) -> c_int; | |
pub fn nc_get_vara_schar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_schar) -> c_int; | |
pub fn nc_put_vara_short(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_short) -> c_int; | |
pub fn nc_get_vara_short(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_short) -> c_int; | |
pub fn nc_put_vara_int(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_int) -> c_int; | |
pub fn nc_get_vara_int(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_int) -> c_int; | |
pub fn nc_put_vara_long(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_long) -> c_int; | |
pub fn nc_get_vara_long(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_long) -> c_int; | |
pub fn nc_put_vara_float(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_float) -> c_int; | |
pub fn nc_get_vara_float(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_float) -> c_int; | |
pub fn nc_put_vara_double(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_double) -> c_int; | |
pub fn nc_get_vara_double(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_double) -> c_int; | |
pub fn nc_put_vara_ushort(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_ushort) -> c_int; | |
pub fn nc_get_vara_ushort(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_ushort) -> c_int; | |
pub fn nc_put_vara_uint(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_uint) -> c_int; | |
pub fn nc_get_vara_uint(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_uint) -> c_int; | |
pub fn nc_put_vara_longlong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_longlong) -> c_int; | |
pub fn nc_get_vara_longlong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_longlong) -> | |
c_int; | |
pub fn nc_put_vara_ulonglong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_ulonglong) -> c_int; | |
pub fn nc_get_vara_ulonglong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_ulonglong) -> | |
c_int; | |
pub fn nc_put_vara_string(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *mut *c_schar) -> c_int; | |
pub fn nc_get_vara_string(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut *mut c_schar) -> | |
c_int; | |
pub fn nc_put_vars_text(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *c_schar) -> c_int; | |
pub fn nc_get_vars_text(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_schar) -> c_int; | |
pub fn nc_put_vars_uchar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *c_uchar) -> c_int; | |
pub fn nc_get_vars_uchar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_uchar) -> c_int; | |
pub fn nc_put_vars_schar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *c_schar) -> c_int; | |
pub fn nc_get_vars_schar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_schar) -> c_int; | |
pub fn nc_put_vars_short(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *c_short) -> c_int; | |
pub fn nc_get_vars_short(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_short) -> c_int; | |
pub fn nc_put_vars_int(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, op: *c_int) | |
-> c_int; | |
pub fn nc_get_vars_int(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_int) -> c_int; | |
pub fn nc_put_vars_long(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, op: *c_long) | |
-> c_int; | |
pub fn nc_get_vars_long(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_long) -> c_int; | |
pub fn nc_put_vars_float(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *c_float) -> c_int; | |
pub fn nc_get_vars_float(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_float) -> c_int; | |
pub fn nc_put_vars_double(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *c_double) -> c_int; | |
pub fn nc_get_vars_double(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_double) -> c_int; | |
pub fn nc_put_vars_ushort(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *c_ushort) -> c_int; | |
pub fn nc_get_vars_ushort(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_ushort) -> c_int; | |
pub fn nc_put_vars_uint(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, op: *c_uint) | |
-> c_int; | |
pub fn nc_get_vars_uint(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_uint) -> c_int; | |
pub fn nc_put_vars_longlong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *c_longlong) -> c_int; | |
pub fn nc_get_vars_longlong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_longlong) -> c_int; | |
pub fn nc_put_vars_ulonglong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *c_ulonglong) -> c_int; | |
pub fn nc_get_vars_ulonglong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_ulonglong) -> c_int; | |
pub fn nc_put_vars_string(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *mut *c_schar) -> c_int; | |
pub fn nc_get_vars_string(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut *mut c_schar) -> c_int; | |
pub fn nc_put_varm_text(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_schar) -> c_int; | |
pub fn nc_get_varm_text(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_schar) -> c_int; | |
pub fn nc_put_varm_uchar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_uchar) -> c_int; | |
pub fn nc_get_varm_uchar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_uchar) -> c_int; | |
pub fn nc_put_varm_schar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_schar) -> c_int; | |
pub fn nc_get_varm_schar(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_schar) -> c_int; | |
pub fn nc_put_varm_short(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_short) -> c_int; | |
pub fn nc_get_varm_short(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_short) -> c_int; | |
pub fn nc_put_varm_int(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_int) -> c_int; | |
pub fn nc_get_varm_int(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_int) -> c_int; | |
pub fn nc_put_varm_long(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_long) -> c_int; | |
pub fn nc_get_varm_long(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_long) -> c_int; | |
pub fn nc_put_varm_float(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_float) -> c_int; | |
pub fn nc_get_varm_float(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_float) -> c_int; | |
pub fn nc_put_varm_double(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_double) -> c_int; | |
pub fn nc_get_varm_double(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_double) -> c_int; | |
pub fn nc_put_varm_ushort(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_ushort) -> c_int; | |
pub fn nc_get_varm_ushort(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_ushort) -> c_int; | |
pub fn nc_put_varm_uint(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_uint) -> c_int; | |
pub fn nc_get_varm_uint(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_uint) -> c_int; | |
pub fn nc_put_varm_longlong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_longlong) -> c_int; | |
pub fn nc_get_varm_longlong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_longlong) -> | |
c_int; | |
pub fn nc_put_varm_ulonglong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_ulonglong) -> | |
c_int; | |
pub fn nc_get_varm_ulonglong(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_ulonglong) -> | |
c_int; | |
pub fn nc_put_varm_string(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *mut *c_schar) -> c_int; | |
pub fn nc_get_varm_string(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut *mut c_schar) -> | |
c_int; | |
pub fn nc_put_var_text(ncid: c_int, varid: c_int, op: *c_schar) -> c_int; | |
pub fn nc_get_var_text(ncid: c_int, varid: c_int, ip: *mut c_schar) -> | |
c_int; | |
pub fn nc_put_var_uchar(ncid: c_int, varid: c_int, op: *c_uchar) -> c_int; | |
pub fn nc_get_var_uchar(ncid: c_int, varid: c_int, ip: *mut c_uchar) -> | |
c_int; | |
pub fn nc_put_var_schar(ncid: c_int, varid: c_int, op: *c_schar) -> c_int; | |
pub fn nc_get_var_schar(ncid: c_int, varid: c_int, ip: *mut c_schar) -> | |
c_int; | |
pub fn nc_put_var_short(ncid: c_int, varid: c_int, op: *c_short) -> c_int; | |
pub fn nc_get_var_short(ncid: c_int, varid: c_int, ip: *mut c_short) -> | |
c_int; | |
pub fn nc_put_var_int(ncid: c_int, varid: c_int, op: *c_int) -> c_int; | |
pub fn nc_get_var_int(ncid: c_int, varid: c_int, ip: *mut c_int) -> c_int; | |
pub fn nc_put_var_long(ncid: c_int, varid: c_int, op: *c_long) -> c_int; | |
pub fn nc_get_var_long(ncid: c_int, varid: c_int, ip: *mut c_long) -> | |
c_int; | |
pub fn nc_put_var_float(ncid: c_int, varid: c_int, op: *c_float) -> c_int; | |
pub fn nc_get_var_float(ncid: c_int, varid: c_int, ip: *mut c_float) -> | |
c_int; | |
pub fn nc_put_var_double(ncid: c_int, varid: c_int, op: *c_double) -> | |
c_int; | |
pub fn nc_get_var_double(ncid: c_int, varid: c_int, ip: *mut c_double) -> | |
c_int; | |
pub fn nc_put_var_ushort(ncid: c_int, varid: c_int, op: *c_ushort) -> | |
c_int; | |
pub fn nc_get_var_ushort(ncid: c_int, varid: c_int, ip: *mut c_ushort) -> | |
c_int; | |
pub fn nc_put_var_uint(ncid: c_int, varid: c_int, op: *c_uint) -> c_int; | |
pub fn nc_get_var_uint(ncid: c_int, varid: c_int, ip: *mut c_uint) -> | |
c_int; | |
pub fn nc_put_var_longlong(ncid: c_int, varid: c_int, op: *c_longlong) -> | |
c_int; | |
pub fn nc_get_var_longlong(ncid: c_int, varid: c_int, ip: *mut c_longlong) | |
-> c_int; | |
pub fn nc_put_var_ulonglong(ncid: c_int, varid: c_int, op: *c_ulonglong) | |
-> c_int; | |
pub fn nc_get_var_ulonglong(ncid: c_int, varid: c_int, | |
ip: *mut c_ulonglong) -> c_int; | |
pub fn nc_put_var_string(ncid: c_int, varid: c_int, op: *mut *c_schar) -> | |
c_int; | |
pub fn nc_get_var_string(ncid: c_int, varid: c_int, ip: *mut *mut c_schar) | |
-> c_int; | |
pub fn nc_put_att_ubyte(ncid: c_int, varid: c_int, name: *c_schar, | |
xtype: nc_type, len: size_t, op: *c_uchar) -> | |
c_int; | |
pub fn nc_get_att_ubyte(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_uchar) -> c_int; | |
pub fn nc_put_var1_ubyte(ncid: c_int, varid: c_int, indexp: *size_t, | |
op: *c_uchar) -> c_int; | |
pub fn nc_get_var1_ubyte(ncid: c_int, varid: c_int, indexp: *size_t, | |
ip: *mut c_uchar) -> c_int; | |
pub fn nc_put_vara_ubyte(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, op: *c_uchar) -> c_int; | |
pub fn nc_get_vara_ubyte(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, ip: *mut c_uchar) -> c_int; | |
pub fn nc_put_vars_ubyte(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
op: *c_uchar) -> c_int; | |
pub fn nc_get_vars_ubyte(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
ip: *mut c_uchar) -> c_int; | |
pub fn nc_put_varm_ubyte(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, op: *c_uchar) -> c_int; | |
pub fn nc_get_varm_ubyte(ncid: c_int, varid: c_int, startp: *size_t, | |
countp: *size_t, stridep: *ptrdiff_t, | |
imapp: *ptrdiff_t, ip: *mut c_uchar) -> c_int; | |
pub fn nc_put_var_ubyte(ncid: c_int, varid: c_int, op: *c_uchar) -> c_int; | |
pub fn nc_get_var_ubyte(ncid: c_int, varid: c_int, ip: *mut c_uchar) -> | |
c_int; | |
pub fn nc_show_metadata(ncid: c_int) -> c_int; | |
pub fn nc__create_mp(path: *c_schar, cmode: c_int, initialsz: size_t, | |
basepe: c_int, chunksizehintp: *mut size_t, | |
ncidp: *mut c_int) -> c_int; | |
pub fn nc__open_mp(path: *c_schar, mode: c_int, basepe: c_int, | |
chunksizehintp: *mut size_t, ncidp: *mut c_int) -> | |
c_int; | |
pub fn nc_delete(path: *c_schar) -> c_int; | |
pub fn nc_delete_mp(path: *c_schar, basepe: c_int) -> c_int; | |
pub fn nc_set_base_pe(ncid: c_int, pe: c_int) -> c_int; | |
pub fn nc_inq_base_pe(ncid: c_int, pe: *mut c_int) -> c_int; | |
pub fn nctypelen(datatype: nc_type) -> c_int; | |
pub fn nc_advise(cdf_routine_name: *c_schar, err: c_int, | |
fmt: *c_schar, ...); | |
pub fn nccreate(path: *c_schar, cmode: c_int) -> c_int; | |
pub fn ncopen(path: *c_schar, mode: c_int) -> c_int; | |
pub fn ncsetfill(ncid: c_int, fillmode: c_int) -> c_int; | |
pub fn ncredef(ncid: c_int) -> c_int; | |
pub fn ncendef(ncid: c_int) -> c_int; | |
pub fn ncsync(ncid: c_int) -> c_int; | |
pub fn ncabort(ncid: c_int) -> c_int; | |
pub fn ncclose(ncid: c_int) -> c_int; | |
pub fn ncinquire(ncid: c_int, ndimsp: *mut c_int, nvarsp: *mut c_int, | |
nattsp: *mut c_int, unlimdimp: *mut c_int) -> c_int; | |
pub fn ncdimdef(ncid: c_int, name: *c_schar, len: c_long) -> c_int; | |
pub fn ncdimid(ncid: c_int, name: *c_schar) -> c_int; | |
pub fn ncdiminq(ncid: c_int, dimid: c_int, name: *mut c_schar, | |
lenp: *mut c_long) -> c_int; | |
pub fn ncdimrename(ncid: c_int, dimid: c_int, name: *c_schar) -> c_int; | |
pub fn ncattput(ncid: c_int, varid: c_int, name: *c_schar, xtype: nc_type, | |
len: c_int, op: *c_void) -> c_int; | |
pub fn ncattinq(ncid: c_int, varid: c_int, name: *c_schar, | |
xtypep: *mut nc_type, lenp: *mut c_int) -> c_int; | |
pub fn ncattget(ncid: c_int, varid: c_int, name: *c_schar, | |
ip: *mut c_void) -> c_int; | |
pub fn ncattcopy(ncid_in: c_int, varid_in: c_int, name: *c_schar, | |
ncid_out: c_int, varid_out: c_int) -> c_int; | |
pub fn ncattname(ncid: c_int, varid: c_int, attnum: c_int, | |
name: *mut c_schar) -> c_int; | |
pub fn ncattrename(ncid: c_int, varid: c_int, name: *c_schar, | |
newname: *c_schar) -> c_int; | |
pub fn ncattdel(ncid: c_int, varid: c_int, name: *c_schar) -> c_int; | |
pub fn ncvardef(ncid: c_int, name: *c_schar, xtype: nc_type, ndims: c_int, | |
dimidsp: *c_int) -> c_int; | |
pub fn ncvarid(ncid: c_int, name: *c_schar) -> c_int; | |
pub fn ncvarinq(ncid: c_int, varid: c_int, name: *mut c_schar, | |
xtypep: *mut nc_type, ndimsp: *mut c_int, | |
dimidsp: *mut c_int, nattsp: *mut c_int) -> c_int; | |
pub fn ncvarput1(ncid: c_int, varid: c_int, indexp: *c_long, op: *c_void) | |
-> c_int; | |
pub fn ncvarget1(ncid: c_int, varid: c_int, indexp: *c_long, | |
ip: *mut c_void) -> c_int; | |
pub fn ncvarput(ncid: c_int, varid: c_int, startp: *c_long, | |
countp: *c_long, op: *c_void) -> c_int; | |
pub fn ncvarget(ncid: c_int, varid: c_int, startp: *c_long, | |
countp: *c_long, ip: *mut c_void) -> c_int; | |
pub fn ncvarputs(ncid: c_int, varid: c_int, startp: *c_long, | |
countp: *c_long, stridep: *c_long, op: *c_void) -> c_int; | |
pub fn ncvargets(ncid: c_int, varid: c_int, startp: *c_long, | |
countp: *c_long, stridep: *c_long, ip: *mut c_void) -> | |
c_int; | |
pub fn ncvarputg(ncid: c_int, varid: c_int, startp: *c_long, | |
countp: *c_long, stridep: *c_long, imapp: *c_long, | |
op: *c_void) -> c_int; | |
pub fn ncvargetg(ncid: c_int, varid: c_int, startp: *c_long, | |
countp: *c_long, stridep: *c_long, imapp: *c_long, | |
ip: *mut c_void) -> c_int; | |
pub fn ncvarrename(ncid: c_int, varid: c_int, name: *c_schar) -> c_int; | |
pub fn ncrecinq(ncid: c_int, nrecvarsp: *mut c_int, | |
recvaridsp: *mut c_int, recsizesp: *mut c_long) -> c_int; | |
pub fn ncrecget(ncid: c_int, recnum: c_long, datap: *mut *mut c_void) -> | |
c_int; | |
pub fn ncrecput(ncid: c_int, recnum: c_long, datap: **mut c_void) -> | |
c_int; | |
} | |
#[allow(non_camel_case_types)] | |
#[allow(dead_code)] | |
pub enum NetCDFConstants { | |
NC_NOWRITE = 0, | |
NC_WRITE = 0x0001 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//extern crate green; | |
extern crate netcdf; | |
use std::libc::{c_int}; | |
use std::c_str::CString; | |
use std::str; | |
use std::io::File; | |
use netcdf::{nc_inq_varid, nc_get_var, nc_open, nc_close, nc_strerror}; | |
use netcdf::{NC_NOWRITE}; | |
/* | |
#[start] | |
fn start(argc: int, argv: **u8) -> int { green::start(argc, argv, main) } | |
*/ | |
fn dumpf32(data: &[f32], filename: &str) { | |
let mut fldf = File::create(&Path::new(filename)); | |
// convert the data into a u8 because that's what write needs | |
unsafe { | |
std::slice::raw::buf_as_slice(data.as_ptr() as *u8, | |
data.len() * std::mem::size_of::<f32>(), | |
|buf| { | |
if fldf.write(buf).is_err() { | |
println!("error writing field {}!" , | |
filename); | |
} }); | |
} | |
if fldf.flush().is_err() { println!("couldn\'t flush {}" , filename); } | |
} | |
fn writefield(data: &mut [f32], ncdf: c_int, fieldname: CString, | |
filename: &str) { | |
let mut varid: c_int = 0; | |
unsafe { | |
let mut rvinq: c_int = 0; | |
fieldname.with_ref(|fname| { | |
rvinq = nc_inq_varid(ncdf, fname, &mut varid) }); | |
if rvinq != 0 { | |
let errstr = CString::new(nc_strerror(rvinq), false); | |
println!("err inq ({}): {} ({})" , fieldname . as_str ( ) , str :: | |
from_utf8 ( errstr . as_bytes ( ) ) , rvinq); | |
return; | |
} | |
} | |
unsafe { | |
let rde = | |
nc_get_var(ncdf, varid, std::cast::transmute(data.as_mut_ptr())); | |
if rde != 0 { | |
let errstr = CString::new(nc_strerror(rde), false); | |
println!("err inq: {} ({})" , str :: from_utf8 | |
( errstr . as_bytes ( ) ) , rde); | |
return; | |
} | |
} | |
dumpf32(data, filename); | |
} | |
fn main() { | |
println!("main!"); | |
let mut hdl: c_int = 0; | |
let fname = "/home/tfogal/data/astrophysics/BURSc2198.nc".to_c_str(); | |
unsafe { | |
let mut rvopen: c_int = 0; | |
fname.with_ref(|filename| { | |
rvopen = nc_open(filename, NC_NOWRITE as i32, &mut hdl) | |
}); | |
println!("handle: {}, open: {}" , hdl , rvopen); | |
if rvopen != 0 { | |
let errstr = CString::new(nc_strerror(rvopen), false); | |
println!("err: {} ({})" , rvopen , str :: from_utf8 | |
( errstr . as_bytes ( ) )); | |
} | |
}; | |
let mut data = ~([0f32,..1000 * 1000 * 1000]); | |
writefield(*data, hdl, "XVelocity".to_c_str(), "xvelocity.raw.f32"); | |
unsafe { nc_close(hdl); } | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment