1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
//! This package was automatically generated with [`rust-bindgen`][1] and as such was not
//! user-generated.
//!
//! The functions contained are expected to be used with [`fitsio`][2], a high level API wrapper
//! around the low level direct C-bindings, though the bindings are complete enough to be usable.
//!
//! This code will not be directly documented, and so users should refer to the [`fitsio` C
//! documentation][3] for usage.
//!
//! ## Note about function names
//!
//! Unfortunately we must use fits short names throughout. The C-api exposes long names for
//! functions which are more descriptive, for example `fits_open_file` instead of `ffopen`, but the
//! symbols available in the library have only short names, and the long names are merely
//! preprocessor definitions.
//!
//! ## Examples
//!
//! ```rust
//! use std::ptr;
//! use std::ffi;
//! # use fitsio_sys::{ffinit, ffphps, ffclos};
//!
//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
//! let filename = ffi::CString::new("!/tmp/test.fits").unwrap();
//! let mut fptr = ptr::null_mut();
//! let mut status = 0;
//!
//! unsafe {
//! // Create a new file, clobbering any pre-existing file
//! ffinit(&mut fptr as *mut *mut _,
//! filename.as_ptr(),
//! &mut status);
//!
//! // Add an empty primary HDU
//! ffphps(fptr, 8, 0, ptr::null_mut(), &mut status);
//!
//! // Finally close the file
//! ffclos(fptr, &mut status);
//! }
//!
//! assert_eq!(status, 0);
//! # Ok(())
//! # }
//! ```
//!
//! [1]: https://github.com/crabtw/rust-bindgen
//! [2]: https://crates.io/crates/fitsio
//! [3]: http://heasarc.gsfc.nasa.gov/docs/software/fitsio/c/c_user/cfitsio.html
#![allow(improper_ctypes)]
#[cfg(not(feature = "bindgen"))]
mod sys {
// automatically generated by rust-bindgen
#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
// Prevent clippy from throwing errors in generated code
#![allow(
clippy::unreadable_literal,
clippy::transmute_ptr_to_ptr,
clippy::redundant_static_lifetimes,
clippy::missing_safety_doc,
clippy::should_implement_trait,
clippy::upper_case_acronyms
)]
#[cfg(target_pointer_width = "64")]
include!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/bindings_64.rs"));
#[cfg(target_pointer_width = "32")]
include!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/bindings_32.rs"));
}
#[cfg(feature = "bindgen")]
mod sys {
#![allow(
non_upper_case_globals,
non_camel_case_types,
non_snake_case,
improper_ctypes
)]
// Prevent clippy from throwing errors in generated code
#![allow(
clippy::unreadable_literal,
clippy::transmute_ptr_to_ptr,
clippy::redundant_static_lifetimes,
clippy::missing_safety_doc,
clippy::useless_transmute,
clippy::trivially_copy_pass_by_ref,
clippy::too_many_arguments,
clippy::should_implement_trait,
clippy::upper_case_acronyms
)]
include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
}
pub use sys::*;