diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-03-29 05:03:14 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-03-29 05:06:15 +0100 |
| commit | c4870d08fa4bfb2613bf22a0b7cf306b388f58a4 (patch) | |
| tree | c8b5023a5ab4fe257f7687573812053c6e5273fb /dev/ddk/ddk.h | |
| parent | a8bd5ed975031d63eb448d2ed4f160cf7159c3bc (diff) | |
ddk: refactor: reorganize kit into a standard kernel kit.
sched: refactor: refactor scheduler file names, for future additions.
xcoff: refactor: document and improve XCOFF for NeFS (regarding Ne's FW)
codemgr: refactor: make a difference between kernel and user processes.
refactor: document project overall.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/ddk/ddk.h')
| -rw-r--r-- | dev/ddk/ddk.h | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/dev/ddk/ddk.h b/dev/ddk/ddk.h deleted file mode 100644 index f6f8d48e..00000000 --- a/dev/ddk/ddk.h +++ /dev/null @@ -1,112 +0,0 @@ -/* ------------------------------------------- - - Copyright Amlal EL Mahrouss. - - FILE: ddk.h - PURPOSE: DDK Driver model base header. - -------------------------------------------- */ - -#pragma once - -#include <stdint.h> -#include <stddef.h> - -#if defined(__cplusplus) -#define BOOL bool -#define YES true -#define NO false -#define DDK_EXTERN extern "C" __declspec(dllexport) -#define nil nullptr -#undef NULL -#define NULL 0 -#define DDK_FINAL final -#else -#define BOOL char -#define YES 1 -#define NO 0 -#define DDK_EXTERN extern __declspec(dllexport) -#define nil ((void*)0) -#undef NULL -#define NULL ((void*)0) -#define DDK_FINAL -#endif // defined(__cplusplus) - -#ifndef __DDK__ -#undef DDK_EXTERN -#if defined(__cplusplus) -#define DDK_EXTERN extern "C" __declspec(dllimport) -#else -#define DDK_EXTERN __declspec(dllimport) -#endif -#endif - -#define ATTRIBUTE(X) __attribute__((X)) - -#ifndef __NEOSKRNL__ -#error !!! Do not include header in EL0/Ring 3 mode !!! -#endif // __MINOSKRNL__ - -struct DDK_STATUS_STRUCT; -struct DDK_OBJECT_MANIFEST; - -/// \brief Object handle manifest. -struct DDK_OBJECT_MANIFEST DDK_FINAL -{ - char* p_name; - int32_t p_kind; - void* p_object; -}; - -/// \brief DDK status ping structure. -struct DDK_STATUS_STRUCT DDK_FINAL -{ - int32_t s_action_id; - int32_t s_issuer_id; - int32_t s_group_id; - void* s_object; -}; - -/// @brief Call Kernel procedure. -/// @param name the procedure name. -/// @param cnt number of elements in **dat** -/// @param dat data argument pointer. -/// @param sz sz of whole data argument pointer. -/// @return result of call -DDK_EXTERN void* ke_call(const char* name, int32_t cnt, void* dat, size_t sz); - -/// @brief add a system call. -/// @param slot system call slot id. -/// @param slotFn, syscall slot. -DDK_EXTERN void ke_add_syscall(const int32_t slot, void (*slotFn)(void* a0)); - -/// @brief Allocates an heap ptr. -/// @param sz size of the allocated struct/type. -/// @return the pointer allocated or **nil**. -DDK_EXTERN void* kalloc(size_t sz); - -/// @brief Frees an heap ptr. -/// @param pointer kernel pointer to free. -DDK_EXTERN void kfree(void* the_ptr); - -/// @brief Gets a Kernel object. -/// @param slot object id (can be 0) -/// @param name the property's name. -/// @return DDK_OBJECT_MANIFEST. -DDK_EXTERN struct DDK_OBJECT_MANIFEST* ke_get_obj(const int slot, const char* name); - -/// @brief Set a Kernel object. -/// @param slot object id (can be 0) -/// @param name the property's name. -/// @param ddk_pr pointer to a object's DDK_OBJECT_MANIFEST. -/// @return returned object. -DDK_EXTERN void* ke_set_obj(const int32_t slot, const struct DDK_OBJECT_MANIFEST* ddk_pr); - -/// @brief The highest API version of the DDK. -DDK_EXTERN int32_t kApiVersionHighest; - -/// @brief The lowest API version of the DDK. -DDK_EXTERN int32_t kApiVersionLowest; - -/// @brief API version in BCD. -DDK_EXTERN int32_t kApiVersion; |
