diff options
Diffstat (limited to 'dev/DDK/KernelStd.h')
| -rw-r--r-- | dev/DDK/KernelStd.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/dev/DDK/KernelStd.h b/dev/DDK/KernelStd.h index ab0c6eb8..da15f269 100644 --- a/dev/DDK/KernelStd.h +++ b/dev/DDK/KernelStd.h @@ -2,7 +2,8 @@ Copyright ZKA Technologies. - Purpose: DDK DLL Base Header. + FILE: KernelStd.h + PURPOSE: DDK Driver model base header. ------------------------------------------- */ @@ -21,18 +22,20 @@ #define DK_FINAL #endif // defined(__cplusplus) +#define ATTRIBUTE(X) __attribute__((X)) + #ifndef __NEWOSKRNL__ -#error !!! including header in user mode !!! +#error !!! including header in low exception/ring-3 mode !!! #endif // __NEWOSKRNL__ struct DDK_STATUS_STRUCT; -struct DDK_PROPERTY_RECORD; +struct DDK_OBJECT_MANIFEST; -struct DDK_PROPERTY_RECORD DK_FINAL +struct DDK_OBJECT_MANIFEST DK_FINAL { char* p_name; + int32_t p_kind; void* p_object; - void* p_xpcom_object; }; /// \brief DDK status structure (__at_enable, __at_disable...) @@ -50,12 +53,12 @@ struct DDK_STATUS_STRUCT DK_FINAL /// @param dat data ptr /// @param sz sz of whole data ptr. /// @return result of call -DK_EXTERN void* KernelCall(const char* KernelRpcName, int32_t cnt, void* dat, size_t sz); +DK_EXTERN void* KernelCall(const char* name, int32_t cnt, void* dat, size_t sz); /// @brief add system call. /// @param slot system call slot /// @param slotFn, syscall slot. -DK_EXTERN void KernelAddSyscall(const int slot, void (*slotFn)(void* a0)); +DK_EXTERN void KernelAddSyscall(const int32_t slot, void (*slotFn)(void* a0)); /// @brief allocate heap ptr. /// @param sz size of ptr. @@ -70,14 +73,14 @@ DK_EXTERN void KernelFree(void*); /// @param slot property id (always 0) /// @param name the property's name. /// @return property's object. -DK_EXTERN void* KernelGetProperty(const int slot, const char* name); +DK_EXTERN struct DDK_OBJECT_MANIFEST* KernelGetObject(const int slot, const char* name); /// @brief Set a Kernel property. /// @param slot property id (always 0) /// @param name the property's name. -/// @param ddk_pr pointer to a property's DDK_PROPERTY_RECORD. +/// @param ddk_pr pointer to a property's DDK_OBJECT_MANIFEST. /// @return property's object. -DK_EXTERN void* KernelSetProperty(const int slot, const struct DDK_PROPERTY_RECORD* ddk_pr); +DK_EXTERN void* KernelSetObject(const int32_t slot, const struct DDK_OBJECT_MANIFEST* ddk_pr); /// @brief The highest API version of the DDK. DK_EXTERN int32_t c_api_version_highest; |
