-
Notifications
You must be signed in to change notification settings - Fork 114
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #56 from hakril/io_ctypes_generation
Added IO definitions + ability to use CTL_CODE() macro in windef
- Loading branch information
Showing
17 changed files
with
16,213 additions
and
14,055 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
BOOL GetOverlappedResult( | ||
[in] HANDLE hFile, | ||
[in] LPOVERLAPPED lpOverlapped, | ||
[out] LPDWORD lpNumberOfBytesTransferred, | ||
[in] BOOL bWait | ||
); | ||
|
||
HANDLE CreateIoCompletionPort( | ||
[in] HANDLE FileHandle, | ||
[in, optional] HANDLE ExistingCompletionPort, | ||
[in] ULONG_PTR CompletionKey, | ||
[in] DWORD NumberOfConcurrentThreads | ||
); | ||
|
||
BOOL GetQueuedCompletionStatus( | ||
[in] HANDLE CompletionPort, | ||
LPDWORD lpNumberOfBytesTransferred, | ||
[out] PULONG_PTR lpCompletionKey, | ||
[out] LPOVERLAPPED *lpOverlapped, | ||
[in] DWORD dwMilliseconds | ||
); | ||
|
||
BOOL GetQueuedCompletionStatusEx( | ||
[in] HANDLE CompletionPort, | ||
[out] LPOVERLAPPED_ENTRY lpCompletionPortEntries, | ||
[in] ULONG ulCount, | ||
[out] PULONG ulNumEntriesRemoved, | ||
[in] DWORD dwMilliseconds, | ||
[in] BOOL fAlertable | ||
); | ||
|
||
BOOL PostQueuedCompletionStatus( | ||
[in] HANDLE CompletionPort, | ||
[in] DWORD dwNumberOfBytesTransferred, | ||
[in] ULONG_PTR dwCompletionKey, | ||
[in, optional] LPOVERLAPPED lpOverlapped | ||
); | ||
|
||
BOOL CancelIo( | ||
[in] HANDLE hFile | ||
); | ||
|
||
BOOL CancelIoEx( | ||
[in] HANDLE hFile, | ||
[in, optional] LPOVERLAPPED lpOverlapped | ||
); | ||
|
||
BOOL CancelSynchronousIo( | ||
[in] HANDLE hThread | ||
); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
typedef struct _OVERLAPPED { | ||
ULONG_PTR Internal; | ||
ULONG_PTR InternalHigh; | ||
union { | ||
struct { | ||
DWORD Offset; | ||
DWORD OffsetHigh; | ||
} _ANON_OVERLAPPED_DUMMYSTRUCTNAME; | ||
PVOID Pointer; | ||
} _ANON_OVERLAPPED_DUMMYUNIONNAME; | ||
HANDLE hEvent; | ||
} OVERLAPPED, *LPOVERLAPPED; | ||
|
||
typedef struct _OVERLAPPED_ENTRY { | ||
ULONG_PTR lpCompletionKey; | ||
LPOVERLAPPED lpOverlapped; | ||
ULONG_PTR Internal; | ||
DWORD dwNumberOfBytesTransferred; | ||
} OVERLAPPED_ENTRY, *LPOVERLAPPED_ENTRY; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,266 @@ | ||
typedef struct _IMAGE_FILE_HEADER { | ||
WORD Machine; | ||
WORD NumberOfSections; | ||
DWORD TimeDateStamp; | ||
DWORD PointerToSymbolTable; | ||
DWORD NumberOfSymbols; | ||
WORD SizeOfOptionalHeader; | ||
WORD Characteristics; | ||
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER; | ||
|
||
typedef struct _IMAGE_DATA_DIRECTORY { | ||
DWORD VirtualAddress; | ||
DWORD Size; | ||
} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY; | ||
|
||
|
||
typedef struct _IMAGE_SECTION_HEADER { | ||
BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; | ||
DWORD VirtualSize; | ||
DWORD VirtualAddress; | ||
DWORD SizeOfRawData; | ||
DWORD PointerToRawData; | ||
DWORD PointerToRelocations; | ||
DWORD PointerToLinenumbers; | ||
WORD NumberOfRelocations; | ||
WORD NumberOfLinenumbers; | ||
DWORD Characteristics; | ||
} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER; | ||
|
||
typedef struct _IMAGE_OPTIONAL_HEADER64 { | ||
WORD Magic; | ||
BYTE MajorLinkerVersion; | ||
BYTE MinorLinkerVersion; | ||
DWORD SizeOfCode; | ||
DWORD SizeOfInitializedData; | ||
DWORD SizeOfUninitializedData; | ||
DWORD AddressOfEntryPoint; | ||
DWORD BaseOfCode; | ||
ULONGLONG ImageBase; | ||
DWORD SectionAlignment; | ||
DWORD FileAlignment; | ||
WORD MajorOperatingSystemVersion; | ||
WORD MinorOperatingSystemVersion; | ||
WORD MajorImageVersion; | ||
WORD MinorImageVersion; | ||
WORD MajorSubsystemVersion; | ||
WORD MinorSubsystemVersion; | ||
DWORD Win32VersionValue; | ||
DWORD SizeOfImage; | ||
DWORD SizeOfHeaders; | ||
DWORD CheckSum; | ||
WORD Subsystem; | ||
WORD DllCharacteristics; | ||
ULONGLONG SizeOfStackReserve; | ||
ULONGLONG SizeOfStackCommit; | ||
ULONGLONG SizeOfHeapReserve; | ||
ULONGLONG SizeOfHeapCommit; | ||
DWORD LoaderFlags; | ||
DWORD NumberOfRvaAndSizes; | ||
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; | ||
} IMAGE_OPTIONAL_HEADER64, *PIMAGE_OPTIONAL_HEADER64; | ||
|
||
|
||
typedef struct _IMAGE_OPTIONAL_HEADER { | ||
WORD Magic; | ||
BYTE MajorLinkerVersion; | ||
BYTE MinorLinkerVersion; | ||
DWORD SizeOfCode; | ||
DWORD SizeOfInitializedData; | ||
DWORD SizeOfUninitializedData; | ||
DWORD AddressOfEntryPoint; | ||
DWORD BaseOfCode; | ||
DWORD BaseOfData; | ||
DWORD ImageBase; | ||
DWORD SectionAlignment; | ||
DWORD FileAlignment; | ||
WORD MajorOperatingSystemVersion; | ||
WORD MinorOperatingSystemVersion; | ||
WORD MajorImageVersion; | ||
WORD MinorImageVersion; | ||
WORD MajorSubsystemVersion; | ||
WORD MinorSubsystemVersion; | ||
DWORD Win32VersionValue; | ||
DWORD SizeOfImage; | ||
DWORD SizeOfHeaders; | ||
DWORD CheckSum; | ||
WORD Subsystem; | ||
WORD DllCharacteristics; | ||
DWORD SizeOfStackReserve; | ||
DWORD SizeOfStackCommit; | ||
DWORD SizeOfHeapReserve; | ||
DWORD SizeOfHeapCommit; | ||
DWORD LoaderFlags; | ||
DWORD NumberOfRvaAndSizes; | ||
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; | ||
} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32; | ||
|
||
typedef struct _IMAGE_NT_HEADERS64 { | ||
DWORD Signature; | ||
IMAGE_FILE_HEADER FileHeader; | ||
IMAGE_OPTIONAL_HEADER64 OptionalHeader; | ||
} IMAGE_NT_HEADERS64, *PIMAGE_NT_HEADERS64; | ||
|
||
typedef struct _IMAGE_NT_HEADERS { | ||
DWORD Signature; | ||
IMAGE_FILE_HEADER FileHeader; | ||
IMAGE_OPTIONAL_HEADER32 OptionalHeader; | ||
} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32; | ||
|
||
typedef struct _IMAGE_IMPORT_DESCRIPTOR { | ||
DWORD OriginalFirstThunk; | ||
DWORD TimeDateStamp; | ||
DWORD ForwarderChain; | ||
DWORD Name; | ||
DWORD FirstThunk; | ||
} IMAGE_IMPORT_DESCRIPTOR, *PIMAGE_IMPORT_DESCRIPTOR; | ||
|
||
typedef struct _IMAGE_IMPORT_BY_NAME { | ||
WORD Hint; | ||
BYTE Name[1]; | ||
} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME; | ||
|
||
typedef struct _IMAGE_EXPORT_DIRECTORY { | ||
DWORD Characteristics; | ||
DWORD TimeDateStamp; | ||
WORD MajorVersion; | ||
WORD MinorVersion; | ||
DWORD Name; | ||
DWORD Base; | ||
DWORD NumberOfFunctions; | ||
DWORD NumberOfNames; | ||
DWORD AddressOfFunctions; | ||
DWORD AddressOfNames; | ||
DWORD AddressOfNameOrdinals; | ||
} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY; | ||
|
||
typedef struct _IMAGE_DEBUG_DIRECTORY { | ||
DWORD Characteristics; | ||
DWORD TimeDateStamp; | ||
WORD MajorVersion; | ||
WORD MinorVersion; | ||
DWORD Type; | ||
DWORD SizeOfData; | ||
DWORD AddressOfRawData; | ||
DWORD PointerToRawData; | ||
} IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY; | ||
|
||
typedef struct _IMAGE_BASE_RELOCATION { | ||
DWORD VirtualAddress; | ||
DWORD SizeOfBlock; | ||
} IMAGE_BASE_RELOCATION, *PIMAGE_BASE_RELOCATION; | ||
|
||
|
||
// not found on MSDN : from symbols | ||
typedef struct _IMAGE_LOAD_CONFIG_CODE_INTEGRITY { | ||
WORD Flags; | ||
WORD Catalog; | ||
DWORD CatalogOffset; | ||
DWORD Reserved; | ||
} IMAGE_LOAD_CONFIG_CODE_INTEGRITY, *PIMAGE_LOAD_CONFIG_CODE_INTEGRITY; | ||
|
||
|
||
typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32 { | ||
DWORD Size; | ||
DWORD TimeDateStamp; | ||
WORD MajorVersion; | ||
WORD MinorVersion; | ||
DWORD GlobalFlagsClear; | ||
DWORD GlobalFlagsSet; | ||
DWORD CriticalSectionDefaultTimeout; | ||
DWORD DeCommitFreeBlockThreshold; | ||
DWORD DeCommitTotalFreeThreshold; | ||
DWORD LockPrefixTable; | ||
DWORD MaximumAllocationSize; | ||
DWORD VirtualMemoryThreshold; | ||
DWORD ProcessHeapFlags; | ||
DWORD ProcessAffinityMask; | ||
WORD CSDVersion; | ||
WORD DependentLoadFlags; | ||
DWORD EditList; | ||
DWORD SecurityCookie; | ||
DWORD SEHandlerTable; | ||
DWORD SEHandlerCount; | ||
DWORD GuardCFCheckFunctionPointer; | ||
DWORD GuardCFDispatchFunctionPointer; | ||
DWORD GuardCFFunctionTable; | ||
DWORD GuardCFFunctionCount; | ||
DWORD GuardFlags; | ||
IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity; | ||
DWORD GuardAddressTakenIatEntryTable; | ||
DWORD GuardAddressTakenIatEntryCount; | ||
DWORD GuardLongJumpTargetTable; | ||
DWORD GuardLongJumpTargetCount; | ||
DWORD DynamicValueRelocTable; | ||
DWORD CHPEMetadataPointer; | ||
DWORD GuardRFFailureRoutine; | ||
DWORD GuardRFFailureRoutineFunctionPointer; | ||
DWORD DynamicValueRelocTableOffset; | ||
WORD DynamicValueRelocTableSection; | ||
WORD Reserved2; | ||
DWORD GuardRFVerifyStackPointerFunctionPointer; | ||
DWORD HotPatchTableOffset; | ||
DWORD Reserved3; | ||
DWORD EnclaveConfigurationPointer; | ||
DWORD VolatileMetadataPointer; | ||
DWORD GuardEHContinuationTable; | ||
DWORD GuardEHContinuationCount; | ||
DWORD GuardXFGCheckFunctionPointer; | ||
DWORD GuardXFGDispatchFunctionPointer; | ||
DWORD GuardXFGTableDispatchFunctionPointer; | ||
DWORD CastGuardOsDeterminedFailureMode; | ||
DWORD GuardMemcpyFunctionPointer; | ||
} IMAGE_LOAD_CONFIG_DIRECTORY32, *PIMAGE_LOAD_CONFIG_DIRECTORY32; | ||
|
||
|
||
typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64 { | ||
DWORD Size; | ||
DWORD TimeDateStamp; | ||
WORD MajorVersion; | ||
WORD MinorVersion; | ||
DWORD GlobalFlagsClear; | ||
DWORD GlobalFlagsSet; | ||
DWORD CriticalSectionDefaultTimeout; | ||
ULONGLONG DeCommitFreeBlockThreshold; | ||
ULONGLONG DeCommitTotalFreeThreshold; | ||
ULONGLONG LockPrefixTable; | ||
ULONGLONG MaximumAllocationSize; | ||
ULONGLONG VirtualMemoryThreshold; | ||
ULONGLONG ProcessAffinityMask; | ||
DWORD ProcessHeapFlags; | ||
WORD CSDVersion; | ||
WORD DependentLoadFlags; | ||
ULONGLONG EditList; | ||
ULONGLONG SecurityCookie; | ||
ULONGLONG SEHandlerTable; | ||
ULONGLONG SEHandlerCount; | ||
ULONGLONG GuardCFCheckFunctionPointer; | ||
ULONGLONG GuardCFDispatchFunctionPointer; | ||
ULONGLONG GuardCFFunctionTable; | ||
ULONGLONG GuardCFFunctionCount; | ||
DWORD GuardFlags; | ||
IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity; | ||
ULONGLONG GuardAddressTakenIatEntryTable; | ||
ULONGLONG GuardAddressTakenIatEntryCount; | ||
ULONGLONG GuardLongJumpTargetTable; | ||
ULONGLONG GuardLongJumpTargetCount; | ||
ULONGLONG DynamicValueRelocTable; | ||
ULONGLONG CHPEMetadataPointer; | ||
ULONGLONG GuardRFFailureRoutine; | ||
ULONGLONG GuardRFFailureRoutineFunctionPointer; | ||
DWORD DynamicValueRelocTableOffset; | ||
WORD DynamicValueRelocTableSection; | ||
WORD Reserved2; | ||
ULONGLONG GuardRFVerifyStackPointerFunctionPointer; | ||
DWORD HotPatchTableOffset; | ||
DWORD Reserved3; | ||
ULONGLONG EnclaveConfigurationPointer; | ||
ULONGLONG VolatileMetadataPointer; | ||
ULONGLONG GuardEHContinuationTable; | ||
ULONGLONG GuardEHContinuationCount; | ||
ULONGLONG GuardXFGCheckFunctionPointer; | ||
ULONGLONG GuardXFGDispatchFunctionPointer; | ||
ULONGLONG GuardXFGTableDispatchFunctionPointer; | ||
ULONGLONG CastGuardOsDeterminedFailureMode; | ||
ULONGLONG GuardMemcpyFunctionPointer; | ||
} IMAGE_LOAD_CONFIG_DIRECTORY64, *PIMAGE_LOAD_CONFIG_DIRECTORY64; |
Oops, something went wrong.