Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Side by Side Diff: sandbox/win/src/nt_internals.h

Issue 921353002: sandbox: Fix Win64 porting issue by using SIZE_T instead of ULONG (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file holds definitions related to the ntdll API. 5 // This file holds definitions related to the ntdll API.
6 6
7 #ifndef SANDBOX_WIN_SRC_NT_INTERNALS_H__ 7 #ifndef SANDBOX_WIN_SRC_NT_INTERNALS_H__
8 #define SANDBOX_WIN_SRC_NT_INTERNALS_H__ 8 #define SANDBOX_WIN_SRC_NT_INTERNALS_H__
9 9
10 #include <windows.h> 10 #include <windows.h>
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 typedef struct _SECTION_BASIC_INFORMATION { 243 typedef struct _SECTION_BASIC_INFORMATION {
244 PVOID BaseAddress; 244 PVOID BaseAddress;
245 ULONG Attributes; 245 ULONG Attributes;
246 LARGE_INTEGER Size; 246 LARGE_INTEGER Size;
247 } SECTION_BASIC_INFORMATION, *PSECTION_BASIC_INFORMATION; 247 } SECTION_BASIC_INFORMATION, *PSECTION_BASIC_INFORMATION;
248 248
249 typedef NTSTATUS (WINAPI *NtQuerySectionFunction)( 249 typedef NTSTATUS (WINAPI *NtQuerySectionFunction)(
250 IN HANDLE SectionHandle, 250 IN HANDLE SectionHandle,
251 IN SECTION_INFORMATION_CLASS SectionInformationClass, 251 IN SECTION_INFORMATION_CLASS SectionInformationClass,
252 OUT PVOID SectionInformation, 252 OUT PVOID SectionInformation,
253 IN SIZE_T SectionInformationLength, 253 IN SIZE_T SectionInformationLength,
Nico 2015/02/16 06:58:00 this is ULONG in dynamorio
Will Harris 2015/02/17 03:05:46 sources differ on this - some say ULONG and some s
Reid Kleckner 2015/02/19 01:57:06 Done.
254 OUT PSIZE_T ReturnLength OPTIONAL); 254 OUT PSIZE_T ReturnLength OPTIONAL);
Nico 2015/02/16 06:58:00 this is PULONG in dynamorio
Will Harris 2015/02/17 03:05:46 I agree this should be PULONG
Reid Kleckner 2015/02/19 01:57:06 Done.
255 255
256 // ----------------------------------------------------------------------- 256 // -----------------------------------------------------------------------
257 // Process and Thread 257 // Process and Thread
258 258
259 typedef struct _CLIENT_ID { 259 typedef struct _CLIENT_ID {
260 PVOID UniqueProcess; 260 PVOID UniqueProcess;
261 PVOID UniqueThread; 261 PVOID UniqueThread;
262 } CLIENT_ID, *PCLIENT_ID; 262 } CLIENT_ID, *PCLIENT_ID;
263 263
264 typedef NTSTATUS (WINAPI *NtOpenThreadFunction) ( 264 typedef NTSTATUS (WINAPI *NtOpenThreadFunction) (
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 417
418 typedef BOOLEAN (WINAPI *RtlFreeHeapFunction)( 418 typedef BOOLEAN (WINAPI *RtlFreeHeapFunction)(
419 IN PVOID HeapHandle, 419 IN PVOID HeapHandle,
420 IN ULONG Flags, 420 IN ULONG Flags,
421 IN PVOID HeapBase); 421 IN PVOID HeapBase);
422 422
423 typedef NTSTATUS (WINAPI *NtAllocateVirtualMemoryFunction) ( 423 typedef NTSTATUS (WINAPI *NtAllocateVirtualMemoryFunction) (
424 IN HANDLE ProcessHandle, 424 IN HANDLE ProcessHandle,
425 IN OUT PVOID *BaseAddress, 425 IN OUT PVOID *BaseAddress,
426 IN ULONG_PTR ZeroBits, 426 IN ULONG_PTR ZeroBits,
427 IN OUT PSIZE_T RegionSize, 427 IN OUT PSIZE_T RegionSize,
Nico 2015/02/16 06:58:00 This is a PULONG in the dynamorio code
Will Harris 2015/02/17 03:05:46 I think this should remain PSIZE_T
Reid Kleckner 2015/02/19 01:57:06 Left as PSIZE_T
428 IN ULONG AllocationType, 428 IN ULONG AllocationType,
429 IN ULONG Protect); 429 IN ULONG Protect);
430 430
431 typedef NTSTATUS (WINAPI *NtFreeVirtualMemoryFunction) ( 431 typedef NTSTATUS (WINAPI *NtFreeVirtualMemoryFunction) (
432 IN HANDLE ProcessHandle, 432 IN HANDLE ProcessHandle,
433 IN OUT PVOID *BaseAddress, 433 IN OUT PVOID *BaseAddress,
434 IN OUT PSIZE_T RegionSize, 434 IN OUT PSIZE_T RegionSize,
435 IN ULONG FreeType); 435 IN ULONG FreeType);
436 436
437 typedef enum _MEMORY_INFORMATION_CLASS { 437 typedef enum _MEMORY_INFORMATION_CLASS {
438 MemoryBasicInformation = 0, 438 MemoryBasicInformation = 0,
439 MemoryWorkingSetList, 439 MemoryWorkingSetList,
440 MemorySectionName, 440 MemorySectionName,
441 MemoryBasicVlmInformation 441 MemoryBasicVlmInformation
442 } MEMORY_INFORMATION_CLASS; 442 } MEMORY_INFORMATION_CLASS;
443 443
444 typedef struct _MEMORY_SECTION_NAME { // Information Class 2 444 typedef struct _MEMORY_SECTION_NAME { // Information Class 2
445 UNICODE_STRING SectionFileName; 445 UNICODE_STRING SectionFileName;
446 } MEMORY_SECTION_NAME, *PMEMORY_SECTION_NAME; 446 } MEMORY_SECTION_NAME, *PMEMORY_SECTION_NAME;
447 447
448 typedef NTSTATUS (WINAPI *NtQueryVirtualMemoryFunction)( 448 typedef NTSTATUS (WINAPI *NtQueryVirtualMemoryFunction)(
449 IN HANDLE ProcessHandle, 449 IN HANDLE ProcessHandle,
450 IN PVOID BaseAddress, 450 IN PVOID BaseAddress,
451 IN MEMORY_INFORMATION_CLASS MemoryInformationClass, 451 IN MEMORY_INFORMATION_CLASS MemoryInformationClass,
452 OUT PVOID MemoryInformation, 452 OUT PVOID MemoryInformation,
453 IN ULONG MemoryInformationLength, 453 IN SIZE_T MemoryInformationLength,
454 OUT PULONG ReturnLength OPTIONAL); 454 OUT PSIZE_T ReturnLength OPTIONAL);
rvargas (doing something else) 2015/02/17 20:47:30 We run elf on x64, don't we?. Which means that if
robertshield 2015/02/17 23:54:43 Yep.
Reid Kleckner 2015/02/19 01:57:06 It might not fail at all if there is no useful dat
rvargas (doing something else) 2015/02/19 02:09:55 My point was that looking at the code of GetBackin
455 455
456 typedef NTSTATUS (WINAPI *NtProtectVirtualMemoryFunction)( 456 typedef NTSTATUS (WINAPI *NtProtectVirtualMemoryFunction)(
457 IN HANDLE ProcessHandle, 457 IN HANDLE ProcessHandle,
458 IN OUT PVOID* BaseAddress, 458 IN OUT PVOID* BaseAddress,
459 IN OUT PSIZE_T ProtectSize, 459 IN OUT PSIZE_T ProtectSize,
Nico 2015/02/16 06:58:00 This is a PULONG in dynamorio
Will Harris 2015/02/17 03:05:46 I think this should remain PSIZE_T
Reid Kleckner 2015/02/19 01:57:06 Left as PSIZE_T
460 IN ULONG NewProtect, 460 IN ULONG NewProtect,
461 OUT PULONG OldProtect); 461 OUT PULONG OldProtect);
462 462
463 // ----------------------------------------------------------------------- 463 // -----------------------------------------------------------------------
464 // Objects 464 // Objects
465 465
466 typedef enum _OBJECT_INFORMATION_CLASS { 466 typedef enum _OBJECT_INFORMATION_CLASS {
467 ObjectBasicInformation, 467 ObjectBasicInformation,
468 ObjectNameInformation, 468 ObjectNameInformation,
469 ObjectTypeInformation, 469 ObjectTypeInformation,
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 POBJECT_ATTRIBUTES ObjectAttributes); 651 POBJECT_ATTRIBUTES ObjectAttributes);
652 652
653 #define DIRECTORY_QUERY 0x0001 653 #define DIRECTORY_QUERY 0x0001
654 #define DIRECTORY_TRAVERSE 0x0002 654 #define DIRECTORY_TRAVERSE 0x0002
655 #define DIRECTORY_CREATE_OBJECT 0x0004 655 #define DIRECTORY_CREATE_OBJECT 0x0004
656 #define DIRECTORY_CREATE_SUBDIRECTORY 0x0008 656 #define DIRECTORY_CREATE_SUBDIRECTORY 0x0008
657 #define DIRECTORY_ALL_ACCESS 0x000F 657 #define DIRECTORY_ALL_ACCESS 0x000F
658 658
659 #endif // SANDBOX_WIN_SRC_NT_INTERNALS_H__ 659 #endif // SANDBOX_WIN_SRC_NT_INTERNALS_H__
660 660
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698