28#define WIN32_NO_STATUS
49 CROSS_PROCESS_WORK_LIST *
list;
69 CROSS_PROCESS_WORK_ENTRY *
entry;
75 if ((
entry = RtlWow64PopCrossProcessWorkFromFreeList( &
list->free_list )))
86 RtlWow64PushCrossProcessWorkOntoWorkList( &
list->work_list,
entry, &
unused );
97#define ROUND_ADDR(addr) ((void *)((UINT_PTR)(addr) & ~page_mask))
98#define ROUND_SIZE(addr,size) (((SIZE_T)(size) + ((UINT_PTR)(addr) & page_mask) + page_mask) & ~page_mask)
130 CROSS_PROCESS_WORK_LIST *
list;
146 return 2 * 1024 * 1024;
164 switch (cpu_info->ProcessorArchitecture)
167 switch (cpu_info->ProcessorLevel)
180 switch (cpu_info->ProcessorLevel)
186 case PROCESSOR_ARCHITECTURE_ARM64:
190 FIXME(
"Unknown processor architecture %x\n", cpu_info->ProcessorArchitecture );
207 USHORT current_machine, native_machine;
209 RtlWow64GetProcessMachines( 0, ¤t_machine, &native_machine );
219 &basic_info,
sizeof(basic_info),
NULL )) ||
221 &cpu_info,
sizeof(cpu_info),
NULL )))
237 &basic_info,
sizeof(basic_info),
NULL )) ||
239 &cpu_info,
sizeof(cpu_info),
NULL )))
251 FIXME(
"stub: %p %p %p\n", mincache, maxcache,
flags );
264 addresses,
count, granularity )))
291 offset.u.LowPart = offset_low;
292 offset.u.HighPart = offset_high;
295 access &= ~FILE_MAP_EXECUTE;
370 FIXME(
"stub: %Id %Id %ld\n", mincache, maxcache,
flags );
439 MEM_EXTENDED_PARAMETER *parameters,
ULONG count )
463 TRACE_(
virtual)(
"addr %p, size %p, type %#lx, protect %#lx, params %p, count %lu.\n",
addr, (
void *)
size,
type, protect,
487 TRACE_(
virtual)(
"addr %p, size %p, type %#lx, protect %#lx.\n",
addr, (
void *)
size,
type, protect );
504 WIN32_MEMORY_RANGE_ENTRY *addresses,
ULONG flags )
507 count, (PMEMORY_RANGE_ENTRY)addresses,
528 WARN(
"Trying to release memory with specified size.\n" );
563 if (!old_prot && (
GetVersion() & 0x80000000)) old_prot = &prot;
607 DWORD old_prot, prot = PAGE_TARGETS_NO_UPDATE | PAGE_ENCLAVE_NO_CHANGE;
636 region_size =
min( region_size, (
char *)
info.BaseAddress +
info.RegionSize - (
char *)base_addr );
640 base_addr, region_size, 1, prot );
643 base_addr, region_size, 2, prot,
status );
653 prot = PAGE_TARGETS_NO_UPDATE | PAGE_ENCLAVE_NO_CHANGE | old_prot;
655 base_addr, region_size, 1, prot );
658 base_addr, region_size, 2, prot, status2 );
678 volatile const char *
p =
str;
679 while (
p !=
str +
max)
if (!*
p++)
break;
697 while (
p !=
str +
max)
if (!*
p++)
break;
815#define RTL_HEAP_ENTRY_BUSY 0x0001
816#define RTL_HEAP_ENTRY_REGION 0x0002
817#define RTL_HEAP_ENTRY_BLOCK 0x0010
818#define RTL_HEAP_ENTRY_UNCOMMITTED 0x1000
819#define RTL_HEAP_ENTRY_COMMITTED 0x4000
820#define RTL_HEAP_ENTRY_LFH 0x8000
874#define HEAP_ADD_USER_INFO 0x00000100
883#define MEM_FLAG_USED 1
884#define MEM_FLAG_MOVEABLE 2
885#define MEM_FLAG_DISCARDABLE 4
886#define MEM_FLAG_DISCARDED 8
887#define MEM_FLAG_DDESHARE 0x8000
905#define MAX_MEM_HANDLES 0x10000
943 WARN_(globalmem)(
"semi-stub!\n" );
1011 if (!
mem)
goto failed;
1066 WARN_(globalmem)(
"invalid handle %p\n",
handle );
1089 volatile char *
p =
ret;
1104 else if (!++
mem->lock)
mem->lock--;
1108 WARN_(globalmem)(
"invalid handle %p\n",
handle );
1166 mem->flags &= ~MEM_FLAG_DISCARDED;
1210 ret = (--
mem->lock != 0);
1215 WARN_(globalmem)(
"handle %p not locked\n",
handle );
1221 WARN_(globalmem)(
"invalid handle %p\n",
handle );
1246 case LowMemoryResourceNotification:
1249 case HighMemoryResourceNotification:
1292 FIXME(
"stub: %p %p %p\n",
process, pages, userarray );
1304 FIXME(
"stub: %p %p %p\n",
process, pages, userarray );
1335 static MEMORYSTATUSEX cached_status;
1336 static DWORD last_check;
1354 &basic_info,
sizeof(basic_info),
NULL )) ||
1356 &perf_info,
sizeof(perf_info),
NULL)) ||
1358 &vmc,
sizeof(vmc),
NULL )))
1361 status->dwMemoryLoad = 0;
1362 status->ullTotalPhys = basic_info.MmNumberOfPhysicalPages;
1368 status->ullAvailExtendedVirtual = 0;
1378 TRACE_(
virtual)(
"MemoryLoad %lu, TotalPhys %I64u, AvailPhys %I64u, TotalPageFile %I64u, "
1379 "AvailPageFile %I64u, TotalVirtual %I64u, AvailVirtual %I64u\n",
1393 FIXME(
"stub: %p %Iu %p\n",
addr, page_count, pages );
1479 buffer_length, return_length ));
1488 FIXME(
"thread %p, cpu_set_ids %p, count %lu stub.\n",
thread, cpu_set_ids,
count );
1499 FIXME(
"process %p, cpu_set_ids %p, count %lu stub.\n",
process, cpu_set_ids,
count );
1568 case MemoryRegionInfo:
1591 TRACE(
"buffer %p, context_flags %#lx, context %p, ret_length %p, compaction_mask %s.\n",
1596 if ((
status = RtlGetExtendedContextLength2( context_flags,
length, compaction_mask )))
1600 context_flags &= ~0x40;
1601 status = RtlGetExtendedContextLength2( context_flags,
length, compaction_mask );
1639#if defined(__x86_64__)
1667 return &
context->FltSave.XmmRegisters;
1684 if (feature_mask & 0x3)
1688 return !(feature_mask & ~(
DWORD64)3);
1711#elif defined(__i386__)
1745 return &
context->ExtendedRegisters;
1756 if (feature_mask & 0x3)
1760 return !(feature_mask & ~(
DWORD64)3);
1801 info->ProviderSignature = provider;
NTSTATUS NTAPI NtUnmapViewOfSection(IN HANDLE ProcessHandle, IN PVOID BaseAddress)
NTSTATUS NTAPI NtMapViewOfSection(IN HANDLE SectionHandle, IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, IN ULONG_PTR ZeroBits, IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, IN ULONG AllocationType, IN ULONG Protect)
static struct sockaddr_in sa
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static const WCHAR nameW[]
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
#define STATUS_NOT_SUPPORTED
#define ERROR_NOT_ENOUGH_MEMORY
#define ERROR_INSUFFICIENT_BUFFER
#define NT_SUCCESS(StatCode)
static __inline BOOL set_ntstatus(NTSTATUS status)
#define ReadProcessMemory(a, b, c, d, e)
#define ERROR_INVALID_ADDRESS
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define CreateFileMappingW(a, b, c, d, e, f)
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
#define GetCurrentProcess()
#define HeapFree(x, y, z)
#define ERROR_INVALID_HANDLE
#define WINE_DECLARE_DEBUG_CHANNEL(x)
#define __EXCEPT_PAGE_FAULT
static void close_cross_process_connection(CROSS_PROCESS_WORK_LIST *list)
SIZE_T WINAPI GetLargePageMinimum(void)
#define RTL_HEAP_ENTRY_BUSY
UINT WINAPI DECLSPEC_HOTPATCH GetWriteWatch(DWORD flags, void *base, SIZE_T size, void **addresses, ULONG_PTR *count, ULONG *granularity)
void *WINAPI KernelBaseGetGlobalData(void)
LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAllocExNuma(HANDLE process, void *addr, SIZE_T size, DWORD type, DWORD protect, DWORD node)
BOOL WINAPI DECLSPEC_HOTPATCH HeapValidate(HANDLE heap, DWORD flags, LPCVOID ptr)
static UINT get_firmware_table(DWORD provider, SYSTEM_FIRMWARE_TABLE_ACTION action, DWORD id, void *buffer, DWORD size)
LPVOID WINAPI DECLSPEC_HOTPATCH LocalLock(HLOCAL handle)
#define MEM_FLAG_MOVEABLE
#define RTL_HEAP_ENTRY_REGION
LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAllocFromApp(void *addr, SIZE_T size, DWORD type, DWORD protect)
BOOL WINAPI DECLSPEC_HOTPATCH VirtualFree(void *addr, SIZE_T size, DWORD type)
static void fill_system_info(SYSTEM_INFO *si, const SYSTEM_BASIC_INFORMATION *basic_info, const SYSTEM_CPU_INFORMATION *cpu_info)
#define MEM_FLAG_DDESHARE
HANDLE WINAPI DECLSPEC_HOTPATCH CreateFileMappingNumaW(HANDLE file, LPSECURITY_ATTRIBUTES sa, DWORD protect, DWORD size_high, DWORD size_low, LPCWSTR name, DWORD node)
#define MEM_FLAG_DISCARDED
LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAlloc(void *addr, SIZE_T size, DWORD type, DWORD protect)
BOOL WINAPI InitializeContext2(void *buffer, DWORD context_flags, CONTEXT **context, DWORD *length, ULONG64 compaction_mask)
BOOL WINAPI DECLSPEC_HOTPATCH SetSystemFileCacheSize(SIZE_T mincache, SIZE_T maxcache, DWORD flags)
BOOL WINAPI DECLSPEC_HOTPATCH GetNumaProximityNodeEx(ULONG proximity_id, USHORT *node)
LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAlloc2FromApp(HANDLE process, void *addr, SIZE_T size, DWORD type, DWORD protect, MEM_EXTENDED_PARAMETER *parameters, ULONG count)
HLOCAL WINAPI DECLSPEC_HOTPATCH LocalReAlloc(HLOCAL handle, SIZE_T size, UINT flags)
BOOL WINAPI DECLSPEC_HOTPATCH GetLogicalProcessorInformation(SYSTEM_LOGICAL_PROCESSOR_INFORMATION *buffer, DWORD *len)
BOOL WINAPI DECLSPEC_HOTPATCH PrefetchVirtualMemory(HANDLE process, ULONG_PTR count, WIN32_MEMORY_RANGE_ENTRY *addresses, ULONG flags)
static struct mem_entry * unsafe_mem_from_HLOCAL(HLOCAL handle)
LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAllocEx(HANDLE process, void *addr, SIZE_T size, DWORD type, DWORD protect)
BOOL WINAPI DECLSPEC_HOTPATCH GetLogicalProcessorInformationEx(LOGICAL_PROCESSOR_RELATIONSHIP relationship, SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX *buffer, DWORD *len)
static void send_cross_process_notification(CROSS_PROCESS_WORK_LIST *list, UINT id, const void *addr, SIZE_T size, int nb_args,...)
LPVOID WINAPI DECLSPEC_HOTPATCH MapViewOfFile3(HANDLE handle, HANDLE process, PVOID baseaddr, ULONG64 offset, SIZE_T size, ULONG alloc_type, ULONG protection, MEM_EXTENDED_PARAMETER *params, ULONG params_count)
BOOL WINAPI DECLSPEC_HOTPATCH UnmapViewOfFileEx(void *addr, ULONG flags)
DWORD WINAPI DECLSPEC_HOTPATCH DiscardVirtualMemory(void *addr, SIZE_T size)
BOOL WINAPI DECLSPEC_HOTPATCH FlushInstructionCache(HANDLE process, LPCVOID addr, SIZE_T size)
BOOL WINAPI DECLSPEC_HOTPATCH FlushViewOfFile(const void *base, SIZE_T size)
BOOL WINAPI IsBadStringPtrW(LPCWSTR str, UINT_PTR max)
BOOL WINAPI DECLSPEC_HOTPATCH GetNumaNodeProcessorMaskEx(USHORT node, GROUP_AFFINITY *mask)
BOOL WINAPI GetSystemCpuSetInformation(SYSTEM_CPU_SET_INFORMATION *info, ULONG buffer_length, ULONG *return_length, HANDLE process, ULONG flags)
BOOL WINAPI DECLSPEC_HOTPATCH FreeUserPhysicalPages(HANDLE process, ULONG_PTR *pages, ULONG_PTR *userarray)
BOOL WINAPI CopyContext(CONTEXT *dst, DWORD context_flags, CONTEXT *src)
UINT WINAPI GetSystemFirmwareTable(DWORD provider, DWORD id, void *buffer, DWORD size)
BOOL WINAPI SetProcessDefaultCpuSets(HANDLE process, const ULONG *cpu_set_ids, ULONG count)
#define ROUND_SIZE(addr, size)
SIZE_T WINAPI DECLSPEC_HOTPATCH VirtualQueryEx(HANDLE process, LPCVOID addr, PMEMORY_BASIC_INFORMATION info, SIZE_T len)
void init_global_data(void)
BOOL WINAPI DECLSPEC_HOTPATCH VirtualProtect(void *addr, SIZE_T size, DWORD new_prot, DWORD *old_prot)
LPVOID WINAPI DECLSPEC_HOTPATCH MapViewOfFileEx(HANDLE handle, DWORD access, DWORD offset_high, DWORD offset_low, SIZE_T count, LPVOID addr)
BOOL WINAPI DECLSPEC_HOTPATCH UnmapViewOfFile2(HANDLE process, void *addr, ULONG flags)
HGLOBAL WINAPI DECLSPEC_HOTPATCH GlobalAlloc(UINT flags, SIZE_T size)
LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAlloc2(HANDLE process, void *addr, SIZE_T size, DWORD type, DWORD protect, MEM_EXTENDED_PARAMETER *parameters, ULONG count)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE type)
static CROSS_PROCESS_WORK_LIST * open_cross_process_connection(HANDLE process)
BOOL WINAPI DECLSPEC_HOTPATCH QueryVirtualMemoryInformation(HANDLE process, const void *addr, WIN32_MEMORY_INFORMATION_CLASS info_class, void *info, SIZE_T size, SIZE_T *ret_size)
BOOL WINAPI InitializeContext(void *buffer, DWORD context_flags, CONTEXT **context, DWORD *length)
#define HEAP_ADD_USER_INFO
BOOL WINAPI HeapQueryInformation(HANDLE heap, HEAP_INFORMATION_CLASS info_class, PVOID info, SIZE_T size, PSIZE_T size_out)
LPVOID WINAPI DECLSPEC_HOTPATCH MapViewOfFileFromApp(HANDLE handle, ULONG access, ULONG64 offset, SIZE_T size)
static struct kernelbase_global_data global_data
BOOL WINAPI HeapUnlock(HANDLE heap)
static BOOL is_exec_prot(DWORD protect)
#define RTL_HEAP_ENTRY_UNCOMMITTED
UINT WINAPI DECLSPEC_HOTPATCH ResetWriteWatch(void *base, SIZE_T size)
static struct mem_entry * next_free_mem
UINT WINAPI EnumSystemFirmwareTables(DWORD provider, void *buffer, DWORD size)
BOOL WINAPI DECLSPEC_HOTPATCH GetNumaHighestNodeNumber(ULONG *node)
LPVOID WINAPI DECLSPEC_HOTPATCH MapViewOfFileExNuma(HANDLE handle, DWORD access, DWORD offset_high, DWORD offset_low, SIZE_T count, LPVOID addr, DWORD node)
BOOL WINAPI DECLSPEC_HOTPATCH LocalUnlock(HLOCAL handle)
BOOL WINAPI DECLSPEC_HOTPATCH VirtualLock(void *addr, SIZE_T size)
HLOCAL WINAPI DECLSPEC_HOTPATCH LocalAlloc(UINT flags, SIZE_T size)
static void * unsafe_ptr_from_HLOCAL(HLOCAL handle)
BOOL WINAPI DECLSPEC_HOTPATCH AllocateUserPhysicalPagesNuma(HANDLE process, ULONG_PTR *pages, ULONG_PTR *userarray, DWORD node)
BOOL WINAPI IsBadStringPtrA(LPCSTR str, UINT_PTR max)
HANDLE WINAPI DECLSPEC_HOTPATCH HeapCreate(DWORD flags, SIZE_T init_size, SIZE_T max_size)
BOOL WINAPI DECLSPEC_HOTPATCH VirtualProtectEx(HANDLE process, void *addr, SIZE_T size, DWORD new_prot, DWORD *old_prot)
HGLOBAL WINAPI DECLSPEC_HOTPATCH GlobalFree(HLOCAL handle)
static const SIZE_T page_mask
static HLOCAL HLOCAL_from_mem(struct mem_entry *mem)
BOOL WINAPI HeapSetInformation(HANDLE heap, HEAP_INFORMATION_CLASS infoclass, PVOID info, SIZE_T size)
BOOL WINAPI DECLSPEC_HOTPATCH AllocateUserPhysicalPages(HANDLE process, ULONG_PTR *pages, ULONG_PTR *userarray)
BOOL WINAPI DECLSPEC_HOTPATCH QueryMemoryResourceNotification(HANDLE handle, BOOL *state)
BOOL WINAPI DECLSPEC_HOTPATCH HeapLock(HANDLE heap)
BOOL WINAPI DECLSPEC_HOTPATCH WriteProcessMemory(HANDLE process, void *addr, const void *buffer, SIZE_T size, SIZE_T *bytes_written)
void WINAPI DECLSPEC_HOTPATCH GetNativeSystemInfo(SYSTEM_INFO *si)
BOOL WINAPI DECLSPEC_HOTPATCH HeapWalk(HANDLE heap, PROCESS_HEAP_ENTRY *entry)
BOOL WINAPI DECLSPEC_HOTPATCH GetSystemFileCacheSize(SIZE_T *mincache, SIZE_T *maxcache, DWORD *flags)
#define MEM_FLAG_DISCARDABLE
SIZE_T WINAPI DECLSPEC_HOTPATCH VirtualQuery(LPCVOID addr, PMEMORY_BASIC_INFORMATION info, SIZE_T len)
HLOCAL WINAPI DECLSPEC_HOTPATCH LocalFree(HLOCAL handle)
BOOL WINAPI SetThreadSelectedCpuSets(HANDLE thread, const ULONG *cpu_set_ids, ULONG count)
SIZE_T WINAPI DECLSPEC_HOTPATCH HeapCompact(HANDLE heap, DWORD flags)
BOOL WINAPI DECLSPEC_HOTPATCH HeapDestroy(HANDLE heap)
BOOL WINAPI DECLSPEC_HOTPATCH MapUserPhysicalPages(void *addr, ULONG_PTR page_count, ULONG_PTR *pages)
BOOL WINAPI DECLSPEC_HOTPATCH GetPhysicallyInstalledSystemMemory(ULONGLONG *memory)
BOOL WINAPI DECLSPEC_HOTPATCH VirtualUnlock(void *addr, SIZE_T size)
BOOL WINAPI DECLSPEC_HOTPATCH VirtualFreeEx(HANDLE process, void *addr, SIZE_T size, DWORD type)
void WINAPI DECLSPEC_HOTPATCH GetSystemInfo(SYSTEM_INFO *si)
DWORD WINAPI GetVersion(void)
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum const GLfloat * params
GLuint GLsizei GLsizei * length
GLenum const GLvoid * addr
GLuint GLint GLboolean GLint GLenum access
GLenum GLenum GLenum GLenum mapping
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
BOOL NTAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX lpBuffer)
NTSYSAPI NTSTATUS WINAPI NtQuerySystemInformationEx(SYSTEM_INFORMATION_CLASS, void *, ULONG, void *, ULONG, ULONG *)
NTSYSAPI NTSTATUS WINAPI RtlWalkHeap(HANDLE, PVOID)
NTSYSAPI BOOLEAN WINAPI RtlValidateHeap(HANDLE, ULONG, LPCVOID)
NTSYSAPI NTSTATUS WINAPI RtlSetHeapInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T)
NTSYSAPI BOOLEAN WINAPI RtlUnlockHeap(HANDLE)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
NTSYSAPI NTSTATUS WINAPI RtlQueryHeapInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T)
@ SystemLogicalProcessorInformationEx
NTSYSAPI BOOLEAN WINAPI RtlLockHeap(HANDLE)
NTSYSAPI ULONG WINAPI RtlCompactHeap(HANDLE, ULONG)
#define SystemPerformanceInformation
#define memcpy(s1, s2, n)
static char memory[1024 *256]
static PIO_STATUS_BLOCK void ULONG FS_INFORMATION_CLASS info_class
#define InitializeObjectAttributes(p, n, a, r, s)
unsigned __int3264 UINT_PTR
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
@ SystemFirmwareTableInformation
@ SystemLogicalProcessorInformation
#define PROCESSOR_ARCHITECTURE_ARM
#define PROCESSOR_ARCHITECTURE_AMD64
#define PROCESSOR_ARCHITECTURE_INTEL
enum _HEAP_INFORMATION_CLASS HEAP_INFORMATION_CLASS
NTSYSAPI PVOID NTAPI RtlDestroyHeap(IN PVOID HeapHandle)
#define PAGE_EXECUTE_READ
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI PVOID NTAPI RtlCreateHeap(IN ULONG Flags, IN PVOID HeapBase OPTIONAL, IN ULONG ReserveSize OPTIONAL, IN ULONG CommitSize OPTIONAL, IN PVOID Lock OPTIONAL, IN PRTL_HEAP_PARAMETERS Parameters OPTIONAL)
#define CONTEXT_FLOATING_POINT
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
#define PAGE_EXECUTE_WRITECOPY
#define HEAP_REALLOC_IN_PLACE_ONLY
#define HEAP_NO_SERIALIZE
#define PAGE_EXECUTE_READWRITE
@ SystemFirmwareTable_Enumerate
@ SystemFirmwareTable_Get
enum _SYSTEM_FIRMWARE_TABLE_ACTION SYSTEM_FIRMWARE_TABLE_ACTION
#define IMAGE_FILE_MACHINE_AMD64
NTSTATUS NTAPI NtOpenEvent(OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
NTSTATUS NTAPI NtResetWriteWatch(IN HANDLE ProcessHandle, IN PVOID BaseAddress, IN SIZE_T RegionSize)
NTSTATUS NTAPI NtGetWriteWatch(IN HANDLE ProcessHandle, IN ULONG Flags, IN PVOID BaseAddress, IN SIZE_T RegionSize, IN PVOID *UserAddressArray, OUT PULONG_PTR EntriesInUserAddressArray, OUT PULONG Granularity)
NTSTATUS NTAPI NtFreeVirtualMemory(IN HANDLE ProcessHandle, IN PVOID *UBaseAddress, IN PSIZE_T URegionSize, IN ULONG FreeType)
NTSTATUS NTAPI NtWriteVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, IN PVOID Buffer, IN SIZE_T NumberOfBytesToWrite, OUT PSIZE_T NumberOfBytesWritten OPTIONAL)
NTSTATUS NTAPI NtProtectVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *UnsafeBaseAddress, IN OUT SIZE_T *UnsafeNumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG UnsafeOldAccessProtection)
NTSTATUS NTAPI NtReadVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, OUT PVOID Buffer, IN SIZE_T NumberOfBytesToRead, OUT PSIZE_T NumberOfBytesRead OPTIONAL)
NTSTATUS NTAPI NtQueryVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, IN MEMORY_INFORMATION_CLASS MemoryInformationClass, OUT PVOID MemoryInformation, IN SIZE_T MemoryInformationLength, OUT PSIZE_T ReturnLength)
NTSTATUS NTAPI NtLockVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, IN OUT PSIZE_T NumberOfBytesToLock, IN ULONG MapType)
NTSTATUS NTAPI NtFlushVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, IN OUT PSIZE_T NumberOfBytesToFlush, OUT PIO_STATUS_BLOCK IoStatusBlock)
NTSTATUS NTAPI NtUnlockVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, IN OUT PSIZE_T NumberOfBytesToUnlock, IN ULONG MapType)
NTSTATUS NTAPI NtAllocateVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *UBaseAddress, IN ULONG_PTR ZeroBits, IN OUT PSIZE_T URegionSize, IN ULONG AllocationType, IN ULONG Protect)
NTSTATUS NTAPI NtFlushInstructionCache(_In_ HANDLE ProcessHandle, _In_opt_ PVOID BaseAddress, _In_ SIZE_T FlushSize)
NTSTATUS NTAPI NtQueryInformationProcess(_In_ HANDLE ProcessHandle, _In_ PROCESSINFOCLASS ProcessInformationClass, _Out_ PVOID ProcessInformation, _In_ ULONG ProcessInformationLength, _Out_opt_ PULONG ReturnLength)
#define STATUS_ACCESS_VIOLATION
#define offsetof(TYPE, MEMBER)
#define DECLSPEC_HOTPATCH
#define CONTEXT_EXTENDED_REGISTERS
BOOLEAN NTAPI RtlSetUserValueHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID BaseAddress, IN PVOID UserValue)
#define STATUS_BUFFER_TOO_SMALL
wchar_t const *const size_t const buffer_size
NTSYSAPI NTSTATUS NTAPI NtQuerySystemInformation(IN SYSTEM_INFORMATION_CLASS SystemInfoClass, OUT PVOID SystemInfoBuffer, IN ULONG SystemInfoBufferSize, OUT PULONG BytesReturned OPTIONAL)
DWORD_PTR dwActiveProcessorMask
DWORD dwAllocationGranularity
DWORD dwNumberOfProcessors
PVOID lpMinimumApplicationAddress
WORD wProcessorArchitecture
PVOID lpMaximumApplicationAddress
struct mem_entry * mem_entries
struct mem_entry * mem_entries_end
struct rtl_heap_entry::@518::@520 Block
struct rtl_heap_entry::@518::@521 Region
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
#define CONTAINING_RECORD(address, type, field)
#define STATUS_INVALID_PARAMETER
#define STATUS_NOT_MAPPED_DATA
#define STATUS_INFO_LENGTH_MISMATCH
type_t * alloc_type(void)
_Must_inspect_result_ WINBASEAPI BOOL WINAPI GetXStateFeaturesMask(_In_ PCONTEXT context, _Out_ PDWORD64 feature_mask)
WINBASEAPI DWORD64 WINAPI GetEnabledXStateFeatures()
#define PROCESS_HEAP_UNCOMMITTED_RANGE
#define PROCESS_HEAP_ENTRY_BUSY
#define PROCESS_HEAP_REGION
#define PROCESSOR_INTEL_PENTIUM
#define PROCESSOR_INTEL_386
#define PROCESSOR_AMD_X8664
#define PROCESSOR_ARM_7TDMI
#define PROCESSOR_INTEL_486
enum _LOGICAL_PROCESSOR_RELATIONSHIP LOGICAL_PROCESSOR_RELATIONSHIP
NTSYSAPI ULONG64 NTAPI RtlGetEnabledExtendedFeatures(IN ULONG64 FeatureMask)