#include <umtypes.h>
#include <ntnls.h>
#include <rtltypes.h>
+#include <pstypes.h>
#include <extypes.h>
#include "in6addr.h"
#include "inaddr.h"
ListHead->Blink = Entry;
}
-BOOLEAN
FORCEINLINE
+BOOLEAN
IsListEmpty(
IN const LIST_ENTRY * ListHead
)
#if DBG
#define ASSERT( exp ) \
- ((!(exp)) ? \
+ ((void)((!(exp)) ? \
(RtlAssert( #exp, __FILE__, __LINE__, NULL ),FALSE) : \
- TRUE)
+ TRUE))
#define ASSERTMSG( msg, exp ) \
- ((!(exp)) ? \
+ ((void)((!(exp)) ? \
(RtlAssert( #exp, __FILE__, __LINE__, msg ),FALSE) : \
- TRUE)
+ TRUE))
#else
IN PEXCEPTION_RECORD ExceptionRecord
);
+DECLSPEC_NORETURN
NTSYSAPI
VOID
NTAPI
RtlAllocateHeap(
IN HANDLE HeapHandle,
IN ULONG Flags,
- IN ULONG Size
+ IN SIZE_T Size
);
NTSYSAPI
IN HANDLE Heap,
IN ULONG Flags,
IN PVOID P,
- IN ULONG Size
+ IN SIZE_T Size
);
NTSYSAPI
);
NTSYSAPI
-ULONG
+SIZE_T
NTAPI
RtlSizeHeap(
IN PVOID HeapHandle,
IN HANDLE HeapHandle,
IN PVOID HeapEntry
);
-
+
#define RtlGetProcessHeap() (NtCurrentPeb()->ProcessHeap)
//
PGENERIC_MAPPING GenericMapping
);
+#ifdef NTOS_MODE_USER
+
NTSYSAPI
NTSTATUS
NTAPI
ACL_INFORMATION_CLASS InformationClass
);
+#endif
+
NTSYSAPI
VOID
NTAPI
IN BOOLEAN GroupDefaulted
);
+#ifdef NTOS_MODE_USER
+
NTSYSAPI
NTSTATUS
NTAPI
ACL_INFORMATION_CLASS InformationClass
);
+#endif
+
NTSYSAPI
NTSTATUS
NTAPI
//
// Byte Swap Functions
//
+#ifdef NTOS_MODE_USER
+
#if (defined(_M_IX86) && (_MSC_FULL_VER > 13009037)) || \
((defined(_M_AMD64) || \
defined(_M_IA64)) && (_MSC_FULL_VER > 13009175))
#define RtlUlongByteSwap(_x) _byteswap_ulong((_x))
#define RtlUlonglongByteSwap(_x) _byteswap_uint64((_x))
+#elif defined (__GNUC__)
+
+#define RtlUshortByteSwap(_x) _byteswap_ushort((USHORT)(_x))
+#define RtlUlongByteSwap(_x) _byteswap_ulong((_x))
+#define RtlUlonglongByteSwap(_x) _byteswap_uint64((_x))
+
#else
+#if (NTDDI_VERSION >= NTDDI_WIN2K)
NTSYSAPI
USHORT
FASTCALL
ULONGLONG
FASTCALL
RtlUlonglongByteSwap(IN ULONGLONG Source);
+#endif
#endif
+#endif // NTOS_MODE_USER
//
// Unicode->Ansi String Functions
PCHAR OemString,
ULONG OemSize,
PULONG ResultSize,
- PWCHAR UnicodeString,
+ PCWCH UnicodeString,
ULONG UnicodeSize
);
PCHAR OemString,
ULONG OemSize,
PULONG ResultSize,
- PWCHAR UnicodeString,
+ PCWCH UnicodeString,
ULONG UnicodeSize
);
PCHAR MbString,
ULONG MbSize,
PULONG ResultSize,
- PWCHAR UnicodeString,
+ PCWCH UnicodeString,
ULONG UnicodeSize
);
NTAPI
RtlUnicodeToMultiByteSize(
PULONG MbSize,
- PWCHAR UnicodeString,
+ PCWCH UnicodeString,
ULONG UnicodeSize
);
PWSTR UnicodeString,
ULONG MaxBytesInUnicodeString,
PULONG BytesInUnicodeString,
- IN PCHAR OemString,
+ IN PCCH OemString,
ULONG BytesInOemString
);
OUT PUNICODE_STRING DestinationString
);
+//
+// Memory Functions
+//
+NTSYSAPI
+VOID
+NTAPI
+RtlFillMemoryUlong(
+ IN PVOID Destination,
+ IN ULONG Length,
+ IN ULONG Fill
+);
+
#endif
NTSYSAPI
BOOLEAN
NTAPI
RtlIsTextUnicode(
- LPCVOID Buffer,
+ PVOID Buffer,
INT Length,
INT *Flags
);
OUT PRTL_ATOM Atom
);
-//
-// Memory Functions
-//
-NTSYSAPI
-VOID
-NTAPI
-RtlFillMemoryUlong(
- IN PVOID Destination,
- IN ULONG Length,
- IN ULONG Fill
-);
-
//
// Process Management Functions
//
IN PINITIAL_TEB InitialTeb
);
+NTSYSAPI
+BOOLEAN
+NTAPI
+RtlIsThreadWithinLoaderCallout(VOID);
+
NTSYSAPI
PRTL_USER_PROCESS_PARAMETERS
NTAPI
);
NTSYSAPI
-VOID
+NTSTATUS
NTAPI
RtlSetProcessIsCritical(
IN BOOLEAN NewValue,
OUT PBOOLEAN OldValue OPTIONAL,
- IN BOOLEAN IsWinlogon
+ IN BOOLEAN NeedBreaks
);
NTSYSAPI
IN ...
);
+NTSYSAPI
ULONG
NTAPI
DbgPrompt(
VOID
);
-NTSTATUS
+VOID
NTAPI
DbgLoadImageSymbols(
- IN PANSI_STRING Name,
+ IN PSTRING Name,
IN PVOID Base,
IN ULONG_PTR ProcessId
);
VOID
NTAPI
DbgUnLoadImageSymbols(
- IN PANSI_STRING Name,
+ IN PSTRING Name,
IN PVOID Base,
IN ULONG_PTR ProcessId
);
+VOID
+NTAPI
+DbgCommandString(
+ IN PCCH Name,
+ IN PCCH Command
+);
+
//
// Generic Table Functions
//
//
#ifdef NTOS_MODE_USER
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlActivateActivationContext(
+ IN ULONG Unknown,
+ IN HANDLE Handle,
+ OUT PULONG_PTR Cookie
+);
+
NTSYSAPI
VOID
NTAPI
IN PVOID *Context
);
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlCreateActivationContext(
+ OUT PHANDLE Handle,
+ IN OUT PVOID ReturnedData
+);
+
NTSYSAPI
NTSTATUS
NTAPI
VOID
NTAPI
RtlReleaseActivationContext(
- IN PVOID *Context
+ IN HANDLE handle
);
NTSYSAPI
NTSTATUS
NTAPI
RtlDeactivateActivationContext(
- DWORD dwFlags,
+ ULONG dwFlags,
ULONG_PTR ulCookie
);
+NTSYSAPI
+VOID
+NTAPI
+RtlFreeThreadActivationContextStack(void);
+
NTSYSAPI
NTSTATUS
NTAPI
NTSTATUS
NTAPI
RtlFindActivationContextSectionString(
- IN PVOID Unknown0,
- IN PVOID Unknown1,
+ IN ULONG dwFlags,
+ IN const GUID *ExtensionGuid,
IN ULONG SectionType,
IN PUNICODE_STRING SectionName,
- IN PVOID Unknown2
+ IN OUT PVOID ReturnedData
);
NTSYSAPI
NTSTATUS
NTAPI
RtlIpv4StringToAddressW(
- IN PWCHAR String,
- IN UCHAR Strict,
- OUT PWCHAR Terminator,
+ IN PCWSTR String,
+ IN BOOLEAN Strict,
+ OUT LPWSTR *Terminator,
OUT struct in_addr *Addr
);
);
#endif
+//
+// Boot Status Data Functions
+//
+#ifdef NTOS_MODE_USER
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlCreateBootStatusDataFile(
+ VOID
+);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlGetSetBootStatusData(
+ HANDLE FileHandle,
+ BOOLEAN WriteMode,
+ DWORD DataClass,
+ PVOID Buffer,
+ ULONG BufferSize,
+ DWORD DataClass2
+);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlLockBootStatusData(
+ HANDLE FileHandle
+);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlUnlockBootStatusData(
+ HANDLE FileHandle
+);
+#endif
+
#ifdef __cplusplus
}
#endif