1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
// These crate-wide attrs are useful because `bindgen`:

// generates types that don't and can't conform to the Rust naming conventions.
#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
// generates a lot of constants that aren't used in this crate directly
#![allow(dead_code)]

use std::os;

/// The type of all Emacs subroutines.
pub type EmacsSubr = unsafe extern "C" fn(
    env: *mut emacs_env,
    nargs: isize,
    args: *mut emacs_value,
    data: *mut os::raw::c_void,
) -> emacs_value;

pub type EmacsVal = emacs_value;

include!(concat!(env!("OUT_DIR"), "/emacs_module.rs"));