mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
124 lines
3.8 KiB
Python
124 lines
3.8 KiB
Python
from . import windef
|
|
from . import winstructs
|
|
|
|
def bitness():
|
|
"""Return 32 or 64"""
|
|
import platform
|
|
bits = platform.architecture()[0]
|
|
return int(bits[:2])
|
|
|
|
# Use windows.current_process.bitness ? need to fix problem of this imported before the creation of windows.current_process
|
|
if bitness() == 32:
|
|
winstructs.CONTEXT = winstructs.CONTEXT32
|
|
winstructs.PCONTEXT = winstructs.PCONTEXT32
|
|
winstructs.LPCONTEXT = winstructs.LPCONTEXT32
|
|
|
|
winstructs.EXCEPTION_POINTERS = winstructs.EXCEPTION_POINTERS32
|
|
winstructs.PEXCEPTION_POINTERS = winstructs.PEXCEPTION_POINTERS32
|
|
|
|
winstructs.SYSTEM_MODULE = winstructs.SYSTEM_MODULE32
|
|
winstructs.SYSTEM_MODULE_INFORMATION = winstructs.SYSTEM_MODULE_INFORMATION32
|
|
|
|
winstructs.PALPC_PORT_ATTRIBUTES = winstructs.PALPC_PORT_ATTRIBUTES32
|
|
winstructs.ALPC_PORT_ATTRIBUTES = winstructs.ALPC_PORT_ATTRIBUTES32
|
|
|
|
winstructs.PORT_MESSAGE = winstructs.PORT_MESSAGE32
|
|
winstructs.PPORT_MESSAGE = winstructs.PPORT_MESSAGE32
|
|
|
|
# CFGMGR32
|
|
winstructs.IRQ_RESOURCE = winstructs.IRQ_RESOURCE_32
|
|
|
|
# Socket
|
|
windef.WSADATA = winstructs.WSADATA32
|
|
windef.INVALID_SOCKET = windef.INVALID_SOCKET32
|
|
|
|
|
|
else:
|
|
winstructs.CONTEXT = winstructs.CONTEXT64
|
|
winstructs.PCONTEXT = winstructs.PCONTEXT64
|
|
winstructs.LPCONTEXT = winstructs.LPCONTEXT64
|
|
|
|
winstructs.EXCEPTION_POINTERS = winstructs.EXCEPTION_POINTERS64
|
|
winstructs.PEXCEPTION_POINTERS = winstructs.PEXCEPTION_POINTERS64
|
|
|
|
winstructs.SYSTEM_MODULE = winstructs.SYSTEM_MODULE64
|
|
winstructs.SYSTEM_MODULE_INFORMATION = winstructs.SYSTEM_MODULE_INFORMATION64
|
|
|
|
winstructs.PALPC_PORT_ATTRIBUTES = winstructs.PALPC_PORT_ATTRIBUTES64
|
|
winstructs.ALPC_PORT_ATTRIBUTES = winstructs.ALPC_PORT_ATTRIBUTES64
|
|
|
|
winstructs.PORT_MESSAGE = winstructs.PORT_MESSAGE64
|
|
winstructs.PPORT_MESSAGE = winstructs.PPORT_MESSAGE64
|
|
|
|
# CFGMGR32
|
|
winstructs.IRQ_RESOURCE = winstructs.IRQ_RESOURCE_64
|
|
|
|
# Socket
|
|
windef.WSADATA = winstructs.WSADATA64
|
|
windef.INVALID_SOCKET = windef.INVALID_SOCKET64
|
|
|
|
from . import winfuncs
|
|
from . import windef
|
|
from . import interfaces
|
|
|
|
# Fuck it
|
|
from .winstructs import *
|
|
from .winfuncs import *
|
|
from .windef import *
|
|
from .interfaces import *
|
|
|
|
# Define custom Flag mappers for define list that should be enums
|
|
|
|
PROCESSOR_ARCHITECTURE_MAPPER = FlagMapper(
|
|
PROCESSOR_ARCHITECTURE_INTEL,
|
|
PROCESSOR_ARCHITECTURE_MIPS,
|
|
PROCESSOR_ARCHITECTURE_ALPHA,
|
|
PROCESSOR_ARCHITECTURE_PPC,
|
|
PROCESSOR_ARCHITECTURE_SHX,
|
|
PROCESSOR_ARCHITECTURE_ARM,
|
|
PROCESSOR_ARCHITECTURE_IA64,
|
|
PROCESSOR_ARCHITECTURE_ALPHA64,
|
|
PROCESSOR_ARCHITECTURE_MSIL,
|
|
PROCESSOR_ARCHITECTURE_AMD64,
|
|
PROCESSOR_ARCHITECTURE_IA32_ON_WIN64,
|
|
PROCESSOR_ARCHITECTURE_NEUTRAL,
|
|
PROCESSOR_ARCHITECTURE_ARM64,
|
|
PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64,
|
|
PROCESSOR_ARCHITECTURE_UNKNOWN,
|
|
IMAGE_FILE_MACHINE_TARGET_HOST
|
|
)
|
|
|
|
IMAGE_FILE_MACHINE_MAPPER = FlagMapper(
|
|
IMAGE_FILE_MACHINE_UNKNOWN,
|
|
IMAGE_FILE_MACHINE_I386,
|
|
IMAGE_FILE_MACHINE_R3000,
|
|
IMAGE_FILE_MACHINE_R4000,
|
|
IMAGE_FILE_MACHINE_R10000,
|
|
IMAGE_FILE_MACHINE_WCEMIPSV2,
|
|
IMAGE_FILE_MACHINE_ALPHA,
|
|
IMAGE_FILE_MACHINE_SH3,
|
|
IMAGE_FILE_MACHINE_SH3DSP,
|
|
IMAGE_FILE_MACHINE_SH3E,
|
|
IMAGE_FILE_MACHINE_SH4,
|
|
IMAGE_FILE_MACHINE_SH5,
|
|
IMAGE_FILE_MACHINE_ARM,
|
|
IMAGE_FILE_MACHINE_THUMB,
|
|
IMAGE_FILE_MACHINE_ARMNT,
|
|
IMAGE_FILE_MACHINE_AM33,
|
|
IMAGE_FILE_MACHINE_POWERPC,
|
|
IMAGE_FILE_MACHINE_POWERPCFP,
|
|
IMAGE_FILE_MACHINE_IA64,
|
|
IMAGE_FILE_MACHINE_MIPS16,
|
|
IMAGE_FILE_MACHINE_ALPHA64,
|
|
IMAGE_FILE_MACHINE_MIPSFPU,
|
|
IMAGE_FILE_MACHINE_MIPSFPU16,
|
|
IMAGE_FILE_MACHINE_TRICORE,
|
|
IMAGE_FILE_MACHINE_CEF,
|
|
IMAGE_FILE_MACHINE_EBC,
|
|
IMAGE_FILE_MACHINE_AMD64,
|
|
IMAGE_FILE_MACHINE_M32R,
|
|
IMAGE_FILE_MACHINE_CEE,
|
|
IMAGE_FILE_MACHINE_ARM64
|
|
)
|
|
|