#![no_std]
use wdk_sys::{OBJECT_ATTRIBUTES, OBJ_CASE_INSENSITIVE, OBJ_KERNEL_HANDLE, UNICODE_STRING};
extern crate alloc;
extern crate lazy_static;
pub mod bitfield;
pub mod bitop;
pub mod callback;
pub mod driver;
pub mod error;
pub mod feature_code_search;
pub mod file;
pub mod handle_table;
pub mod idt;
pub mod kernel_fucntion;
pub mod kernel_struct;
pub mod macor;
pub mod memory;
pub mod mutex;
pub mod process;
pub mod reentrant_spinlock;
pub mod registry;
pub mod rwlock;
pub mod slib;
pub mod string;
pub mod thread;
pub mod time;
pub mod timer;
pub mod wrap;
pub fn init_obj_attr(oa: &mut OBJECT_ATTRIBUTES, name: *mut UNICODE_STRING) {
oa.ObjectName = name;
oa.Attributes = OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE;
oa.Length = core::mem::size_of::<OBJECT_ATTRIBUTES>() as _;
}
#[no_mangle]
#[cfg(test)]
pub extern "C" fn DriverEntry(
_driver_object: *mut core::ffi::c_void,
_registry_path: *mut core::ffi::c_void,
) -> i32 {
-1
}