From da70596895d8135e08f8caac6978117697b4c021 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 18 Aug 2024 21:39:29 +0200 Subject: [REFACTOR] Improved project structure. Signed-off-by: Amlal El Mahrouss --- dev/DDK/KernelDev.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 dev/DDK/KernelDev.h (limited to 'dev/DDK/KernelDev.h') diff --git a/dev/DDK/KernelDev.h b/dev/DDK/KernelDev.h new file mode 100644 index 00000000..e99cb0a7 --- /dev/null +++ b/dev/DDK/KernelDev.h @@ -0,0 +1,32 @@ +/* ------------------------------------------- + + Copyright ZKA Technologies. + + Purpose: DDK Devices. + +------------------------------------------- */ + +#pragma once + +#include + +struct _kernelDevice; + +/// @brief Kernel Device driver. +typedef struct _kernelDevice +{ + char name[255]; // the device name. Could be /./DEVICE_NAME/ + void* (*read)(void* arg, int len); // read from device. + void (*write)(void* arg, int len); + void (*wait)(void); // write to device. + struct _kernelDevice* (*open)(const char* path); // open device. + void (*close)(struct _kernelDevice* dev); // close device. +} kernelDevice, *kernelDeviceRef; + +/// @brief Open a new device from path. +/// @param devicePath the device's path. +DK_EXTERN kernelDeviceRef kernelOpenDevice(const char* devicePath); + +/// @brief Close any device. +/// @param device valid device. +DK_EXTERN void kernelCloseDevice(kernelDeviceRef device); -- cgit v1.2.3