-
Notifications
You must be signed in to change notification settings - Fork 758
Closed
Description
the default ABI of the windows kernel is stdcall, so the most functions do not specify ABI.
Is it possible to increase the default ABI option?
example default_abi(name: &str)
bindgen::Builder::default().default_abi("stdcall"). ...;
Input C/C++ Header
// #include <ntifs.h>
#define DECLSPEC_IMPORT __declspec(dllimport)
#define NTKERNELAPI DECLSPEC_IMPORT // wdm ntndis ntifs
NTKERNELAPI
VOID
IoDeleteDevice (
PDEVICE_OBJECT DeviceObject
);
Bindgen Invocation
bindgen::Builder::default()
.header("wrapper/wrapper.h")
.use_core()
.derive_debug(false)
.layout_tests(false)
.ctypes_prefix("cty")
.default_enum_style(bindgen::EnumVariation::ModuleConsts)
.clang_arg(format!("-I{}", include_dir.to_str().unwrap()))
.parse_callbacks(Box::new(bindgen::CargoCallbacks))
.blocklist_type(".*")
.allowlist_function(".*")
.allowlist_recursively(false)
.generate()
.unwrap();
Actual Results
extern "C" {
pub fn IoDeleteDevice(DeviceObject: PDEVICE_OBJECT);
}
Expected Results
extern "stdcall" {
pub fn IoDeleteDevice(DeviceObject: PDEVICE_OBJECT);
}
Metadata
Metadata
Assignees
Labels
No labels