1#ifndef REACTOS_EXEFORMAT_H_INCLUDED_
2#define REACTOS_EXEFORMAT_H_INCLUDED_ 1
8#define EXEFMT_LOAD_ASSUME_SEGMENTS_SORTED (1 << 0)
9#define EXEFMT_LOAD_ASSUME_SEGMENTS_NO_OVERLAP (1 << 1)
10#define EXEFMT_LOAD_ASSUME_SEGMENTS_PAGE_ALIGNED (1 << 2)
12#define EXEFMT_LOAD_ASSUME_SEGMENTS_OK \
14 EXEFMT_LOAD_ASSUME_SEGMENTS_SORTED | \
15 EXEFMT_LOAD_ASSUME_SEGMENTS_NO_OVERLAP | \
16 EXEFMT_LOAD_ASSUME_SEGMENTS_PAGE_ALIGNED \
23#define EXEFMT_LOAD_HEADER_SIZE (0x2000)
30#define EXEFMT_LOAD_BASE_NONE ((ULONG_PTR)-1)
33#define EXEFMT_LOAD_BASE_ANY ((ULONG_PTR)-2)
65#define FACILITY_ROS_EXEFMT (0x10)
72#define STATUS_ROS_EXEFMT_UNKNOWN_FORMAT ((NTSTATUS)0xA0100001)
80#define FACILITY_ROS_EXEFMT_FORMAT (0x11)
81#define STATUS_ROS_EXEFMT_LOADED_FORMAT ((NTSTATUS)0x60110000)
84#define EXEFMT_LOADED_EXTENDED (0x0000FFFF)
87#define EXEFMT_LOADED_PE32 (0x00000000)
88#define EXEFMT_LOADED_PE64 (0x00000001)
91#define EXEFMT_LOADED_WINE32 (0x00000002)
92#define EXEFMT_LOADED_WINE64 (0x00000003)
95#define EXEFMT_LOADED_ELF32 (0x00000004)
96#define EXEFMT_LOADED_ELF64 (0x00000005)
125 return Factor1 <= (
MAXULONG / Factor2);
165#define PEFMT_FIELDS_EQUAL(TYPE1_, TYPE2_, FIELD_) \
167 (FIELD_OFFSET(TYPE1_, FIELD_) == FIELD_OFFSET(TYPE2_, FIELD_)) && \
168 (RTL_FIELD_SIZE(TYPE1_, FIELD_) == RTL_FIELD_SIZE(TYPE2_, FIELD_)) \
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
struct _MM_SECTION_SEGMENT * PMM_SECTION_SEGMENT
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
_Must_inspect_result_ _In_ ULONG Flags
_In_ LARGE_INTEGER Addend2