home *** CD-ROM | disk | FTP | other *** search
- ; windows.i .. homemade until microsoft comes up with one
- ; Jax4th is Copyright (c) 1993, 1994 by jack j. woehr
- ; p.o. box 51, golden, co 80402-0051
- ; jax@well.sf.ca.us | JAX on GEnie | 72203.1320@compuserve.com
- ; sysop, rcfb (303) 278-0364
-
- COMMENT !
- No copyright of any kind is claimed for this file, which is simply some
- Windows NT objects and prototypes declared in MASM. The author rolled
- his own, since Microsoft's own WINDOWS.INC for NT is/was not yet released.
- !
-
- ;~~~~~~~~~~~~~~~~~~~~~~~;
- ; --( Typedefs ) -- ;
- ;~~~~~~~~~~~~~~~~~~~~~~~;
-
- ; These were added late in the game, so not all the defs below actually use them.
-
- BOOL TYPEDEF DWORD
- CHAR TYPEDEF BYTE
- HANDLE TYPEDEF DWORD
- HINSTANCE TYPEDEF HANDLE
- HWND TYPEDEF HANDLE
- LPCSTR TYPEDEF NEAR PTR WCHAR ; Unicode app
- LPCTSTR TYPEDEF NEAR PTR WCHAR ; Unicode app
- LPDWORD TYPEDEF NEAR PTR DWORD
- LPVOID TYPEDEF NEAR PTR DWORD
- LPTSTR TYPEDEF NEAR PTR WCHAR ; Unicode app
- LPWSTR TYPEDEF NEAR PTR WCHAR ; Unicode app
- PVOID TYPEDEF NEAR PTR DWORD
- PSID TYPEDEF PVOID
- UINT TYPEDEF DWORD
- USHORT TYPEDEF WORD
- LPOFNHOOKPROC TYPEDEF LPVOID
-
- ;~~~~~~~~~~~~~~~~~~~;
- ; --( Constants )-- ;
- ;~~~~~~~~~~~~~~~~~~~;
-
- ; GlobalAlloc()
- LMEM_FIXED equ 0
-
- ;GetStdHandle()
- STD_INPUT_HANDLE equ -10
- STD_OUTPUT_HANDLE equ -11
- STD_ERROR_HANDLE equ -12
- INVALID_HANDLE_VALUE equ -1
-
- ; Con Mode Constants
- ENABLE_ECHO_INPUT equ 04H
- ENABLE_LINE_INPUT equ 02H
- ENABLE_PROCESSED_INPUT equ 01H
- ENABLE_WINDOW_INPUT equ 08H
- ENABLE_MOUSE_INPUT equ 10H
-
- ; Input Event Constants
- KEY_EVENT equ 01
- MOUSE_EVENT equ 02
- WINDOW_BUFFER_SIZE_EVENT equ 04
- MENU_EVENT equ 08
- FOCUS_EVENT equ 10H
-
- ; GetSaveFileName Constant
- OFN_OVERWRITEPROMPT equ 2
-
- ;--( Some file constants )
-
- ; from winbase.h
- CREATE_ALWAYS EQU 2
- OPEN_EXISTING EQU 3
- FILE_BEGIN EQU 0
- FILE_CURRENT EQU 1
-
- ; from winnt.h
- GENERIC_READ EQU 80000000H
- GENERIC_WRITE EQU 40000000H
- FILE_ATTRIBUTE_NORMAL EQU 80H
-
- ;~~~~~~~~~~~~~~~~~;
- ; --( Structs )-- ;
- ;~~~~~~~~~~~~~~~~~;
-
- ; for CreateFile()
- SECURITY_ATTRIBUTES STRUCT 4
- nLength DWORD 12
- lpSecurityDescriptor LPVOID 0
- bInheritHandle BOOL 1
- SECURITY_ATTRIBUTES ENDS
-
- FILETIME STRUCT 4
- dwLowDateTime DWORD ?
- dwHighDateTime DWORD ?
- FILETIME ENDS
-
- ; for GetFileInformationByHandle()
- _BY_HANDLE_FILE_INFORMATION STRUCT 4
- dwFileAttributes DWORD ?
- ftCreationTime FILETIME {}
- ftLastAccessTime FILETIME {}
- ftLastWriteTime FILETIME {}
- dwVolumeSerialNumber DWORD ?
- nFileSizeHigh DWORD ?
- nFileSizeLow DWORD ?
- nNumberOfLinks DWORD ?
- nFileIndexHigh DWORD ?
- nFileIndexLow DWORD ?
- _BY_HANDLE_FILE_INFORMATION ENDS
-
- COORD STRUCT ;4
- X USHORT ?
- Y USHORT ?
- COORD ENDS
-
- ;------------------------------------
- ; _EVENT_RECORDs used by INPUT_RECORD
- ;------------------------------------
- KEY_EVENT_RECORD STRUCT 4
- bKeyDown BOOL ?
- wRepeatCount WORD ?
- wVirtualKeyCode WORD ?
- wVirtualScanCode WORD ?
- UNION uChar
- UnicodeChar WORD ?
- AsciiChar WORD ?
- ENDS
- dwControlKeyState DWORD ?
- KEY_EVENT_RECORD ENDS
-
- MOUSE_EVENT_RECORD STRUCT ;4
- dwMousePosition COORD {}
- dwButtonState DWORD ?
- dwControlKeyState DWORD ?
- dwEventFlags DWORD ?
- MOUSE_EVENT_RECORD ENDS
-
- WINDOW_BUFFER_SIZE_RECORD STRUCT ;4
- dwSize COORD {}
- WINDOW_BUFFER_SIZE_RECORD ENDS
-
- MENU_EVENT_RECORD STRUCT ;4
- dwCommandId UINT ?
- MENU_EVENT_RECORD ENDS
-
- FOCUS_EVENT_RECORD STRUCT ;4
- bSetFocus BOOL ?
- FOCUS_EVENT_RECORD ENDS
-
- ; INPUT_RECORD used by KEY/EKEY etc.
- INPUT_RECORD STRUCT 4
- EventType DWORD ?
- UNION Event
- KeyEvent KEY_EVENT_RECORD {}
- MouseEvent MOUSE_EVENT_RECORD {}
- WindowBufferSizeEvent WINDOW_BUFFER_SIZE_RECORD {}
- MenuEvent MENU_EVENT_RECORD {}
- FocusEvent FOCUS_EVENT_RECORD {}
- ENDS
- INPUT_RECORD ENDS
-
- ; OPENFILENAME used by SAVE-FORTH
- OPENFILENAME STRUCT ;4
- lStructSize DWORD SIZEOF OPENFILENAME
- hwndOwner HWND 0
- hInstance HINSTANCE 0
- lpstrFilter LPCTSTR 0
- lpstrCustomFilter LPTSTR 0
- nMaxCustFilter DWORD 0
- nFilterIndex DWORD 0
- lpstrFile LPTSTR 0
- nMaxFile DWORD tibsize
- lpstrFileTitle LPTSTR 0
- nMaxFileTitle DWORD 0
- lpstrInitialDir LPCTSTR 0
- lpstrTitle LPCTSTR 0
- Flags DWORD OFN_OVERWRITEPROMPT
- nFileOffset WORD 0
- nFileExtension WORD 0
- lpstrDefExt LPCTSTR 0
- lCustData DWORD 0
- lpfnHook LPOFNHOOKPROC 0
- lpTemplateName LPCTSTR 0
- OPENFILENAME ENDS
-
- ;-------------------------------;
- ; Declare API Calls ;
- ;-------------------------------;
- API32 textequ <PROTO NEAR STDCALL>
-
- CloseHandle API32 :DWORD
- CommDlgExtendedError API32
- CreateFileW API32 :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
- DeleteFileW API32 :DWORD
- ExitProcess API32 :DWORD
- FillConsoleOutputCharacterW API32 :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
- FlushConsoleInputBuffer API32 :HANDLE
- FreeLibrary API32 :DWORD
- GetCommandLineW API32
- GetConsoleMode API32 :DWORD, :DWORD
- GetFileInformationByHandle API32 :DWORD, :DWORD
- GetLastError API32
- GetProcAddress API32 :DWORD, :DWORD
- GetStdHandle API32 :DWORD
- GetSaveFileNameW API32 :DWORD
- LoadLibraryExW API32 :DWORD, :DWORD, :DWORD
- LocalAlloc API32 :DWORD, :DWORD
- LocalFree API32 :DWORD
- LocalLock API32 :DWORD
- LocalUnlock API32 :DWORD
- PeekConsoleInputW API32 :DWORD, :DWORD, :DWORD, :DWORD
- ReadConsoleW API32 :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
- ReadConsoleInputW API32 :DWORD, :DWORD, :DWORD, :DWORD
- ReadFile API32 :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
- SetConsoleMode API32 :DWORD, :DWORD
- SetConsoleCursorPosition API32 :DWORD, :DWORD
- SetEndOfFile API32 :DWORD
- SetFilePointer API32 :DWORD, :DWORD, :DWORD, :DWORD
- WriteConsoleW API32 :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
- WriteFile API32 :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
-
- ;~~~~~~~~~~~~~~~~~~~~~~~~~~;
- ; --( End of windows.i )-- ;
- ;~~~~~~~~~~~~~~~~~~~~~~~~~~;
-
-