moon-driver-utils 0.1.0

Windows Kernel Utils
#![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
}