summaryrefslogtreecommitdiffhomepage
path: root/Private/DriverKit/KernelDev.c
blob: e8c041aff218176ba8d7af8cdc55347a40859085 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* -------------------------------------------

    Copyright Mahrouss Logic

    Purpose: Kernel Text I/O.

------------------------------------------- */

#include <DriverKit/KernelDev.h>

/// @brief Open a new binary device from path.
DK_EXTERN kernelDeviceRef kernelOpenBinaryDevice(const char* devicePath) {
    if (!devicePath) return NIL;

    return kernelCall("OpenBinaryDevice", 1, devicePath);
}

/// @brief Open a new character device from path.
DK_EXTERN kernelDeviceRef kernelOpenCharDevice(const char* devicePath) {
    if (!devicePath) return NIL;

    return kernelCall("OpenCharDevice", 1, devicePath);
}

/// @brief Close any device.
/// @param device valid device.
DK_EXTERN void kernelCloseDevice(kernelDeviceRef device) {
    if (!device) return;

    kernelCall("CloseDevice", 1, device);
}