standalone-ruby 1.4.1 → 1.5.0

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.
Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -16
  3. data/bin/standalone-ruby +1 -1
  4. data/lib/data/bat-cmd/default_bat_cmd.txt +9 -9
  5. data/lib/data/c_compilers/tcc/include/_mingw.h +54 -0
  6. data/lib/data/c_compilers/tcc/include/assert.h +71 -0
  7. data/lib/data/c_compilers/tcc/include/conio.h +159 -0
  8. data/lib/data/c_compilers/tcc/include/ctype.h +232 -0
  9. data/lib/data/c_compilers/tcc/include/dir.h +26 -0
  10. data/lib/data/c_compilers/tcc/include/direct.h +95 -0
  11. data/lib/data/c_compilers/tcc/include/dirent.h +96 -0
  12. data/lib/data/c_compilers/tcc/include/dos.h +110 -0
  13. data/lib/data/c_compilers/tcc/include/errno.h +117 -0
  14. data/lib/data/c_compilers/tcc/include/excpt.h +20 -0
  15. data/lib/data/c_compilers/tcc/include/fcntl.h +135 -0
  16. data/lib/data/c_compilers/tcc/include/fenv.h +85 -0
  17. data/lib/data/c_compilers/tcc/include/float.h +224 -0
  18. data/lib/data/c_compilers/tcc/include/inttypes.h +275 -0
  19. data/lib/data/c_compilers/tcc/include/io.h +296 -0
  20. data/lib/data/c_compilers/tcc/include/limits.h +115 -0
  21. data/lib/data/c_compilers/tcc/include/locale.h +100 -0
  22. data/lib/data/c_compilers/tcc/include/malloc.h +87 -0
  23. data/lib/data/c_compilers/tcc/include/math.h +438 -0
  24. data/lib/data/c_compilers/tcc/include/mem.h +8 -0
  25. data/lib/data/c_compilers/tcc/include/memory.h +9 -0
  26. data/lib/data/c_compilers/tcc/include/process.h +158 -0
  27. data/lib/data/c_compilers/tcc/include/setjmp.h +72 -0
  28. data/lib/data/c_compilers/tcc/include/share.h +44 -0
  29. data/lib/data/c_compilers/tcc/include/signal.h +111 -0
  30. data/lib/data/c_compilers/tcc/include/stdarg.h +16 -0
  31. data/lib/data/c_compilers/tcc/include/stdbool.h +10 -0
  32. data/lib/data/c_compilers/tcc/include/stddef.h +26 -0
  33. data/lib/data/c_compilers/tcc/include/stdint.h +184 -0
  34. data/lib/data/c_compilers/tcc/include/stdio.h +413 -0
  35. data/lib/data/c_compilers/tcc/include/stdlib.h +482 -0
  36. data/lib/data/c_compilers/tcc/include/string.h +206 -0
  37. data/lib/data/c_compilers/tcc/include/sys/fcntl.h +8 -0
  38. data/lib/data/c_compilers/tcc/include/sys/file.h +9 -0
  39. data/lib/data/c_compilers/tcc/include/sys/locking.h +52 -0
  40. data/lib/data/c_compilers/tcc/include/sys/stat.h +190 -0
  41. data/lib/data/c_compilers/tcc/include/sys/time.h +3 -0
  42. data/lib/data/c_compilers/tcc/include/sys/timeb.h +82 -0
  43. data/lib/data/c_compilers/tcc/include/sys/types.h +118 -0
  44. data/lib/data/c_compilers/tcc/include/sys/unistd.h +9 -0
  45. data/lib/data/c_compilers/tcc/include/sys/utime.h +89 -0
  46. data/lib/data/c_compilers/tcc/include/tchar.h +367 -0
  47. data/lib/data/c_compilers/tcc/include/time.h +219 -0
  48. data/lib/data/c_compilers/tcc/include/unistd.h +10 -0
  49. data/lib/data/c_compilers/tcc/include/values.h +4 -0
  50. data/lib/data/c_compilers/tcc/include/varargs.h +11 -0
  51. data/lib/data/c_compilers/tcc/include/wchar.h +318 -0
  52. data/lib/data/c_compilers/tcc/include/wctype.h +127 -0
  53. data/lib/data/c_compilers/tcc/include/winapi/basetsd.h +119 -0
  54. data/lib/data/c_compilers/tcc/include/winapi/basetyps.h +144 -0
  55. data/lib/data/c_compilers/tcc/include/winapi/winbase.h +1852 -0
  56. data/lib/data/c_compilers/tcc/include/winapi/wincon.h +207 -0
  57. data/lib/data/c_compilers/tcc/include/winapi/windef.h +240 -0
  58. data/lib/data/c_compilers/tcc/include/winapi/windows.h +176 -0
  59. data/lib/data/c_compilers/tcc/include/winapi/winerror.h +1054 -0
  60. data/lib/data/c_compilers/tcc/include/winapi/wingdi.h +2843 -0
  61. data/lib/data/c_compilers/tcc/include/winapi/winnetwk.h +346 -0
  62. data/lib/data/c_compilers/tcc/include/winapi/winnls.h +651 -0
  63. data/lib/data/c_compilers/tcc/include/winapi/winnt.h +2667 -0
  64. data/lib/data/c_compilers/tcc/include/winapi/winreg.h +159 -0
  65. data/lib/data/c_compilers/tcc/include/winapi/winsvc.h +309 -0
  66. data/lib/data/c_compilers/tcc/include/winapi/winuser.h +3472 -0
  67. data/lib/data/c_compilers/tcc/include/winapi/winver.h +133 -0
  68. data/lib/data/c_compilers/tcc/lib/gdi32.def +337 -0
  69. data/lib/data/c_compilers/tcc/lib/kernel32.def +763 -0
  70. data/lib/data/c_compilers/tcc/lib/libtcc1.a +0 -0
  71. data/lib/data/c_compilers/tcc/lib/msvcrt.def +782 -0
  72. data/lib/data/c_compilers/tcc/lib/user32.def +654 -0
  73. data/lib/data/c_compilers/tcc/tcc.exe +0 -0
  74. data/lib/data/exe_templates/launcher_stub.c +30 -0
  75. data/lib/data/exe_templates/launcher_stub.cpp +31 -0
  76. data/lib/data/launcher_templates/vbs/default_vbs.txt +7 -0
  77. data/lib/data/launcher_templates/vbs/vbs_gui.txt +8 -0
  78. data/lib/data/resource_files/default.rc +17 -0
  79. data/lib/data/tcc/include/_mingw.h +54 -54
  80. data/lib/data/tcc/include/assert.h +71 -71
  81. data/lib/data/tcc/include/conio.h +159 -159
  82. data/lib/data/tcc/include/ctype.h +232 -232
  83. data/lib/data/tcc/include/dir.h +26 -26
  84. data/lib/data/tcc/include/direct.h +95 -95
  85. data/lib/data/tcc/include/dirent.h +96 -96
  86. data/lib/data/tcc/include/dos.h +110 -110
  87. data/lib/data/tcc/include/errno.h +117 -117
  88. data/lib/data/tcc/include/excpt.h +20 -20
  89. data/lib/data/tcc/include/fcntl.h +135 -135
  90. data/lib/data/tcc/include/fenv.h +85 -85
  91. data/lib/data/tcc/include/float.h +224 -224
  92. data/lib/data/tcc/include/inttypes.h +275 -275
  93. data/lib/data/tcc/include/io.h +296 -296
  94. data/lib/data/tcc/include/limits.h +115 -115
  95. data/lib/data/tcc/include/locale.h +100 -100
  96. data/lib/data/tcc/include/malloc.h +87 -87
  97. data/lib/data/tcc/include/math.h +438 -438
  98. data/lib/data/tcc/include/mem.h +8 -8
  99. data/lib/data/tcc/include/memory.h +9 -9
  100. data/lib/data/tcc/include/process.h +158 -158
  101. data/lib/data/tcc/include/setjmp.h +72 -72
  102. data/lib/data/tcc/include/share.h +44 -44
  103. data/lib/data/tcc/include/signal.h +111 -111
  104. data/lib/data/tcc/include/stdarg.h +16 -16
  105. data/lib/data/tcc/include/stdbool.h +10 -10
  106. data/lib/data/tcc/include/stddef.h +26 -26
  107. data/lib/data/tcc/include/stdint.h +184 -184
  108. data/lib/data/tcc/include/stdio.h +413 -413
  109. data/lib/data/tcc/include/stdlib.h +482 -482
  110. data/lib/data/tcc/include/string.h +206 -206
  111. data/lib/data/tcc/include/sys/fcntl.h +8 -8
  112. data/lib/data/tcc/include/sys/file.h +9 -9
  113. data/lib/data/tcc/include/sys/locking.h +52 -52
  114. data/lib/data/tcc/include/sys/stat.h +190 -190
  115. data/lib/data/tcc/include/sys/time.h +3 -3
  116. data/lib/data/tcc/include/sys/timeb.h +82 -82
  117. data/lib/data/tcc/include/sys/types.h +118 -118
  118. data/lib/data/tcc/include/sys/unistd.h +9 -9
  119. data/lib/data/tcc/include/sys/utime.h +89 -89
  120. data/lib/data/tcc/include/tchar.h +367 -367
  121. data/lib/data/tcc/include/time.h +219 -219
  122. data/lib/data/tcc/include/unistd.h +10 -10
  123. data/lib/data/tcc/include/values.h +4 -4
  124. data/lib/data/tcc/include/varargs.h +11 -11
  125. data/lib/data/tcc/include/wchar.h +318 -318
  126. data/lib/data/tcc/include/wctype.h +127 -127
  127. data/lib/data/tcc/include/winapi/basetsd.h +119 -119
  128. data/lib/data/tcc/include/winapi/basetyps.h +144 -144
  129. data/lib/data/tcc/include/winapi/winbase.h +1852 -1852
  130. data/lib/data/tcc/include/winapi/wincon.h +207 -207
  131. data/lib/data/tcc/include/winapi/windef.h +240 -240
  132. data/lib/data/tcc/include/winapi/windows.h +176 -176
  133. data/lib/data/tcc/include/winapi/winerror.h +1054 -1054
  134. data/lib/data/tcc/include/winapi/wingdi.h +2843 -2843
  135. data/lib/data/tcc/include/winapi/winnetwk.h +346 -346
  136. data/lib/data/tcc/include/winapi/winnls.h +651 -651
  137. data/lib/data/tcc/include/winapi/winnt.h +2667 -2667
  138. data/lib/data/tcc/include/winapi/winreg.h +159 -159
  139. data/lib/data/tcc/include/winapi/winsvc.h +309 -309
  140. data/lib/data/tcc/include/winapi/winuser.h +3472 -3472
  141. data/lib/data/tcc/include/winapi/winver.h +133 -133
  142. data/lib/data/tcc/lib/gdi32.def +337 -337
  143. data/lib/data/tcc/lib/kernel32.def +763 -763
  144. data/lib/data/tcc/lib/msvcrt.def +782 -782
  145. data/lib/data/tcc/lib/user32.def +654 -654
  146. data/lib/data/vbs/default_vbs.txt +7 -7
  147. data/lib/data/vbs/vbs_gui.txt +8 -8
  148. data/lib/displayer.rb +66 -0
  149. data/lib/exe_packer.rb +82 -0
  150. data/lib/launcher.rb +84 -0
  151. data/lib/launcher_handler.rb +53 -0
  152. data/lib/logger_helper.rb +24 -0
  153. data/lib/parameter_parser.rb +210 -0
  154. data/lib/ruby_copy.rb +26 -0
  155. data/lib/sfx_generator.rb +11 -0
  156. data/lib/standalone_ruby.rb +2 -2
  157. data/lib/utils/displayer.rb +20 -17
  158. data/lib/utils/exe_packer.rb +5 -1
  159. data/lib/utils/launcher.rb +1 -1
  160. data/lib/utils/launcher_handler.rb +110 -110
  161. data/lib/utils/parameter_parser.rb +7 -2
  162. data/lib/utils/ruby_copy.rb +0 -1
  163. data/lib/version/version.rb +3 -0
  164. metadata +87 -4
@@ -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