130 lines
4.6 KiB
Core
130 lines
4.6 KiB
Core
#link "kernel32"
|
|
|
|
DWORD :: U32
|
|
LPCSTR :: *char
|
|
LPSTR :: *char
|
|
LPCWSTR :: *U16
|
|
HWND :: *void
|
|
HMENU :: *void
|
|
HINSTANCE :: *void
|
|
HBITMAP :: *void
|
|
HDC :: *void
|
|
LPVOID :: *void
|
|
SIZE_T :: U64
|
|
BOOL :: int
|
|
HMODULE :: HANDLE
|
|
HANDLE :: *void
|
|
VOID :: void
|
|
HICON :: HANDLE
|
|
HCURSOR :: HANDLE
|
|
HBRUSH :: HANDLE
|
|
LPDWORD :: *DWORD
|
|
LRESULT :: S64
|
|
WPARAM :: U64
|
|
LPARAM :: S64
|
|
BYTE :: U8 // @todo? unsigned char
|
|
WORD :: S16 // short
|
|
LONG :: S32 // @todo long
|
|
UINT :: U32 // @todo uint
|
|
ATOM :: WORD
|
|
LARGE_INTEGER :: S64
|
|
PLARGE_INTEGER :: *LARGE_INTEGER
|
|
LPOVERLAPPED :: *OVERLAPPED
|
|
|
|
LONG_PTR :: *S64
|
|
ULONG_PTR :: *U64
|
|
|
|
MEM_COMMIT :: 0x00001000
|
|
MEM_RESERVE :: 0x00002000
|
|
MEM_RESET :: 0x00080000
|
|
MEM_RESET_UNDO :: 0x1000000
|
|
MEM_DECOMMIT :: 0x00004000
|
|
MEM_RELEASE :: 0x00008000
|
|
|
|
PAGE_NOACCESS :: 1
|
|
PAGE_READONLY :: 2
|
|
PAGE_READWRITE :: 4
|
|
PAGE_WRITECOPY :: 8
|
|
PAGE_EXECUTE :: 0x10; PAGE_EXECUTE_READ :: 0x20; PAGE_EXECUTE_READWRITE :: 0x40; PAGE_EXECUTE_WRITECOPY :: 0x80
|
|
VirtualAlloc :: #foreign (lpAddress: LPVOID, dwSize: SIZE_T, flAllocationType: DWORD, flProtect: DWORD): LPVOID
|
|
VirtualFree :: #foreign (lpAddress: LPVOID, dwSize: SIZE_T, dwFreeType: DWORD): BOOL
|
|
|
|
HEAP_ZERO_MEMORY :: 0x8; HEAP_NO_SERIALIZE :: 0x1; HEAP_GENERATE_EXCEPTIONS :: 0x4
|
|
GetProcessHeap :: #foreign (): HANDLE
|
|
HeapAlloc :: #foreign (hHeap: HANDLE, dwFlags: DWORD, dwByte: SIZE_T): LPVOID
|
|
HeapFree :: #foreign (hHeap: HANDLE, dwFlags: DWORD, lpMe: LPVOID): BOOL
|
|
|
|
STD_INPUT_HANDLE :: 4294967286//(-10)->DWORD
|
|
STD_OUTPUT_HANDLE :: 4294967285//(-11)->DWORD
|
|
//STD_ERROR_HANDLE :: (-12)->DWORD
|
|
GetStdHandle :: #foreign (nStdHandle: DWORD): HANDLE
|
|
WriteConsoleA :: #foreign (hConsoleOutput: HANDLE,lpBuffer: *VOID,nNumberOfCharsToWrite: DWORD,lpNumberOfCharsWritten: LPDWORD,lpReserve: LPVOID): BOOL
|
|
WriteConsoleW :: #foreign (hConsoleOutput: HANDLE,lpBuffer: *VOID,nNumberOfCharsToWrite: DWORD,lpNumberOfCharsWritten: LPDWORD,lpReserve: LPVOID): BOOL
|
|
__debugbreak :: #foreign ()
|
|
|
|
GetModuleHandleA :: #foreign (lpModuleName: LPCSTR): HMODULE
|
|
ExitProcess :: #foreign (uExitCode: UINT)
|
|
GetLastError :: #foreign (): DWORD
|
|
QueryPerformanceFrequency :: #foreign (lpFrequency: *LARGE_INTEGER): BOOL
|
|
QueryPerformanceCounter :: #foreign (lpFrequency: *LARGE_INTEGER): BOOL
|
|
Sleep :: #foreign (dwMilliseconds: DWORD)
|
|
OutputDebugStringA :: #foreign (lpOutputString: LPCSTR)
|
|
|
|
CreateFileW :: #foreign (lpFileName: LPCWSTR, dwDesiredAccess: DWORD, dwShareMode: DWORD, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, hTemplateFile: HANDLE): HANDLE
|
|
ReadFile :: #foreign (hFile: HANDLE, lpBuffer: LPVOID, nNumberOfBytesToRead: DWORD, lpNumberOfBytesRead: LPDWORD, lpOverlapped: LPOVERLAPPED): BOOL
|
|
CloseHandle :: #foreign (hObject: HANDLE): BOOL
|
|
GetFileSizeEx :: #foreign (hFile: HANDLE, lpFileSize: PLARGE_INTEGER)
|
|
|
|
OVERLAPPED :: struct
|
|
Internal: ULONG_PTR
|
|
InternalHigh: ULONG_PTR
|
|
Pointer: PVOID
|
|
hEvent: HANDLE
|
|
|
|
LPSECURITY_ATTRIBUTES :: *SECURITY_ATTRIBUTES
|
|
SECURITY_ATTRIBUTES :: struct
|
|
nLength: DWORD
|
|
lpSecurityDescriptor: LPVOID
|
|
bInheritHandle: BOOL
|
|
|
|
GENERIC_READ :: 0x80000000
|
|
GENERIC_WRITE :: 0x40000000
|
|
GENERIC_EXECUTE :: 0x20000000
|
|
GENERIC_ALL :: 0x10000000
|
|
|
|
CREATE_NEW :: 1
|
|
CREATE_ALWAYS :: 2
|
|
OPEN_EXISTING :: 3
|
|
OPEN_ALWAYS :: 4
|
|
TRUNCATE_EXISTING :: 5
|
|
|
|
FILE_SHARE_READ :: 0x00000001
|
|
FILE_SHARE_WRITE :: 0x00000002
|
|
FILE_SHARE_DELETE :: 0x00000004
|
|
|
|
// INVALID_HANDLE_VALUE :: ((-1)->LONG_PTR)->HANDLE
|
|
INVALID_HANDLE_VALUE :: (~(0->U64))
|
|
|
|
|
|
FILE_ATTRIBUTE_READONLY :: 0x00000001
|
|
FILE_ATTRIBUTE_HIDDEN :: 0x00000002
|
|
FILE_ATTRIBUTE_SYSTEM :: 0x00000004
|
|
FILE_ATTRIBUTE_DIRECTORY :: 0x00000010
|
|
FILE_ATTRIBUTE_ARCHIVE :: 0x00000020
|
|
FILE_ATTRIBUTE_DEVICE :: 0x00000040
|
|
FILE_ATTRIBUTE_NORMAL :: 0x00000080
|
|
FILE_ATTRIBUTE_TEMPORARY :: 0x00000100
|
|
FILE_ATTRIBUTE_SPARSE_FILE :: 0x00000200
|
|
FILE_ATTRIBUTE_REPARSE_POINT :: 0x00000400
|
|
FILE_ATTRIBUTE_COMPRESSED :: 0x00000800
|
|
FILE_ATTRIBUTE_OFFLINE :: 0x00001000
|
|
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED :: 0x00002000
|
|
FILE_ATTRIBUTE_ENCRYPTED :: 0x00004000
|
|
FILE_ATTRIBUTE_INTEGRITY_STREAM :: 0x00008000
|
|
FILE_ATTRIBUTE_VIRTUAL :: 0x00010000
|
|
FILE_ATTRIBUTE_NO_SCRUB_DATA :: 0x00020000
|
|
FILE_ATTRIBUTE_EA :: 0x00040000
|
|
FILE_ATTRIBUTE_PINNED :: 0x00080000
|
|
FILE_ATTRIBUTE_UNPINNED :: 0x00100000
|
|
FILE_ATTRIBUTE_RECALL_ON_OPEN :: 0x00040000
|
|
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS :: 0x00400000 |