Sha256: ed2424a66df85ba9ac633fe30bc67a09a18cffe810da531bf4312735c3ef8742
Contents?: true
Size: 852 Bytes
Versions: 1
Compression:
Stored size: 852 Bytes
Contents
use core::mem::transmute; use rb_sys::*; use std::ffi::c_void; // Convert str literal to C string literal macro_rules! cstr { ($s:expr) => { concat!($s, "\0").as_ptr() as *const std::ffi::c_char }; } pub(crate) use cstr; pub type RubyCFunc = unsafe extern "C" fn() -> VALUE; // TODO: rewrite as macro pub fn to_ruby_cfunc1<T>(f: unsafe extern "C" fn(T) -> VALUE) -> RubyCFunc { unsafe { transmute::<unsafe extern "C" fn(T) -> VALUE, RubyCFunc>(f) } } pub fn to_ruby_cfunc3<T, U, V>(f: unsafe extern "C" fn(T, U, V) -> VALUE) -> RubyCFunc { unsafe { transmute::<unsafe extern "C" fn(T, U, V) -> VALUE, RubyCFunc>(f) } } #[allow(non_snake_case)] pub fn RTEST(v: VALUE) -> bool { v != Qfalse as VALUE && v != Qnil as VALUE } extern "C" { pub fn extract_si_value_sival_ptr(info: *mut libc::siginfo_t) -> *mut c_void; }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pf2-0.2.0 | ext/pf2/src/util.rs |