standalone-ruby 1.3 → 1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +27 -19
- data/bin/standalone-ruby +3 -3
- data/lib/data/exe_template/launcher_stub.c +35 -0
- data/lib/data/exe_template/launcher_stub.cpp +9 -0
- data/lib/data/tcc/include/_mingw.h +54 -0
- data/lib/data/tcc/include/assert.h +71 -0
- data/lib/data/tcc/include/conio.h +159 -0
- data/lib/data/tcc/include/ctype.h +232 -0
- data/lib/data/tcc/include/dir.h +26 -0
- data/lib/data/tcc/include/direct.h +95 -0
- data/lib/data/tcc/include/dirent.h +96 -0
- data/lib/data/tcc/include/dos.h +110 -0
- data/lib/data/tcc/include/errno.h +117 -0
- data/lib/data/tcc/include/excpt.h +20 -0
- data/lib/data/tcc/include/fcntl.h +135 -0
- data/lib/data/tcc/include/fenv.h +85 -0
- data/lib/data/tcc/include/float.h +224 -0
- data/lib/data/tcc/include/inttypes.h +275 -0
- data/lib/data/tcc/include/io.h +296 -0
- data/lib/data/tcc/include/limits.h +115 -0
- data/lib/data/tcc/include/locale.h +100 -0
- data/lib/data/tcc/include/malloc.h +87 -0
- data/lib/data/tcc/include/math.h +438 -0
- data/lib/data/tcc/include/mem.h +8 -0
- data/lib/data/tcc/include/memory.h +9 -0
- data/lib/data/tcc/include/process.h +158 -0
- data/lib/data/tcc/include/setjmp.h +72 -0
- data/lib/data/tcc/include/share.h +44 -0
- data/lib/data/tcc/include/signal.h +111 -0
- data/lib/data/tcc/include/stdarg.h +16 -0
- data/lib/data/tcc/include/stdbool.h +10 -0
- data/lib/data/tcc/include/stddef.h +26 -0
- data/lib/data/tcc/include/stdint.h +184 -0
- data/lib/data/tcc/include/stdio.h +413 -0
- data/lib/data/tcc/include/stdlib.h +482 -0
- data/lib/data/tcc/include/string.h +206 -0
- data/lib/data/tcc/include/sys/fcntl.h +8 -0
- data/lib/data/tcc/include/sys/file.h +9 -0
- data/lib/data/tcc/include/sys/locking.h +52 -0
- data/lib/data/tcc/include/sys/stat.h +190 -0
- data/lib/data/tcc/include/sys/time.h +3 -0
- data/lib/data/tcc/include/sys/timeb.h +82 -0
- data/lib/data/tcc/include/sys/types.h +118 -0
- data/lib/data/tcc/include/sys/unistd.h +9 -0
- data/lib/data/tcc/include/sys/utime.h +89 -0
- data/lib/data/tcc/include/tchar.h +367 -0
- data/lib/data/tcc/include/time.h +219 -0
- data/lib/data/tcc/include/unistd.h +10 -0
- data/lib/data/tcc/include/values.h +4 -0
- data/lib/data/tcc/include/varargs.h +11 -0
- data/lib/data/tcc/include/wchar.h +318 -0
- data/lib/data/tcc/include/wctype.h +127 -0
- data/lib/data/tcc/include/winapi/basetsd.h +119 -0
- data/lib/data/tcc/include/winapi/basetyps.h +144 -0
- data/lib/data/tcc/include/winapi/winbase.h +1852 -0
- data/lib/data/tcc/include/winapi/wincon.h +207 -0
- data/lib/data/tcc/include/winapi/windef.h +240 -0
- data/lib/data/tcc/include/winapi/windows.h +176 -0
- data/lib/data/tcc/include/winapi/winerror.h +1054 -0
- data/lib/data/tcc/include/winapi/wingdi.h +2843 -0
- data/lib/data/tcc/include/winapi/winnetwk.h +346 -0
- data/lib/data/tcc/include/winapi/winnls.h +651 -0
- data/lib/data/tcc/include/winapi/winnt.h +2667 -0
- data/lib/data/tcc/include/winapi/winreg.h +159 -0
- data/lib/data/tcc/include/winapi/winsvc.h +309 -0
- data/lib/data/tcc/include/winapi/winuser.h +3472 -0
- data/lib/data/tcc/include/winapi/winver.h +133 -0
- data/lib/data/tcc/lib/gdi32.def +337 -0
- data/lib/data/tcc/lib/kernel32.def +763 -0
- data/lib/data/tcc/lib/libtcc1.a +0 -0
- data/lib/data/tcc/lib/msvcrt.def +782 -0
- data/lib/data/tcc/lib/user32.def +654 -0
- data/lib/data/tcc/tcc.exe +0 -0
- data/lib/data/tcc/tiny_impdef.exe +0 -0
- data/lib/data/tcc/tiny_libmaker.exe +0 -0
- data/lib/data/vbs/default_vbs.txt +1 -1
- data/lib/data/vbs/vbs_gui.txt +1 -1
- data/lib/standalone_ruby.rb +6 -6
- data/lib/utils/config_generator.rb +5 -0
- data/lib/utils/displayer.rb +61 -56
- data/lib/utils/exe_packer.rb +68 -0
- data/lib/utils/launcher.rb +55 -14
- data/lib/utils/launcher_handler.rb +27 -4
- data/lib/utils/logger_helper.rb +24 -22
- data/lib/utils/parameter_parser.rb +206 -189
- data/lib/utils/ruby_copy.rb +26 -20
- metadata +77 -3
- data/lib/data/bat/default_bat.txt +0 -9
@@ -0,0 +1,207 @@
|
|
1
|
+
#ifndef _WINCON_H
|
2
|
+
#define _WINCON_H
|
3
|
+
#if __GNUC__ >=3
|
4
|
+
#pragma GCC system_header
|
5
|
+
#endif
|
6
|
+
|
7
|
+
|
8
|
+
#ifdef __cplusplus
|
9
|
+
extern "C" {
|
10
|
+
#endif
|
11
|
+
|
12
|
+
#define FOREGROUND_BLUE 1
|
13
|
+
#define FOREGROUND_GREEN 2
|
14
|
+
#define FOREGROUND_RED 4
|
15
|
+
#define FOREGROUND_INTENSITY 8
|
16
|
+
#define BACKGROUND_BLUE 16
|
17
|
+
#define BACKGROUND_GREEN 32
|
18
|
+
#define BACKGROUND_RED 64
|
19
|
+
#define BACKGROUND_INTENSITY 128
|
20
|
+
#define CTRL_C_EVENT 0
|
21
|
+
#define CTRL_BREAK_EVENT 1
|
22
|
+
#define CTRL_CLOSE_EVENT 2
|
23
|
+
#define CTRL_LOGOFF_EVENT 5
|
24
|
+
#define CTRL_SHUTDOWN_EVENT 6
|
25
|
+
#define ENABLE_LINE_INPUT 2
|
26
|
+
#define ENABLE_ECHO_INPUT 4
|
27
|
+
#define ENABLE_PROCESSED_INPUT 1
|
28
|
+
#define ENABLE_WINDOW_INPUT 8
|
29
|
+
#define ENABLE_MOUSE_INPUT 16
|
30
|
+
#define ENABLE_PROCESSED_OUTPUT 1
|
31
|
+
#define ENABLE_WRAP_AT_EOL_OUTPUT 2
|
32
|
+
#define KEY_EVENT 1
|
33
|
+
#define MOUSE_EVENT 2
|
34
|
+
#define WINDOW_BUFFER_SIZE_EVENT 4
|
35
|
+
#define MENU_EVENT 8
|
36
|
+
#define FOCUS_EVENT 16
|
37
|
+
#define CAPSLOCK_ON 128
|
38
|
+
#define ENHANCED_KEY 256
|
39
|
+
#define RIGHT_ALT_PRESSED 1
|
40
|
+
#define LEFT_ALT_PRESSED 2
|
41
|
+
#define RIGHT_CTRL_PRESSED 4
|
42
|
+
#define LEFT_CTRL_PRESSED 8
|
43
|
+
#define SHIFT_PRESSED 16
|
44
|
+
#define NUMLOCK_ON 32
|
45
|
+
#define SCROLLLOCK_ON 64
|
46
|
+
#define FROM_LEFT_1ST_BUTTON_PRESSED 1
|
47
|
+
#define RIGHTMOST_BUTTON_PRESSED 2
|
48
|
+
#define FROM_LEFT_2ND_BUTTON_PRESSED 4
|
49
|
+
#define FROM_LEFT_3RD_BUTTON_PRESSED 8
|
50
|
+
#define FROM_LEFT_4TH_BUTTON_PRESSED 16
|
51
|
+
#define MOUSE_MOVED 1
|
52
|
+
#define DOUBLE_CLICK 2
|
53
|
+
#define MOUSE_WHEELED 4
|
54
|
+
|
55
|
+
typedef struct _CHAR_INFO {
|
56
|
+
union {
|
57
|
+
WCHAR UnicodeChar;
|
58
|
+
CHAR AsciiChar;
|
59
|
+
} Char;
|
60
|
+
WORD Attributes;
|
61
|
+
} CHAR_INFO,*PCHAR_INFO;
|
62
|
+
typedef struct _SMALL_RECT {
|
63
|
+
SHORT Left;
|
64
|
+
SHORT Top;
|
65
|
+
SHORT Right;
|
66
|
+
SHORT Bottom;
|
67
|
+
} SMALL_RECT,*PSMALL_RECT;
|
68
|
+
typedef struct _CONSOLE_CURSOR_INFO {
|
69
|
+
DWORD dwSize;
|
70
|
+
BOOL bVisible;
|
71
|
+
} CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO;
|
72
|
+
typedef struct _COORD {
|
73
|
+
SHORT X;
|
74
|
+
SHORT Y;
|
75
|
+
} COORD;
|
76
|
+
typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
|
77
|
+
COORD dwSize;
|
78
|
+
COORD dwCursorPosition;
|
79
|
+
WORD wAttributes;
|
80
|
+
SMALL_RECT srWindow;
|
81
|
+
COORD dwMaximumWindowSize;
|
82
|
+
} CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO;
|
83
|
+
typedef BOOL(CALLBACK *PHANDLER_ROUTINE)(DWORD);
|
84
|
+
typedef struct _KEY_EVENT_RECORD {
|
85
|
+
BOOL bKeyDown;
|
86
|
+
WORD wRepeatCount;
|
87
|
+
WORD wVirtualKeyCode;
|
88
|
+
WORD wVirtualScanCode;
|
89
|
+
union {
|
90
|
+
WCHAR UnicodeChar;
|
91
|
+
CHAR AsciiChar;
|
92
|
+
} uChar;
|
93
|
+
DWORD dwControlKeyState;
|
94
|
+
}
|
95
|
+
#ifdef __GNUC__
|
96
|
+
/* gcc's alignment is not what win32 expects */
|
97
|
+
PACKED
|
98
|
+
#endif
|
99
|
+
KEY_EVENT_RECORD;
|
100
|
+
|
101
|
+
typedef struct _MOUSE_EVENT_RECORD {
|
102
|
+
COORD dwMousePosition;
|
103
|
+
DWORD dwButtonState;
|
104
|
+
DWORD dwControlKeyState;
|
105
|
+
DWORD dwEventFlags;
|
106
|
+
} MOUSE_EVENT_RECORD;
|
107
|
+
typedef struct _WINDOW_BUFFER_SIZE_RECORD { COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD;
|
108
|
+
typedef struct _MENU_EVENT_RECORD { UINT dwCommandId; } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
|
109
|
+
typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_EVENT_RECORD;
|
110
|
+
typedef struct _INPUT_RECORD {
|
111
|
+
WORD EventType;
|
112
|
+
union {
|
113
|
+
KEY_EVENT_RECORD KeyEvent;
|
114
|
+
MOUSE_EVENT_RECORD MouseEvent;
|
115
|
+
WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
|
116
|
+
MENU_EVENT_RECORD MenuEvent;
|
117
|
+
FOCUS_EVENT_RECORD FocusEvent;
|
118
|
+
} Event;
|
119
|
+
} INPUT_RECORD,*PINPUT_RECORD;
|
120
|
+
|
121
|
+
BOOL WINAPI AllocConsole(void);
|
122
|
+
HANDLE WINAPI CreateConsoleScreenBuffer(DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,PVOID);
|
123
|
+
BOOL WINAPI FillConsoleOutputAttribute(HANDLE,WORD,DWORD,COORD,PDWORD);
|
124
|
+
BOOL WINAPI FillConsoleOutputCharacterA(HANDLE,CHAR,DWORD,COORD,PDWORD);
|
125
|
+
BOOL WINAPI FillConsoleOutputCharacterW(HANDLE,WCHAR,DWORD,COORD,PDWORD);
|
126
|
+
BOOL WINAPI FlushConsoleInputBuffer(HANDLE);
|
127
|
+
BOOL WINAPI FreeConsole(void);
|
128
|
+
BOOL WINAPI GenerateConsoleCtrlEvent(DWORD,DWORD);
|
129
|
+
UINT WINAPI GetConsoleCP(void);
|
130
|
+
BOOL WINAPI GetConsoleCursorInfo(HANDLE,PCONSOLE_CURSOR_INFO);
|
131
|
+
BOOL WINAPI GetConsoleMode(HANDLE,PDWORD);
|
132
|
+
UINT WINAPI GetConsoleOutputCP(void);
|
133
|
+
BOOL WINAPI GetConsoleScreenBufferInfo(HANDLE,PCONSOLE_SCREEN_BUFFER_INFO);
|
134
|
+
DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD);
|
135
|
+
DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD);
|
136
|
+
COORD WINAPI GetLargestConsoleWindowSize(HANDLE);
|
137
|
+
BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,PDWORD);
|
138
|
+
BOOL WINAPI GetNumberOfConsoleMouseButtons(PDWORD);
|
139
|
+
BOOL WINAPI PeekConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
|
140
|
+
BOOL WINAPI PeekConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
|
141
|
+
BOOL WINAPI ReadConsoleA(HANDLE,PVOID,DWORD,PDWORD,PVOID);
|
142
|
+
BOOL WINAPI ReadConsoleW(HANDLE,PVOID,DWORD,PDWORD,PVOID);
|
143
|
+
BOOL WINAPI ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
|
144
|
+
BOOL WINAPI ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
|
145
|
+
BOOL WINAPI ReadConsoleOutputAttribute(HANDLE,LPWORD,DWORD,COORD,LPDWORD);
|
146
|
+
BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,COORD,PDWORD);
|
147
|
+
BOOL WINAPI ReadConsoleOutputCharacterW(HANDLE,LPWSTR,DWORD,COORD,PDWORD);
|
148
|
+
BOOL WINAPI ReadConsoleOutputA(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
|
149
|
+
BOOL WINAPI ReadConsoleOutputW(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
|
150
|
+
BOOL WINAPI ScrollConsoleScreenBufferA(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
|
151
|
+
BOOL WINAPI ScrollConsoleScreenBufferW(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
|
152
|
+
BOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE);
|
153
|
+
BOOL WINAPI SetConsoleCP(UINT);
|
154
|
+
BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL);
|
155
|
+
BOOL WINAPI SetConsoleCursorInfo(HANDLE,const CONSOLE_CURSOR_INFO*);
|
156
|
+
BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD);
|
157
|
+
BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
|
158
|
+
BOOL WINAPI SetConsoleOutputCP(UINT);
|
159
|
+
BOOL WINAPI SetConsoleScreenBufferSize(HANDLE,COORD);
|
160
|
+
BOOL WINAPI SetConsoleTextAttribute(HANDLE,WORD);
|
161
|
+
BOOL WINAPI SetConsoleTitleA(LPCSTR);
|
162
|
+
BOOL WINAPI SetConsoleTitleW(LPCWSTR);
|
163
|
+
BOOL WINAPI SetConsoleWindowInfo(HANDLE,BOOL,const SMALL_RECT*);
|
164
|
+
BOOL WINAPI WriteConsoleA(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
|
165
|
+
BOOL WINAPI WriteConsoleW(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
|
166
|
+
BOOL WINAPI WriteConsoleInputA(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
|
167
|
+
BOOL WINAPI WriteConsoleInputW(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
|
168
|
+
BOOL WINAPI WriteConsoleOutputA(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
|
169
|
+
BOOL WINAPI WriteConsoleOutputW(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
|
170
|
+
BOOL WINAPI WriteConsoleOutputAttribute(HANDLE,const WORD*,DWORD,COORD,PDWORD);
|
171
|
+
BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE,LPCSTR,DWORD,COORD,PDWORD);
|
172
|
+
BOOL WINAPI WriteConsoleOutputCharacterW(HANDLE,LPCWSTR,DWORD,COORD,PDWORD);
|
173
|
+
|
174
|
+
#ifdef UNICODE
|
175
|
+
#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
|
176
|
+
#define GetConsoleTitle GetConsoleTitleW
|
177
|
+
#define PeekConsoleInput PeekConsoleInputW
|
178
|
+
#define ReadConsole ReadConsoleW
|
179
|
+
#define ReadConsoleInput ReadConsoleInputW
|
180
|
+
#define ReadConsoleOutput ReadConsoleOutputW
|
181
|
+
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
|
182
|
+
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
|
183
|
+
#define SetConsoleTitle SetConsoleTitleW
|
184
|
+
#define WriteConsole WriteConsoleW
|
185
|
+
#define WriteConsoleInput WriteConsoleInputW
|
186
|
+
#define WriteConsoleOutput WriteConsoleOutputW
|
187
|
+
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
|
188
|
+
#else
|
189
|
+
#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
|
190
|
+
#define GetConsoleTitle GetConsoleTitleA
|
191
|
+
#define PeekConsoleInput PeekConsoleInputA
|
192
|
+
#define ReadConsole ReadConsoleA
|
193
|
+
#define ReadConsoleInput ReadConsoleInputA
|
194
|
+
#define ReadConsoleOutput ReadConsoleOutputA
|
195
|
+
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
|
196
|
+
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
|
197
|
+
#define SetConsoleTitle SetConsoleTitleA
|
198
|
+
#define WriteConsole WriteConsoleA
|
199
|
+
#define WriteConsoleInput WriteConsoleInputA
|
200
|
+
#define WriteConsoleOutput WriteConsoleOutputA
|
201
|
+
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
|
202
|
+
#endif
|
203
|
+
|
204
|
+
#ifdef __cplusplus
|
205
|
+
}
|
206
|
+
#endif
|
207
|
+
#endif
|
@@ -0,0 +1,240 @@
|
|
1
|
+
#ifndef _WINDEF_H
|
2
|
+
#define _WINDEF_H
|
3
|
+
#if __GNUC__ >=3
|
4
|
+
#pragma GCC system_header
|
5
|
+
#endif
|
6
|
+
|
7
|
+
#ifdef __cplusplus
|
8
|
+
extern "C" {
|
9
|
+
#endif
|
10
|
+
|
11
|
+
#ifndef WINVER
|
12
|
+
#define WINVER 0x0400
|
13
|
+
#endif
|
14
|
+
#ifndef _WIN32_WINNT
|
15
|
+
#define _WIN32_WINNT WINVER
|
16
|
+
#endif
|
17
|
+
#ifndef WIN32
|
18
|
+
#define WIN32
|
19
|
+
#endif
|
20
|
+
#ifndef _WIN32
|
21
|
+
#define _WIN32
|
22
|
+
#endif
|
23
|
+
#define FAR
|
24
|
+
#define far
|
25
|
+
#define NEAR
|
26
|
+
#define near
|
27
|
+
#ifndef CONST
|
28
|
+
#define CONST const
|
29
|
+
#endif
|
30
|
+
#undef MAX_PATH
|
31
|
+
#define MAX_PATH 260
|
32
|
+
|
33
|
+
#ifndef NULL
|
34
|
+
#ifdef __cplusplus
|
35
|
+
#define NULL 0
|
36
|
+
#else
|
37
|
+
#define NULL ((void*)0)
|
38
|
+
#endif
|
39
|
+
#endif
|
40
|
+
#ifndef FALSE
|
41
|
+
#define FALSE 0
|
42
|
+
#endif
|
43
|
+
#ifndef TRUE
|
44
|
+
#define TRUE 1
|
45
|
+
#endif
|
46
|
+
#define IN
|
47
|
+
#define OUT
|
48
|
+
#ifndef OPTIONAL
|
49
|
+
#define OPTIONAL
|
50
|
+
#endif
|
51
|
+
|
52
|
+
#ifdef __GNUC__
|
53
|
+
#define PACKED __attribute__((packed))
|
54
|
+
#ifndef _stdcall
|
55
|
+
#define _stdcall __attribute__((stdcall))
|
56
|
+
#endif
|
57
|
+
#ifndef __stdcall
|
58
|
+
#define __stdcall __attribute__((stdcall))
|
59
|
+
#endif
|
60
|
+
#ifndef _cdecl
|
61
|
+
#define _cdecl __attribute__((cdecl))
|
62
|
+
#endif
|
63
|
+
#ifndef __cdecl
|
64
|
+
#define __cdecl __attribute__((cdecl))
|
65
|
+
#endif
|
66
|
+
#ifndef __declspec
|
67
|
+
#define __declspec(e) __attribute__((e))
|
68
|
+
#endif
|
69
|
+
#ifndef _declspec
|
70
|
+
#define _declspec(e) __attribute__((e))
|
71
|
+
#endif
|
72
|
+
#else
|
73
|
+
#define PACKED
|
74
|
+
#define _cdecl
|
75
|
+
#define __cdecl
|
76
|
+
#endif
|
77
|
+
|
78
|
+
#undef pascal
|
79
|
+
#undef _pascal
|
80
|
+
#undef __pascal
|
81
|
+
#define pascal __stdcall
|
82
|
+
#define _pascal __stdcall
|
83
|
+
#define __pascal __stdcall
|
84
|
+
#define PASCAL _pascal
|
85
|
+
#define CDECL _cdecl
|
86
|
+
#define STDCALL __stdcall
|
87
|
+
#define WINAPI __stdcall
|
88
|
+
#define WINAPIV __cdecl
|
89
|
+
#define APIENTRY __stdcall
|
90
|
+
#define CALLBACK __stdcall
|
91
|
+
#define APIPRIVATE __stdcall
|
92
|
+
|
93
|
+
#define DECLSPEC_IMPORT __declspec(dllimport)
|
94
|
+
#define DECLSPEC_EXPORT __declspec(dllexport)
|
95
|
+
#ifdef __GNUC__
|
96
|
+
#define DECLSPEC_NORETURN __declspec(noreturn)
|
97
|
+
#define DECLARE_STDCALL_P( type ) __stdcall type
|
98
|
+
#elif defined(__WATCOMC__)
|
99
|
+
#define DECLSPEC_NORETURN
|
100
|
+
#define DECLARE_STDCALL_P( type ) type __stdcall
|
101
|
+
#endif /* __GNUC__/__WATCOMC__ */
|
102
|
+
#define MAKEWORD(a,b) ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8)))
|
103
|
+
#define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
|
104
|
+
#define LOWORD(l) ((WORD)((DWORD)(l)))
|
105
|
+
#define HIWORD(l) ((WORD)(((DWORD)(l)>>16)&0xFFFF))
|
106
|
+
#define LOBYTE(w) ((BYTE)(w))
|
107
|
+
#define HIBYTE(w) ((BYTE)(((WORD)(w)>>8)&0xFF))
|
108
|
+
|
109
|
+
#ifndef _export
|
110
|
+
#define _export
|
111
|
+
#endif
|
112
|
+
#ifndef __export
|
113
|
+
#define __export
|
114
|
+
#endif
|
115
|
+
|
116
|
+
#ifndef NOMINMAX
|
117
|
+
#ifndef max
|
118
|
+
#define max(a,b) ((a)>(b)?(a):(b))
|
119
|
+
#endif
|
120
|
+
#ifndef min
|
121
|
+
#define min(a,b) ((a)<(b)?(a):(b))
|
122
|
+
#endif
|
123
|
+
#endif
|
124
|
+
|
125
|
+
#define UNREFERENCED_PARAMETER(P) {(P)=(P);}
|
126
|
+
#define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);}
|
127
|
+
#define DBG_UNREFERENCED_PARAMETER(P)
|
128
|
+
#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
|
129
|
+
|
130
|
+
typedef unsigned long DWORD;
|
131
|
+
typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;
|
132
|
+
/* FIXME: Is there a good solution to this? */
|
133
|
+
#ifndef XFree86Server
|
134
|
+
#ifndef __OBJC__
|
135
|
+
typedef WINBOOL BOOL;
|
136
|
+
#else
|
137
|
+
#define BOOL WINBOOL
|
138
|
+
#endif
|
139
|
+
typedef unsigned char BYTE;
|
140
|
+
#endif /* ndef XFree86Server */
|
141
|
+
typedef BOOL *PBOOL,*LPBOOL;
|
142
|
+
typedef unsigned short WORD;
|
143
|
+
typedef float FLOAT;
|
144
|
+
typedef FLOAT *PFLOAT;
|
145
|
+
typedef BYTE *PBYTE,*LPBYTE;
|
146
|
+
typedef int *PINT,*LPINT;
|
147
|
+
typedef WORD *PWORD,*LPWORD;
|
148
|
+
typedef long *LPLONG;
|
149
|
+
typedef DWORD *PDWORD,*LPDWORD;
|
150
|
+
typedef void *PVOID,*LPVOID;
|
151
|
+
typedef CONST void *PCVOID,*LPCVOID;
|
152
|
+
typedef int INT;
|
153
|
+
typedef unsigned int UINT,*PUINT,*LPUINT;
|
154
|
+
|
155
|
+
#include <winnt.h>
|
156
|
+
|
157
|
+
typedef UINT WPARAM;
|
158
|
+
typedef LONG LPARAM;
|
159
|
+
typedef LONG LRESULT;
|
160
|
+
#ifndef _HRESULT_DEFINED
|
161
|
+
typedef LONG HRESULT;
|
162
|
+
#define _HRESULT_DEFINED
|
163
|
+
#endif
|
164
|
+
#ifndef XFree86Server
|
165
|
+
typedef WORD ATOM;
|
166
|
+
#endif /* XFree86Server */
|
167
|
+
typedef HANDLE HGLOBAL;
|
168
|
+
typedef HANDLE HLOCAL;
|
169
|
+
typedef HANDLE GLOBALHANDLE;
|
170
|
+
typedef HANDLE LOCALHANDLE;
|
171
|
+
typedef void *HGDIOBJ;
|
172
|
+
DECLARE_HANDLE(HACCEL);
|
173
|
+
DECLARE_HANDLE(HBITMAP);
|
174
|
+
DECLARE_HANDLE(HBRUSH);
|
175
|
+
DECLARE_HANDLE(HCOLORSPACE);
|
176
|
+
DECLARE_HANDLE(HDC);
|
177
|
+
DECLARE_HANDLE(HGLRC);
|
178
|
+
DECLARE_HANDLE(HDESK);
|
179
|
+
DECLARE_HANDLE(HENHMETAFILE);
|
180
|
+
DECLARE_HANDLE(HFONT);
|
181
|
+
DECLARE_HANDLE(HICON);
|
182
|
+
DECLARE_HANDLE(HKEY);
|
183
|
+
/* FIXME: How to handle these. SM_CMONITORS etc in winuser.h also. */
|
184
|
+
/* #if (WINVER >= 0x0500) */
|
185
|
+
DECLARE_HANDLE(HMONITOR);
|
186
|
+
#define HMONITOR_DECLARED 1
|
187
|
+
DECLARE_HANDLE(HTERMINAL);
|
188
|
+
DECLARE_HANDLE(HWINEVENTHOOK);
|
189
|
+
/* #endif */
|
190
|
+
typedef HKEY *PHKEY;
|
191
|
+
DECLARE_HANDLE(HMENU);
|
192
|
+
DECLARE_HANDLE(HMETAFILE);
|
193
|
+
DECLARE_HANDLE(HINSTANCE);
|
194
|
+
typedef HINSTANCE HMODULE;
|
195
|
+
DECLARE_HANDLE(HPALETTE);
|
196
|
+
DECLARE_HANDLE(HPEN);
|
197
|
+
DECLARE_HANDLE(HRGN);
|
198
|
+
DECLARE_HANDLE(HRSRC);
|
199
|
+
DECLARE_HANDLE(HSTR);
|
200
|
+
DECLARE_HANDLE(HTASK);
|
201
|
+
DECLARE_HANDLE(HWND);
|
202
|
+
DECLARE_HANDLE(HWINSTA);
|
203
|
+
DECLARE_HANDLE(HKL);
|
204
|
+
typedef int HFILE;
|
205
|
+
typedef HICON HCURSOR;
|
206
|
+
typedef DWORD COLORREF;
|
207
|
+
typedef int (WINAPI *FARPROC)();
|
208
|
+
typedef int (WINAPI *NEARPROC)();
|
209
|
+
typedef int (WINAPI *PROC)();
|
210
|
+
typedef struct tagRECT {
|
211
|
+
LONG left;
|
212
|
+
LONG top;
|
213
|
+
LONG right;
|
214
|
+
LONG bottom;
|
215
|
+
} RECT,*PRECT,*LPRECT;
|
216
|
+
typedef const RECT *LPCRECT;
|
217
|
+
typedef struct tagRECTL {
|
218
|
+
LONG left;
|
219
|
+
LONG top;
|
220
|
+
LONG right;
|
221
|
+
LONG bottom;
|
222
|
+
} RECTL,*PRECTL,*LPRECTL;
|
223
|
+
typedef const RECTL *LPCRECTL;
|
224
|
+
typedef struct tagPOINT {
|
225
|
+
LONG x;
|
226
|
+
LONG y;
|
227
|
+
} POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL;
|
228
|
+
typedef struct tagSIZE {
|
229
|
+
LONG cx;
|
230
|
+
LONG cy;
|
231
|
+
} SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL;
|
232
|
+
typedef struct tagPOINTS {
|
233
|
+
SHORT x;
|
234
|
+
SHORT y;
|
235
|
+
} POINTS,*PPOINTS,*LPPOINTS;
|
236
|
+
|
237
|
+
#ifdef __cplusplus
|
238
|
+
}
|
239
|
+
#endif
|
240
|
+
#endif
|
@@ -0,0 +1,176 @@
|
|
1
|
+
/*
|
2
|
+
windows.h - main header file for the Win32 API
|
3
|
+
|
4
|
+
Written by Anders Norlander <anorland@hem2.passagen.se>
|
5
|
+
|
6
|
+
This file is part of a free library for the Win32 API.
|
7
|
+
|
8
|
+
This library is distributed in the hope that it will be useful,
|
9
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
|
12
|
+
*/
|
13
|
+
#ifndef _WINDOWS_H
|
14
|
+
#define _WINDOWS_H
|
15
|
+
#if __GNUC__ >=3
|
16
|
+
#pragma GCC system_header
|
17
|
+
#endif
|
18
|
+
|
19
|
+
/* translate GCC target defines to MS equivalents. Keep this synchronized
|
20
|
+
with winnt.h. */
|
21
|
+
#if defined(__i686__) && !defined(_M_IX86)
|
22
|
+
#define _M_IX86 600
|
23
|
+
#elif defined(__i586__) && !defined(_M_IX86)
|
24
|
+
#define _M_IX86 500
|
25
|
+
#elif defined(__i486__) && !defined(_M_IX86)
|
26
|
+
#define _M_IX86 400
|
27
|
+
#elif defined(__i386__) && !defined(_M_IX86)
|
28
|
+
#define _M_IX86 300
|
29
|
+
#endif
|
30
|
+
#if defined(_M_IX86) && !defined(_X86_)
|
31
|
+
#define _X86_
|
32
|
+
#elif defined(_M_ALPHA) && !defined(_ALPHA_)
|
33
|
+
#define _ALPHA_
|
34
|
+
#elif defined(_M_PPC) && !defined(_PPC_)
|
35
|
+
#define _PPC_
|
36
|
+
#elif defined(_M_MRX000) && !defined(_MIPS_)
|
37
|
+
#define _MIPS_
|
38
|
+
#elif defined(_M_M68K) && !defined(_68K_)
|
39
|
+
#define _68K_
|
40
|
+
#endif
|
41
|
+
|
42
|
+
#ifdef RC_INVOKED
|
43
|
+
/* winresrc.h includes the necessary headers */
|
44
|
+
#include <winresrc.h>
|
45
|
+
#else
|
46
|
+
|
47
|
+
#ifdef __GNUC__
|
48
|
+
#ifndef NONAMELESSUNION
|
49
|
+
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
|
50
|
+
#define _ANONYMOUS_UNION __extension__
|
51
|
+
#define _ANONYMOUS_STRUCT __extension__
|
52
|
+
#else
|
53
|
+
#if defined(__cplusplus)
|
54
|
+
#define _ANONYMOUS_UNION __extension__
|
55
|
+
#endif /* __cplusplus */
|
56
|
+
#endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */
|
57
|
+
#endif /* NONAMELESSUNION */
|
58
|
+
#elif defined(__WATCOMC__)
|
59
|
+
#define _ANONYMOUS_UNION
|
60
|
+
#define _ANONYMOUS_STRUCT
|
61
|
+
#endif /* __GNUC__/__WATCOMC__ */
|
62
|
+
|
63
|
+
#ifndef _ANONYMOUS_UNION
|
64
|
+
#define _ANONYMOUS_UNION
|
65
|
+
#define _UNION_NAME(x) x
|
66
|
+
#define DUMMYUNIONNAME u
|
67
|
+
#define DUMMYUNIONNAME2 u2
|
68
|
+
#define DUMMYUNIONNAME3 u3
|
69
|
+
#define DUMMYUNIONNAME4 u4
|
70
|
+
#define DUMMYUNIONNAME5 u5
|
71
|
+
#define DUMMYUNIONNAME6 u6
|
72
|
+
#define DUMMYUNIONNAME7 u7
|
73
|
+
#define DUMMYUNIONNAME8 u8
|
74
|
+
#else
|
75
|
+
#define _UNION_NAME(x)
|
76
|
+
#define DUMMYUNIONNAME
|
77
|
+
#define DUMMYUNIONNAME2
|
78
|
+
#define DUMMYUNIONNAME3
|
79
|
+
#define DUMMYUNIONNAME4
|
80
|
+
#define DUMMYUNIONNAME5
|
81
|
+
#define DUMMYUNIONNAME6
|
82
|
+
#define DUMMYUNIONNAME7
|
83
|
+
#define DUMMYUNIONNAME8
|
84
|
+
#endif
|
85
|
+
#ifndef _ANONYMOUS_STRUCT
|
86
|
+
#define _ANONYMOUS_STRUCT
|
87
|
+
#define _STRUCT_NAME(x) x
|
88
|
+
#define DUMMYSTRUCTNAME s
|
89
|
+
#define DUMMYSTRUCTNAME2 s2
|
90
|
+
#define DUMMYSTRUCTNAME3 s3
|
91
|
+
#else
|
92
|
+
#define _STRUCT_NAME(x)
|
93
|
+
#define DUMMYSTRUCTNAME
|
94
|
+
#define DUMMYSTRUCTNAME2
|
95
|
+
#define DUMMYSTRUCTNAME3
|
96
|
+
#endif
|
97
|
+
|
98
|
+
#ifndef NO_STRICT
|
99
|
+
#ifndef STRICT
|
100
|
+
#define STRICT 1
|
101
|
+
#endif
|
102
|
+
#endif
|
103
|
+
|
104
|
+
#include <stdarg.h>
|
105
|
+
#include <windef.h>
|
106
|
+
#include <wincon.h>
|
107
|
+
#include <basetyps.h>
|
108
|
+
#include <excpt.h>
|
109
|
+
#include <winbase.h>
|
110
|
+
#ifndef _WINGDI_H
|
111
|
+
#include <wingdi.h>
|
112
|
+
#endif
|
113
|
+
#ifndef _WINUSER_H
|
114
|
+
#include <winuser.h>
|
115
|
+
#endif
|
116
|
+
#ifndef _WINNLS_H
|
117
|
+
#include <winnls.h>
|
118
|
+
#endif
|
119
|
+
#ifndef _WINVER_H
|
120
|
+
#include <winver.h>
|
121
|
+
#endif
|
122
|
+
#ifndef _WINNETWK_H
|
123
|
+
#include <winnetwk.h>
|
124
|
+
#endif
|
125
|
+
#ifndef _WINREG_H
|
126
|
+
#include <winreg.h>
|
127
|
+
#endif
|
128
|
+
#ifndef _WINSVC_H
|
129
|
+
#include <winsvc.h>
|
130
|
+
#endif
|
131
|
+
|
132
|
+
#ifndef WIN32_LEAN_AND_MEAN
|
133
|
+
#include <commdlg.h>
|
134
|
+
#include <cderr.h>
|
135
|
+
#include <dde.h>
|
136
|
+
#include <ddeml.h>
|
137
|
+
#include <dlgs.h>
|
138
|
+
#include <lzexpand.h>
|
139
|
+
#include <mmsystem.h>
|
140
|
+
#include <nb30.h>
|
141
|
+
#include <rpc.h>
|
142
|
+
#include <shellapi.h>
|
143
|
+
#include <winperf.h>
|
144
|
+
#include <winspool.h>
|
145
|
+
#if defined(Win32_Winsock)
|
146
|
+
#warning "The Win32_Winsock macro name is deprecated.\
|
147
|
+
Please use __USE_W32_SOCKETS instead"
|
148
|
+
#ifndef __USE_W32_SOCKETS
|
149
|
+
#define __USE_W32_SOCKETS
|
150
|
+
#endif
|
151
|
+
#endif
|
152
|
+
#if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
|
153
|
+
#if (_WIN32_WINNT >= 0x0400)
|
154
|
+
#include <winsock2.h>
|
155
|
+
/*
|
156
|
+
* MS likes to include mswsock.h here as well,
|
157
|
+
* but that can cause undefined symbols if
|
158
|
+
* winsock2.h is included before windows.h
|
159
|
+
*/
|
160
|
+
#else
|
161
|
+
#include <winsock.h>
|
162
|
+
#endif /* (_WIN32_WINNT >= 0x0400) */
|
163
|
+
#endif
|
164
|
+
#endif /* WIN32_LEAN_AND_MEAN */
|
165
|
+
|
166
|
+
#endif /* RC_INVOKED */
|
167
|
+
|
168
|
+
#ifdef __OBJC__
|
169
|
+
/* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
|
170
|
+
but undefining it causes trouble as well if a file is included after
|
171
|
+
windows.h
|
172
|
+
*/
|
173
|
+
#undef BOOL
|
174
|
+
#endif
|
175
|
+
|
176
|
+
#endif
|