Hi,
Most of the developers I've talked to (including myself) want to get rid of the /nt directory, since it is architecturally incorrect and should instead be migrated into other parts of the kernel. Since the nt functions that were in the directory were part of the Executive (note the ExXXXObjectType), I've placed the functions in \ex, and renamed all Ntp stuff by Exp, with the exception of some LPC stuff which I've renamed from Ni to Lpcp. profiles were harder, since both the Executive and Kernel parts were in the nt file (actually we're not implementing the Executive part properly imo, we don't even have EPROFILE, but that's another story). Anyways, attached is the patch so you can see what was changed and where it was displaced. I don't think anyone wants to keep the /nt directory, based on previous discussions, but I want to make sure people will be aware of it.
Best regards, Alex Ionescu
Alex Ionescu wrote:
Hi,
Most of the developers I've talked to (including myself) want to get rid of the /nt directory, since it is architecturally incorrect and should instead be migrated into other parts of the kernel.
Best regards, Alex Ionescu
I forgot to include this in the patch:
Index: lib/ntdll/def/ntdll.def =================================================================== --- lib/ntdll/def/ntdll.def (revision 12839) +++ lib/ntdll/def/ntdll.def (working copy) @@ -77,7 +77,6 @@ NtCompleteConnectPort@4 NtConnectPort@32 NtContinue@8 -NtCreateChannel@8 NtCreateDirectoryObject@12 NtCreateEvent@20 NtCreateEventPair@12 @@ -128,7 +127,6 @@ NtImpersonateThread@12 NtInitializeRegistry@4 NtIsProcessInJob@8 -NtListenChannel@8 NtListenPort@8 NtLoadDriver@4 NtLoadKey@8 @@ -139,7 +137,6 @@ NtMapViewOfSection@40 NtNotifyChangeDirectoryFile@36 NtNotifyChangeKey@40 -NtOpenChannel@8 NtOpenDirectoryObject@12 NtOpenEvent@12 NtOpenEventPair@12 @@ -212,17 +209,13 @@ NtRemoveIoCompletion@20 NtReplaceKey@12 NtReplyPort@8 NtReplyWaitReceivePort@16 NtReplyWaitReplyPort@8 -NtReplyWaitSendChannel@12 NtRequestPort@8 NtRequestWaitReplyPort@12 NtResetEvent@8 NtRestoreKey@12 NtResumeThread@8 NtSaveKey@8 -NtSendWaitReplyChannel@16 -NtSetContextChannel@4 NtSetContextThread@8 NtSetDefaultHardErrorPort@4 NtSetDefaultLocale@8 @@ -704,7 +697,6 @@ ZwCompleteConnectPort@4 ZwConnectPort@32 ZwContinue@8 -ZwCreateChannel@8 ZwCreateDirectoryObject@12 ZwCreateEvent@20 ZwCreateEventPair@12 @@ -751,7 +743,6 @@ ZwImpersonateClientOfPort@8 ZwImpersonateThread@12 ZwInitializeRegistry@4 -ZwListenChannel@8 ZwListenPort@8 ZwLoadDriver@4 ZwLoadKey@8 @@ -762,7 +753,6 @@ ZwMapViewOfSection@40 ZwNotifyChangeDirectoryFile@36 ZwNotifyChangeKey@40 -ZwOpenChannel@8 ZwOpenDirectoryObject@12 ZwOpenEvent@12 ZwOpenEventPair@12 @@ -835,15 +825,12 @@ ZwReplyPort@8 ZwReplyWaitReceivePort@16 ZwReplyWaitReplyPort@8 -ZwReplyWaitSendChannel@12 ZwRequestPort@8 ZwRequestWaitReplyPort@12 ZwResetEvent@8 ZwRestoreKey@12 ZwResumeThread@8 ZwSaveKey@8 -ZwSendWaitReplyChannel@16 -ZwSetContextChannel@4 ZwSetContextThread@8 ZwSetDefaultHardErrorPort@4 ZwSetDefaultLocale@8