standalone-ruby 1.5.0 → 1.5.2

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