tcc 0.1.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 (283) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +35 -0
  3. data/README.md +196 -0
  4. data/ext/tcc/extconf.rb +25 -0
  5. data/ext/tcc/tcc-0.9.26.patch +30 -0
  6. data/ext/tcc/tcc-0.9.26/COPYING +504 -0
  7. data/ext/tcc/tcc-0.9.26/Changelog +396 -0
  8. data/ext/tcc/tcc-0.9.26/Makefile +349 -0
  9. data/ext/tcc/tcc-0.9.26/README +101 -0
  10. data/ext/tcc/tcc-0.9.26/TODO +93 -0
  11. data/ext/tcc/tcc-0.9.26/VERSION +1 -0
  12. data/ext/tcc/tcc-0.9.26/arm-gen.c +2005 -0
  13. data/ext/tcc/tcc-0.9.26/c67-gen.c +2560 -0
  14. data/ext/tcc/tcc-0.9.26/coff.h +446 -0
  15. data/ext/tcc/tcc-0.9.26/config.h +8 -0
  16. data/ext/tcc/tcc-0.9.26/config.mak +28 -0
  17. data/ext/tcc/tcc-0.9.26/config.texi +1 -0
  18. data/ext/tcc/tcc-0.9.26/configure +540 -0
  19. data/ext/tcc/tcc-0.9.26/conftest.c +71 -0
  20. data/ext/tcc/tcc-0.9.26/elf.h +1731 -0
  21. data/ext/tcc/tcc-0.9.26/examples/ex1.c +8 -0
  22. data/ext/tcc/tcc-0.9.26/examples/ex2.c +98 -0
  23. data/ext/tcc/tcc-0.9.26/examples/ex3.c +24 -0
  24. data/ext/tcc/tcc-0.9.26/examples/ex4.c +26 -0
  25. data/ext/tcc/tcc-0.9.26/examples/ex5.c +8 -0
  26. data/ext/tcc/tcc-0.9.26/i386-asm.c +1498 -0
  27. data/ext/tcc/tcc-0.9.26/i386-asm.h +473 -0
  28. data/ext/tcc/tcc-0.9.26/i386-gen.c +1096 -0
  29. data/ext/tcc/tcc-0.9.26/i386-tok.h +243 -0
  30. data/ext/tcc/tcc-0.9.26/il-gen.c +667 -0
  31. data/ext/tcc/tcc-0.9.26/il-opcodes.h +251 -0
  32. data/ext/tcc/tcc-0.9.26/include/float.h +57 -0
  33. data/ext/tcc/tcc-0.9.26/include/stdarg.h +41 -0
  34. data/ext/tcc/tcc-0.9.26/include/stdbool.h +10 -0
  35. data/ext/tcc/tcc-0.9.26/include/stddef.h +28 -0
  36. data/ext/tcc/tcc-0.9.26/include/tcclib.h +78 -0
  37. data/ext/tcc/tcc-0.9.26/include/varargs.h +12 -0
  38. data/ext/tcc/tcc-0.9.26/lib/Makefile +102 -0
  39. data/ext/tcc/tcc-0.9.26/lib/alloca86-bt.S +47 -0
  40. data/ext/tcc/tcc-0.9.26/lib/alloca86.S +35 -0
  41. data/ext/tcc/tcc-0.9.26/lib/alloca86_64.S +42 -0
  42. data/ext/tcc/tcc-0.9.26/lib/bcheck.c +875 -0
  43. data/ext/tcc/tcc-0.9.26/lib/libtcc1.c +691 -0
  44. data/ext/tcc/tcc-0.9.26/libtcc.c +1941 -0
  45. data/ext/tcc/tcc-0.9.26/libtcc.h +103 -0
  46. data/ext/tcc/tcc-0.9.26/stab.def +234 -0
  47. data/ext/tcc/tcc-0.9.26/stab.h +17 -0
  48. data/ext/tcc/tcc-0.9.26/tcc-doc.html +2332 -0
  49. data/ext/tcc/tcc-0.9.26/tcc-doc.info +1151 -0
  50. data/ext/tcc/tcc-0.9.26/tcc-doc.texi +1268 -0
  51. data/ext/tcc/tcc-0.9.26/tcc.1 +415 -0
  52. data/ext/tcc/tcc-0.9.26/tcc.c +352 -0
  53. data/ext/tcc/tcc-0.9.26/tcc.h +1379 -0
  54. data/ext/tcc/tcc-0.9.26/tccasm.c +1118 -0
  55. data/ext/tcc/tcc-0.9.26/tcccoff.c +948 -0
  56. data/ext/tcc/tcc-0.9.26/tccelf.c +3129 -0
  57. data/ext/tcc/tcc-0.9.26/tccgen.c +5841 -0
  58. data/ext/tcc/tcc-0.9.26/tccpe.c +1887 -0
  59. data/ext/tcc/tcc-0.9.26/tccpp.c +3128 -0
  60. data/ext/tcc/tcc-0.9.26/tccrun.c +737 -0
  61. data/ext/tcc/tcc-0.9.26/tcctok.h +278 -0
  62. data/ext/tcc/tcc-0.9.26/tests/Makefile +199 -0
  63. data/ext/tcc/tcc-0.9.26/tests/asmtest.S +609 -0
  64. data/ext/tcc/tcc-0.9.26/tests/boundtest.c +233 -0
  65. data/ext/tcc/tcc-0.9.26/tests/gcctestsuite.sh +33 -0
  66. data/ext/tcc/tcc-0.9.26/tests/libtcc_test.c +76 -0
  67. data/ext/tcc/tcc-0.9.26/tests/tcctest.c +2713 -0
  68. data/ext/tcc/tcc-0.9.26/tests/tests2/00_assignment.c +18 -0
  69. data/ext/tcc/tcc-0.9.26/tests/tests2/00_assignment.expect +3 -0
  70. data/ext/tcc/tcc-0.9.26/tests/tests2/01_comment.c +14 -0
  71. data/ext/tcc/tcc-0.9.26/tests/tests2/01_comment.expect +5 -0
  72. data/ext/tcc/tcc-0.9.26/tests/tests2/02_printf.c +18 -0
  73. data/ext/tcc/tcc-0.9.26/tests/tests2/02_printf.expect +15 -0
  74. data/ext/tcc/tcc-0.9.26/tests/tests2/03_struct.c +31 -0
  75. data/ext/tcc/tcc-0.9.26/tests/tests2/03_struct.expect +6 -0
  76. data/ext/tcc/tcc-0.9.26/tests/tests2/04_for.c +15 -0
  77. data/ext/tcc/tcc-0.9.26/tests/tests2/04_for.expect +10 -0
  78. data/ext/tcc/tcc-0.9.26/tests/tests2/05_array.c +21 -0
  79. data/ext/tcc/tcc-0.9.26/tests/tests2/05_array.expect +10 -0
  80. data/ext/tcc/tcc-0.9.26/tests/tests2/06_case.c +29 -0
  81. data/ext/tcc/tcc-0.9.26/tests/tests2/06_case.expect +8 -0
  82. data/ext/tcc/tcc-0.9.26/tests/tests2/07_function.c +30 -0
  83. data/ext/tcc/tcc-0.9.26/tests/tests2/07_function.expect +4 -0
  84. data/ext/tcc/tcc-0.9.26/tests/tests2/08_while.c +24 -0
  85. data/ext/tcc/tcc-0.9.26/tests/tests2/08_while.expect +11 -0
  86. data/ext/tcc/tcc-0.9.26/tests/tests2/09_do_while.c +24 -0
  87. data/ext/tcc/tcc-0.9.26/tests/tests2/09_do_while.expect +11 -0
  88. data/ext/tcc/tcc-0.9.26/tests/tests2/10_pointer.c +40 -0
  89. data/ext/tcc/tcc-0.9.26/tests/tests2/10_pointer.expect +8 -0
  90. data/ext/tcc/tcc-0.9.26/tests/tests2/11_precedence.c +40 -0
  91. data/ext/tcc/tcc-0.9.26/tests/tests2/11_precedence.expect +15 -0
  92. data/ext/tcc/tcc-0.9.26/tests/tests2/12_hashdefine.c +14 -0
  93. data/ext/tcc/tcc-0.9.26/tests/tests2/12_hashdefine.expect +2 -0
  94. data/ext/tcc/tcc-0.9.26/tests/tests2/13_integer_literals.c +20 -0
  95. data/ext/tcc/tcc-0.9.26/tests/tests2/13_integer_literals.expect +5 -0
  96. data/ext/tcc/tcc-0.9.26/tests/tests2/14_if.c +21 -0
  97. data/ext/tcc/tcc-0.9.26/tests/tests2/14_if.expect +2 -0
  98. data/ext/tcc/tcc-0.9.26/tests/tests2/15_recursion.c +21 -0
  99. data/ext/tcc/tcc-0.9.26/tests/tests2/15_recursion.expect +10 -0
  100. data/ext/tcc/tcc-0.9.26/tests/tests2/16_nesting.c +21 -0
  101. data/ext/tcc/tcc-0.9.26/tests/tests2/16_nesting.expect +18 -0
  102. data/ext/tcc/tcc-0.9.26/tests/tests2/17_enum.c +29 -0
  103. data/ext/tcc/tcc-0.9.26/tests/tests2/17_enum.expect +3 -0
  104. data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.c +12 -0
  105. data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.expect +3 -0
  106. data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.h +1 -0
  107. data/ext/tcc/tcc-0.9.26/tests/tests2/19_pointer_arithmetic.c +28 -0
  108. data/ext/tcc/tcc-0.9.26/tests/tests2/19_pointer_arithmetic.expect +3 -0
  109. data/ext/tcc/tcc-0.9.26/tests/tests2/20_pointer_comparison.c +24 -0
  110. data/ext/tcc/tcc-0.9.26/tests/tests2/20_pointer_comparison.expect +6 -0
  111. data/ext/tcc/tcc-0.9.26/tests/tests2/21_char_array.c +33 -0
  112. data/ext/tcc/tcc-0.9.26/tests/tests2/21_char_array.expect +7 -0
  113. data/ext/tcc/tcc-0.9.26/tests/tests2/22_floating_point.c +50 -0
  114. data/ext/tcc/tcc-0.9.26/tests/tests2/22_floating_point.expect +16 -0
  115. data/ext/tcc/tcc-0.9.26/tests/tests2/23_type_coercion.c +54 -0
  116. data/ext/tcc/tcc-0.9.26/tests/tests2/23_type_coercion.expect +12 -0
  117. data/ext/tcc/tcc-0.9.26/tests/tests2/24_math_library.c +28 -0
  118. data/ext/tcc/tcc-0.9.26/tests/tests2/24_math_library.expect +18 -0
  119. data/ext/tcc/tcc-0.9.26/tests/tests2/25_quicksort.c +83 -0
  120. data/ext/tcc/tcc-0.9.26/tests/tests2/25_quicksort.expect +2 -0
  121. data/ext/tcc/tcc-0.9.26/tests/tests2/26_character_constants.c +17 -0
  122. data/ext/tcc/tcc-0.9.26/tests/tests2/26_character_constants.expect +8 -0
  123. data/ext/tcc/tcc-0.9.26/tests/tests2/27_sizeof.c +16 -0
  124. data/ext/tcc/tcc-0.9.26/tests/tests2/27_sizeof.expect +3 -0
  125. data/ext/tcc/tcc-0.9.26/tests/tests2/28_strings.c +46 -0
  126. data/ext/tcc/tcc-0.9.26/tests/tests2/28_strings.expect +19 -0
  127. data/ext/tcc/tcc-0.9.26/tests/tests2/29_array_address.c +13 -0
  128. data/ext/tcc/tcc-0.9.26/tests/tests2/29_array_address.expect +1 -0
  129. data/ext/tcc/tcc-0.9.26/tests/tests2/30_hanoi.c +122 -0
  130. data/ext/tcc/tcc-0.9.26/tests/tests2/30_hanoi.expect +71 -0
  131. data/ext/tcc/tcc-0.9.26/tests/tests2/31_args.c +14 -0
  132. data/ext/tcc/tcc-0.9.26/tests/tests2/31_args.expect +7 -0
  133. data/ext/tcc/tcc-0.9.26/tests/tests2/32_led.c +266 -0
  134. data/ext/tcc/tcc-0.9.26/tests/tests2/32_led.expect +4 -0
  135. data/ext/tcc/tcc-0.9.26/tests/tests2/33_ternary_op.c +15 -0
  136. data/ext/tcc/tcc-0.9.26/tests/tests2/33_ternary_op.expect +10 -0
  137. data/ext/tcc/tcc-0.9.26/tests/tests2/34_array_assignment.c +23 -0
  138. data/ext/tcc/tcc-0.9.26/tests/tests2/34_array_assignment.expect +2 -0
  139. data/ext/tcc/tcc-0.9.26/tests/tests2/35_sizeof.c +14 -0
  140. data/ext/tcc/tcc-0.9.26/tests/tests2/35_sizeof.expect +2 -0
  141. data/ext/tcc/tcc-0.9.26/tests/tests2/36_array_initialisers.c +21 -0
  142. data/ext/tcc/tcc-0.9.26/tests/tests2/36_array_initialisers.expect +20 -0
  143. data/ext/tcc/tcc-0.9.26/tests/tests2/37_sprintf.c +17 -0
  144. data/ext/tcc/tcc-0.9.26/tests/tests2/37_sprintf.expect +20 -0
  145. data/ext/tcc/tcc-0.9.26/tests/tests2/38_multiple_array_index.c +32 -0
  146. data/ext/tcc/tcc-0.9.26/tests/tests2/38_multiple_array_index.expect +4 -0
  147. data/ext/tcc/tcc-0.9.26/tests/tests2/39_typedef.c +31 -0
  148. data/ext/tcc/tcc-0.9.26/tests/tests2/39_typedef.expect +3 -0
  149. data/ext/tcc/tcc-0.9.26/tests/tests2/40_stdio.c +52 -0
  150. data/ext/tcc/tcc-0.9.26/tests/tests2/40_stdio.expect +27 -0
  151. data/ext/tcc/tcc-0.9.26/tests/tests2/41_hashif.c +85 -0
  152. data/ext/tcc/tcc-0.9.26/tests/tests2/41_hashif.expect +6 -0
  153. data/ext/tcc/tcc-0.9.26/tests/tests2/42_function_pointer.c +18 -0
  154. data/ext/tcc/tcc-0.9.26/tests/tests2/42_function_pointer.expect +2 -0
  155. data/ext/tcc/tcc-0.9.26/tests/tests2/43_void_param.c +15 -0
  156. data/ext/tcc/tcc-0.9.26/tests/tests2/43_void_param.expect +1 -0
  157. data/ext/tcc/tcc-0.9.26/tests/tests2/44_scoped_declarations.c +17 -0
  158. data/ext/tcc/tcc-0.9.26/tests/tests2/44_scoped_declarations.expect +1 -0
  159. data/ext/tcc/tcc-0.9.26/tests/tests2/45_empty_for.c +18 -0
  160. data/ext/tcc/tcc-0.9.26/tests/tests2/45_empty_for.expect +10 -0
  161. data/ext/tcc/tcc-0.9.26/tests/tests2/46_grep.c +564 -0
  162. data/ext/tcc/tcc-0.9.26/tests/tests2/47_switch_return.c +24 -0
  163. data/ext/tcc/tcc-0.9.26/tests/tests2/47_switch_return.expect +4 -0
  164. data/ext/tcc/tcc-0.9.26/tests/tests2/48_nested_break.c +26 -0
  165. data/ext/tcc/tcc-0.9.26/tests/tests2/48_nested_break.expect +1 -0
  166. data/ext/tcc/tcc-0.9.26/tests/tests2/49_bracket_evaluation.c +23 -0
  167. data/ext/tcc/tcc-0.9.26/tests/tests2/49_bracket_evaluation.expect +1 -0
  168. data/ext/tcc/tcc-0.9.26/tests/tests2/50_logical_second_arg.c +29 -0
  169. data/ext/tcc/tcc-0.9.26/tests/tests2/50_logical_second_arg.expect +20 -0
  170. data/ext/tcc/tcc-0.9.26/tests/tests2/51_static.c +30 -0
  171. data/ext/tcc/tcc-0.9.26/tests/tests2/51_static.expect +8 -0
  172. data/ext/tcc/tcc-0.9.26/tests/tests2/52_unnamed_enum.c +27 -0
  173. data/ext/tcc/tcc-0.9.26/tests/tests2/52_unnamed_enum.expect +9 -0
  174. data/ext/tcc/tcc-0.9.26/tests/tests2/54_goto.c +56 -0
  175. data/ext/tcc/tcc-0.9.26/tests/tests2/54_goto.expect +8 -0
  176. data/ext/tcc/tcc-0.9.26/tests/tests2/55_lshift_type.c +52 -0
  177. data/ext/tcc/tcc-0.9.26/tests/tests2/55_lshift_type.expect +1 -0
  178. data/ext/tcc/tcc-0.9.26/tests/tests2/LICENSE +37 -0
  179. data/ext/tcc/tcc-0.9.26/tests/tests2/Makefile +98 -0
  180. data/ext/tcc/tcc-0.9.26/texi2pod.pl +427 -0
  181. data/ext/tcc/tcc-0.9.26/win32/build-tcc.bat +60 -0
  182. data/ext/tcc/tcc-0.9.26/win32/examples/dll.c +12 -0
  183. data/ext/tcc/tcc-0.9.26/win32/examples/fib.c +23 -0
  184. data/ext/tcc/tcc-0.9.26/win32/examples/hello_dll.c +19 -0
  185. data/ext/tcc/tcc-0.9.26/win32/examples/hello_win.c +163 -0
  186. data/ext/tcc/tcc-0.9.26/win32/include/_mingw.h +139 -0
  187. data/ext/tcc/tcc-0.9.26/win32/include/assert.h +54 -0
  188. data/ext/tcc/tcc-0.9.26/win32/include/conio.h +409 -0
  189. data/ext/tcc/tcc-0.9.26/win32/include/ctype.h +281 -0
  190. data/ext/tcc/tcc-0.9.26/win32/include/dir.h +31 -0
  191. data/ext/tcc/tcc-0.9.26/win32/include/direct.h +68 -0
  192. data/ext/tcc/tcc-0.9.26/win32/include/dirent.h +135 -0
  193. data/ext/tcc/tcc-0.9.26/win32/include/dos.h +55 -0
  194. data/ext/tcc/tcc-0.9.26/win32/include/errno.h +75 -0
  195. data/ext/tcc/tcc-0.9.26/win32/include/excpt.h +123 -0
  196. data/ext/tcc/tcc-0.9.26/win32/include/fcntl.h +52 -0
  197. data/ext/tcc/tcc-0.9.26/win32/include/fenv.h +108 -0
  198. data/ext/tcc/tcc-0.9.26/win32/include/inttypes.h +297 -0
  199. data/ext/tcc/tcc-0.9.26/win32/include/io.h +418 -0
  200. data/ext/tcc/tcc-0.9.26/win32/include/limits.h +111 -0
  201. data/ext/tcc/tcc-0.9.26/win32/include/locale.h +91 -0
  202. data/ext/tcc/tcc-0.9.26/win32/include/malloc.h +175 -0
  203. data/ext/tcc/tcc-0.9.26/win32/include/math.h +777 -0
  204. data/ext/tcc/tcc-0.9.26/win32/include/mem.h +13 -0
  205. data/ext/tcc/tcc-0.9.26/win32/include/memory.h +40 -0
  206. data/ext/tcc/tcc-0.9.26/win32/include/process.h +176 -0
  207. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/conio_s.h +42 -0
  208. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/crtdbg_s.h +19 -0
  209. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/io_s.h +33 -0
  210. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/mbstring_s.h +52 -0
  211. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/search_s.h +25 -0
  212. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stdio_s.h +145 -0
  213. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stdlib_s.h +67 -0
  214. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stralign_s.h +30 -0
  215. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/string_s.h +41 -0
  216. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/sys/timeb_s.h +34 -0
  217. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/tchar_s.h +266 -0
  218. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/time_s.h +61 -0
  219. data/ext/tcc/tcc-0.9.26/win32/include/sec_api/wchar_s.h +128 -0
  220. data/ext/tcc/tcc-0.9.26/win32/include/setjmp.h +160 -0
  221. data/ext/tcc/tcc-0.9.26/win32/include/share.h +28 -0
  222. data/ext/tcc/tcc-0.9.26/win32/include/signal.h +63 -0
  223. data/ext/tcc/tcc-0.9.26/win32/include/stdint.h +209 -0
  224. data/ext/tcc/tcc-0.9.26/win32/include/stdio.h +429 -0
  225. data/ext/tcc/tcc-0.9.26/win32/include/stdlib.h +580 -0
  226. data/ext/tcc/tcc-0.9.26/win32/include/string.h +164 -0
  227. data/ext/tcc/tcc-0.9.26/win32/include/sys/fcntl.h +13 -0
  228. data/ext/tcc/tcc-0.9.26/win32/include/sys/file.h +14 -0
  229. data/ext/tcc/tcc-0.9.26/win32/include/sys/locking.h +30 -0
  230. data/ext/tcc/tcc-0.9.26/win32/include/sys/stat.h +290 -0
  231. data/ext/tcc/tcc-0.9.26/win32/include/sys/time.h +69 -0
  232. data/ext/tcc/tcc-0.9.26/win32/include/sys/timeb.h +133 -0
  233. data/ext/tcc/tcc-0.9.26/win32/include/sys/types.h +118 -0
  234. data/ext/tcc/tcc-0.9.26/win32/include/sys/unistd.h +14 -0
  235. data/ext/tcc/tcc-0.9.26/win32/include/sys/utime.h +146 -0
  236. data/ext/tcc/tcc-0.9.26/win32/include/tchar.h +1102 -0
  237. data/ext/tcc/tcc-0.9.26/win32/include/time.h +287 -0
  238. data/ext/tcc/tcc-0.9.26/win32/include/vadefs.h +11 -0
  239. data/ext/tcc/tcc-0.9.26/win32/include/values.h +4 -0
  240. data/ext/tcc/tcc-0.9.26/win32/include/wchar.h +871 -0
  241. data/ext/tcc/tcc-0.9.26/win32/include/wctype.h +172 -0
  242. data/ext/tcc/tcc-0.9.26/win32/include/winapi/basetsd.h +149 -0
  243. data/ext/tcc/tcc-0.9.26/win32/include/winapi/basetyps.h +85 -0
  244. data/ext/tcc/tcc-0.9.26/win32/include/winapi/guiddef.h +151 -0
  245. data/ext/tcc/tcc-0.9.26/win32/include/winapi/intrin.h +11 -0
  246. data/ext/tcc/tcc-0.9.26/win32/include/winapi/poppack.h +8 -0
  247. data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack1.h +8 -0
  248. data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack2.h +8 -0
  249. data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack4.h +8 -0
  250. data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack8.h +8 -0
  251. data/ext/tcc/tcc-0.9.26/win32/include/winapi/reason.h +80 -0
  252. data/ext/tcc/tcc-0.9.26/win32/include/winapi/specstrings.h +7 -0
  253. data/ext/tcc/tcc-0.9.26/win32/include/winapi/stralign.h +154 -0
  254. data/ext/tcc/tcc-0.9.26/win32/include/winapi/tvout.h +79 -0
  255. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winbase.h +2951 -0
  256. data/ext/tcc/tcc-0.9.26/win32/include/winapi/wincon.h +301 -0
  257. data/ext/tcc/tcc-0.9.26/win32/include/winapi/windef.h +293 -0
  258. data/ext/tcc/tcc-0.9.26/win32/include/winapi/windows.h +123 -0
  259. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winerror.h +3166 -0
  260. data/ext/tcc/tcc-0.9.26/win32/include/winapi/wingdi.h +4080 -0
  261. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnetwk.h +476 -0
  262. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnls.h +765 -0
  263. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnt.h +5770 -0
  264. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winreg.h +272 -0
  265. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winuser.h +5651 -0
  266. data/ext/tcc/tcc-0.9.26/win32/include/winapi/winver.h +160 -0
  267. data/ext/tcc/tcc-0.9.26/win32/lib/chkstk.S +191 -0
  268. data/ext/tcc/tcc-0.9.26/win32/lib/crt1.c +34 -0
  269. data/ext/tcc/tcc-0.9.26/win32/lib/dllcrt1.c +13 -0
  270. data/ext/tcc/tcc-0.9.26/win32/lib/dllmain.c +9 -0
  271. data/ext/tcc/tcc-0.9.26/win32/lib/gdi32.def +337 -0
  272. data/ext/tcc/tcc-0.9.26/win32/lib/kernel32.def +765 -0
  273. data/ext/tcc/tcc-0.9.26/win32/lib/msvcrt.def +1399 -0
  274. data/ext/tcc/tcc-0.9.26/win32/lib/user32.def +654 -0
  275. data/ext/tcc/tcc-0.9.26/win32/lib/wincrt1.c +64 -0
  276. data/ext/tcc/tcc-0.9.26/win32/tcc-win32.txt +156 -0
  277. data/ext/tcc/tcc-0.9.26/win32/tools/tiny_impdef.c +243 -0
  278. data/ext/tcc/tcc-0.9.26/win32/tools/tiny_libmaker.c +258 -0
  279. data/ext/tcc/tcc-0.9.26/x86_64-asm.h +448 -0
  280. data/ext/tcc/tcc-0.9.26/x86_64-gen.c +1701 -0
  281. data/lib/tcc.rb +291 -0
  282. data/tcc.gemspec +15 -0
  283. metadata +343 -0
@@ -0,0 +1,476 @@
1
+ /**
2
+ * This file has no copyright assigned and is placed in the Public Domain.
3
+ * This file is part of the w64 mingw-runtime package.
4
+ * No warranty is given; refer to the file DISCLAIMER within this package.
5
+ */
6
+ #ifndef _WINNETWK_
7
+ #define _WINNETWK_
8
+
9
+ #ifdef __cplusplus
10
+ extern "C" {
11
+ #endif
12
+
13
+ #define WNNC_NET_MSNET 0x00010000
14
+ #define WNNC_NET_LANMAN 0x00020000
15
+ #define WNNC_NET_NETWARE 0x00030000
16
+ #define WNNC_NET_VINES 0x00040000
17
+ #define WNNC_NET_10NET 0x00050000
18
+ #define WNNC_NET_LOCUS 0x00060000
19
+ #define WNNC_NET_SUN_PC_NFS 0x00070000
20
+ #define WNNC_NET_LANSTEP 0x00080000
21
+ #define WNNC_NET_9TILES 0x00090000
22
+ #define WNNC_NET_LANTASTIC 0x000A0000
23
+ #define WNNC_NET_AS400 0x000B0000
24
+ #define WNNC_NET_FTP_NFS 0x000C0000
25
+ #define WNNC_NET_PATHWORKS 0x000D0000
26
+ #define WNNC_NET_LIFENET 0x000E0000
27
+ #define WNNC_NET_POWERLAN 0x000F0000
28
+ #define WNNC_NET_BWNFS 0x00100000
29
+ #define WNNC_NET_COGENT 0x00110000
30
+ #define WNNC_NET_FARALLON 0x00120000
31
+ #define WNNC_NET_APPLETALK 0x00130000
32
+ #define WNNC_NET_INTERGRAPH 0x00140000
33
+ #define WNNC_NET_SYMFONET 0x00150000
34
+ #define WNNC_NET_CLEARCASE 0x00160000
35
+ #define WNNC_NET_FRONTIER 0x00170000
36
+ #define WNNC_NET_BMC 0x00180000
37
+ #define WNNC_NET_DCE 0x00190000
38
+ #define WNNC_NET_AVID 0x001A0000
39
+ #define WNNC_NET_DOCUSPACE 0x001B0000
40
+ #define WNNC_NET_MANGOSOFT 0x001C0000
41
+ #define WNNC_NET_SERNET 0x001D0000
42
+ #define WNNC_NET_RIVERFRONT1 0X001E0000
43
+ #define WNNC_NET_RIVERFRONT2 0x001F0000
44
+ #define WNNC_NET_DECORB 0x00200000
45
+ #define WNNC_NET_PROTSTOR 0x00210000
46
+ #define WNNC_NET_FJ_REDIR 0x00220000
47
+ #define WNNC_NET_DISTINCT 0x00230000
48
+ #define WNNC_NET_TWINS 0x00240000
49
+ #define WNNC_NET_RDR2SAMPLE 0x00250000
50
+ #define WNNC_NET_CSC 0x00260000
51
+ #define WNNC_NET_3IN1 0x00270000
52
+ #define WNNC_NET_EXTENDNET 0x00290000
53
+ #define WNNC_NET_STAC 0x002A0000
54
+ #define WNNC_NET_FOXBAT 0x002B0000
55
+ #define WNNC_NET_YAHOO 0x002C0000
56
+ #define WNNC_NET_EXIFS 0x002D0000
57
+ #define WNNC_NET_DAV 0x002E0000
58
+ #define WNNC_NET_KNOWARE 0x002F0000
59
+ #define WNNC_NET_OBJECT_DIRE 0x00300000
60
+ #define WNNC_NET_MASFAX 0x00310000
61
+ #define WNNC_NET_HOB_NFS 0x00320000
62
+ #define WNNC_NET_SHIVA 0x00330000
63
+ #define WNNC_NET_IBMAL 0x00340000
64
+ #define WNNC_NET_LOCK 0x00350000
65
+ #define WNNC_NET_TERMSRV 0x00360000
66
+ #define WNNC_NET_SRT 0x00370000
67
+ #define WNNC_NET_QUINCY 0x00380000
68
+
69
+ #define WNNC_CRED_MANAGER 0xFFFF0000
70
+
71
+ #define RESOURCE_CONNECTED 0x00000001
72
+ #define RESOURCE_GLOBALNET 0x00000002
73
+ #define RESOURCE_REMEMBERED 0x00000003
74
+ #define RESOURCE_RECENT 0x00000004
75
+ #define RESOURCE_CONTEXT 0x00000005
76
+
77
+ #define RESOURCETYPE_ANY 0x00000000
78
+ #define RESOURCETYPE_DISK 0x00000001
79
+ #define RESOURCETYPE_PRINT 0x00000002
80
+ #define RESOURCETYPE_RESERVED 0x00000008
81
+ #define RESOURCETYPE_UNKNOWN 0xFFFFFFFF
82
+
83
+ #define RESOURCEUSAGE_CONNECTABLE 0x00000001
84
+ #define RESOURCEUSAGE_CONTAINER 0x00000002
85
+ #define RESOURCEUSAGE_NOLOCALDEVICE 0x00000004
86
+ #define RESOURCEUSAGE_SIBLING 0x00000008
87
+ #define RESOURCEUSAGE_ATTACHED 0x00000010
88
+ #define RESOURCEUSAGE_ALL (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED)
89
+ #define RESOURCEUSAGE_RESERVED 0x80000000
90
+
91
+ #define RESOURCEDISPLAYTYPE_GENERIC 0x00000000
92
+ #define RESOURCEDISPLAYTYPE_DOMAIN 0x00000001
93
+ #define RESOURCEDISPLAYTYPE_SERVER 0x00000002
94
+ #define RESOURCEDISPLAYTYPE_SHARE 0x00000003
95
+ #define RESOURCEDISPLAYTYPE_FILE 0x00000004
96
+ #define RESOURCEDISPLAYTYPE_GROUP 0x00000005
97
+ #define RESOURCEDISPLAYTYPE_NETWORK 0x00000006
98
+ #define RESOURCEDISPLAYTYPE_ROOT 0x00000007
99
+ #define RESOURCEDISPLAYTYPE_SHAREADMIN 0x00000008
100
+ #define RESOURCEDISPLAYTYPE_DIRECTORY 0x00000009
101
+ #define RESOURCEDISPLAYTYPE_TREE 0x0000000A
102
+ #define RESOURCEDISPLAYTYPE_NDSCONTAINER 0x0000000B
103
+
104
+ typedef struct _NETRESOURCEA {
105
+ DWORD dwScope;
106
+ DWORD dwType;
107
+ DWORD dwDisplayType;
108
+ DWORD dwUsage;
109
+ LPSTR lpLocalName;
110
+ LPSTR lpRemoteName;
111
+ LPSTR lpComment;
112
+ LPSTR lpProvider;
113
+ }NETRESOURCEA,*LPNETRESOURCEA;
114
+ typedef struct _NETRESOURCEW {
115
+ DWORD dwScope;
116
+ DWORD dwType;
117
+ DWORD dwDisplayType;
118
+ DWORD dwUsage;
119
+ LPWSTR lpLocalName;
120
+ LPWSTR lpRemoteName;
121
+ LPWSTR lpComment;
122
+ LPWSTR lpProvider;
123
+ }NETRESOURCEW,*LPNETRESOURCEW;
124
+ #ifdef UNICODE
125
+ typedef NETRESOURCEW NETRESOURCE;
126
+ typedef LPNETRESOURCEW LPNETRESOURCE;
127
+ #else
128
+ typedef NETRESOURCEA NETRESOURCE;
129
+ typedef LPNETRESOURCEA LPNETRESOURCE;
130
+ #endif
131
+
132
+ #define NETPROPERTY_PERSISTENT 1
133
+
134
+ #define CONNECT_UPDATE_PROFILE 0x00000001
135
+ #define CONNECT_UPDATE_RECENT 0x00000002
136
+ #define CONNECT_TEMPORARY 0x00000004
137
+ #define CONNECT_INTERACTIVE 0x00000008
138
+ #define CONNECT_PROMPT 0x00000010
139
+ #define CONNECT_NEED_DRIVE 0x00000020
140
+ #define CONNECT_REFCOUNT 0x00000040
141
+ #define CONNECT_REDIRECT 0x00000080
142
+ #define CONNECT_LOCALDRIVE 0x00000100
143
+ #define CONNECT_CURRENT_MEDIA 0x00000200
144
+ #define CONNECT_DEFERRED 0x00000400
145
+ #define CONNECT_RESERVED 0xFF000000
146
+ #define CONNECT_COMMANDLINE 0x00000800
147
+ #define CONNECT_CMD_SAVECRED 0x00001000
148
+
149
+ #ifdef UNICODE
150
+ #define WNetAddConnection WNetAddConnectionW
151
+ #define WNetAddConnection2 WNetAddConnection2W
152
+ #define WNetAddConnection3 WNetAddConnection3W
153
+ #define WNetCancelConnection WNetCancelConnectionW
154
+ #define WNetCancelConnection2 WNetCancelConnection2W
155
+ #define WNetGetConnection WNetGetConnectionW
156
+ #define WNetRestoreConnection WNetRestoreConnectionW
157
+ #define WNetUseConnection WNetUseConnectionW
158
+ #else
159
+ #define WNetAddConnection WNetAddConnectionA
160
+ #define WNetAddConnection2 WNetAddConnection2A
161
+ #define WNetAddConnection3 WNetAddConnection3A
162
+ #define WNetCancelConnection WNetCancelConnectionA
163
+ #define WNetCancelConnection2 WNetCancelConnection2A
164
+ #define WNetGetConnection WNetGetConnectionA
165
+ #define WNetRestoreConnection WNetRestoreConnectionA
166
+ #define WNetUseConnection WNetUseConnectionA
167
+ #endif
168
+
169
+ DWORD WINAPI WNetAddConnectionA(LPCSTR lpRemoteName,LPCSTR lpPassword,LPCSTR lpLocalName);
170
+ DWORD WINAPI WNetAddConnectionW(LPCWSTR lpRemoteName,LPCWSTR lpPassword,LPCWSTR lpLocalName);
171
+ DWORD WINAPI WNetAddConnection2A(LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserName,DWORD dwFlags);
172
+ DWORD WINAPI WNetAddConnection2W(LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserName,DWORD dwFlags);
173
+ DWORD WINAPI WNetAddConnection3A(HWND hwndOwner,LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserName,DWORD dwFlags);
174
+ DWORD WINAPI WNetAddConnection3W(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserName,DWORD dwFlags);
175
+ DWORD WINAPI WNetCancelConnectionA(LPCSTR lpName,WINBOOL fForce);
176
+ DWORD WINAPI WNetCancelConnectionW(LPCWSTR lpName,WINBOOL fForce);
177
+ DWORD WINAPI WNetCancelConnection2A(LPCSTR lpName,DWORD dwFlags,WINBOOL fForce);
178
+ DWORD WINAPI WNetCancelConnection2W(LPCWSTR lpName,DWORD dwFlags,WINBOOL fForce);
179
+ DWORD WINAPI WNetGetConnectionA(LPCSTR lpLocalName,LPSTR lpRemoteName,LPDWORD lpnLength);
180
+ DWORD WINAPI WNetGetConnectionW(LPCWSTR lpLocalName,LPWSTR lpRemoteName,LPDWORD lpnLength);
181
+ DWORD WINAPI WNetRestoreConnectionA(HWND hwndParent,LPCSTR lpDevice);
182
+ DWORD WINAPI WNetRestoreConnectionW(HWND hwndParent,LPCWSTR lpDevice);
183
+ DWORD WINAPI WNetUseConnectionA(HWND hwndOwner,LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserID,DWORD dwFlags,LPSTR lpAccessName,LPDWORD lpBufferSize,LPDWORD lpResult);
184
+ DWORD WINAPI WNetUseConnectionW(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserID,DWORD dwFlags,LPWSTR lpAccessName,LPDWORD lpBufferSize,LPDWORD lpResult);
185
+ DWORD WINAPI WNetConnectionDialog(HWND hwnd,DWORD dwType);
186
+ DWORD WINAPI WNetDisconnectDialog(HWND hwnd,DWORD dwType);
187
+
188
+ typedef struct _CONNECTDLGSTRUCTA {
189
+ DWORD cbStructure;
190
+ HWND hwndOwner;
191
+ LPNETRESOURCEA lpConnRes;
192
+ DWORD dwFlags;
193
+ DWORD dwDevNum;
194
+ } CONNECTDLGSTRUCTA,*LPCONNECTDLGSTRUCTA;
195
+
196
+ typedef struct _CONNECTDLGSTRUCTW {
197
+ DWORD cbStructure;
198
+ HWND hwndOwner;
199
+ LPNETRESOURCEW lpConnRes;
200
+ DWORD dwFlags;
201
+ DWORD dwDevNum;
202
+ } CONNECTDLGSTRUCTW,*LPCONNECTDLGSTRUCTW;
203
+ #ifdef UNICODE
204
+ typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT;
205
+ typedef LPCONNECTDLGSTRUCTW LPCONNECTDLGSTRUCT;
206
+ #else
207
+ typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT;
208
+ typedef LPCONNECTDLGSTRUCTA LPCONNECTDLGSTRUCT;
209
+ #endif
210
+
211
+ #define CONNDLG_RO_PATH 0x00000001
212
+ #define CONNDLG_CONN_POINT 0x00000002
213
+ #define CONNDLG_USE_MRU 0x00000004
214
+ #define CONNDLG_HIDE_BOX 0x00000008
215
+
216
+ #define CONNDLG_PERSIST 0x00000010
217
+ #define CONNDLG_NOT_PERSIST 0x00000020
218
+
219
+ #ifdef UNICODE
220
+ #define WNetConnectionDialog1 WNetConnectionDialog1W
221
+ #else
222
+ #define WNetConnectionDialog1 WNetConnectionDialog1A
223
+ #endif
224
+
225
+ DWORD WINAPI WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA lpConnDlgStruct);
226
+ DWORD WINAPI WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW lpConnDlgStruct);
227
+
228
+ typedef struct _DISCDLGSTRUCTA {
229
+ DWORD cbStructure;
230
+ HWND hwndOwner;
231
+ LPSTR lpLocalName;
232
+ LPSTR lpRemoteName;
233
+ DWORD dwFlags;
234
+ } DISCDLGSTRUCTA,*LPDISCDLGSTRUCTA;
235
+
236
+ typedef struct _DISCDLGSTRUCTW {
237
+ DWORD cbStructure;
238
+ HWND hwndOwner;
239
+ LPWSTR lpLocalName;
240
+ LPWSTR lpRemoteName;
241
+ DWORD dwFlags;
242
+ } DISCDLGSTRUCTW,*LPDISCDLGSTRUCTW;
243
+
244
+ #ifdef UNICODE
245
+ typedef DISCDLGSTRUCTW DISCDLGSTRUCT;
246
+ typedef LPDISCDLGSTRUCTW LPDISCDLGSTRUCT;
247
+ #else
248
+ typedef DISCDLGSTRUCTA DISCDLGSTRUCT;
249
+ typedef LPDISCDLGSTRUCTA LPDISCDLGSTRUCT;
250
+ #endif
251
+
252
+ #define DISC_UPDATE_PROFILE 0x00000001
253
+ #define DISC_NO_FORCE 0x00000040
254
+
255
+ #ifdef UNICODE
256
+ #define WNetDisconnectDialog1 WNetDisconnectDialog1W
257
+ #define WNetOpenEnum WNetOpenEnumW
258
+ #define WNetEnumResource WNetEnumResourceW
259
+ #define WNetGetResourceParent WNetGetResourceParentW
260
+ #define WNetGetResourceInformation WNetGetResourceInformationW
261
+ #else
262
+ #define WNetDisconnectDialog1 WNetDisconnectDialog1A
263
+ #define WNetOpenEnum WNetOpenEnumA
264
+ #define WNetEnumResource WNetEnumResourceA
265
+ #define WNetGetResourceParent WNetGetResourceParentA
266
+ #define WNetGetResourceInformation WNetGetResourceInformationA
267
+ #endif
268
+
269
+ DWORD WINAPI WNetDisconnectDialog1A(LPDISCDLGSTRUCTA lpConnDlgStruct);
270
+ DWORD WINAPI WNetDisconnectDialog1W(LPDISCDLGSTRUCTW lpConnDlgStruct);
271
+ DWORD WINAPI WNetOpenEnumA(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEA lpNetResource,LPHANDLE lphEnum);
272
+ DWORD WINAPI WNetOpenEnumW(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEW lpNetResource,LPHANDLE lphEnum);
273
+ DWORD WINAPI WNetEnumResourceA(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize);
274
+ DWORD WINAPI WNetEnumResourceW(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize);
275
+ DWORD WINAPI WNetCloseEnum(HANDLE hEnum);
276
+ DWORD WINAPI WNetGetResourceParentA(LPNETRESOURCEA lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer);
277
+ DWORD WINAPI WNetGetResourceParentW(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer);
278
+ DWORD WINAPI WNetGetResourceInformationA(LPNETRESOURCEA lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer,LPSTR *lplpSystem);
279
+ DWORD WINAPI WNetGetResourceInformationW(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer,LPWSTR *lplpSystem);
280
+
281
+ #define UNIVERSAL_NAME_INFO_LEVEL 0x00000001
282
+ #define REMOTE_NAME_INFO_LEVEL 0x00000002
283
+
284
+ typedef struct _UNIVERSAL_NAME_INFOA {
285
+ LPSTR lpUniversalName;
286
+ } UNIVERSAL_NAME_INFOA,*LPUNIVERSAL_NAME_INFOA;
287
+
288
+ typedef struct _UNIVERSAL_NAME_INFOW {
289
+ LPWSTR lpUniversalName;
290
+ } UNIVERSAL_NAME_INFOW,*LPUNIVERSAL_NAME_INFOW;
291
+
292
+ #ifdef UNICODE
293
+ typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO;
294
+ typedef LPUNIVERSAL_NAME_INFOW LPUNIVERSAL_NAME_INFO;
295
+ #else
296
+ typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO;
297
+ typedef LPUNIVERSAL_NAME_INFOA LPUNIVERSAL_NAME_INFO;
298
+ #endif
299
+
300
+ typedef struct _REMOTE_NAME_INFOA {
301
+ LPSTR lpUniversalName;
302
+ LPSTR lpConnectionName;
303
+ LPSTR lpRemainingPath;
304
+ } REMOTE_NAME_INFOA,*LPREMOTE_NAME_INFOA;
305
+
306
+ typedef struct _REMOTE_NAME_INFOW {
307
+ LPWSTR lpUniversalName;
308
+ LPWSTR lpConnectionName;
309
+ LPWSTR lpRemainingPath;
310
+ } REMOTE_NAME_INFOW,*LPREMOTE_NAME_INFOW;
311
+
312
+ #ifdef UNICODE
313
+ typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO;
314
+ typedef LPREMOTE_NAME_INFOW LPREMOTE_NAME_INFO;
315
+ #else
316
+ typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO;
317
+ typedef LPREMOTE_NAME_INFOA LPREMOTE_NAME_INFO;
318
+ #endif
319
+
320
+ #ifdef UNICODE
321
+ #define WNetGetUniversalName WNetGetUniversalNameW
322
+ #define WNetGetUser WNetGetUserW
323
+ #define WNetGetProviderName WNetGetProviderNameW
324
+ #else
325
+ #define WNetGetUniversalName WNetGetUniversalNameA
326
+ #define WNetGetUser WNetGetUserA
327
+ #define WNetGetProviderName WNetGetProviderNameA
328
+ #endif
329
+
330
+ DWORD WINAPI WNetGetUniversalNameA(LPCSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
331
+ DWORD WINAPI WNetGetUniversalNameW(LPCWSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
332
+ DWORD WINAPI WNetGetUserA(LPCSTR lpName,LPSTR lpUserName,LPDWORD lpnLength);
333
+ DWORD WINAPI WNetGetUserW(LPCWSTR lpName,LPWSTR lpUserName,LPDWORD lpnLength);
334
+
335
+ #define WNFMT_MULTILINE 0x01
336
+ #define WNFMT_ABBREVIATED 0x02
337
+ #define WNFMT_INENUM 0x10
338
+ #define WNFMT_CONNECTION 0x20
339
+
340
+ DWORD WINAPI WNetGetProviderNameA(DWORD dwNetType,LPSTR lpProviderName,LPDWORD lpBufferSize);
341
+ DWORD WINAPI WNetGetProviderNameW(DWORD dwNetType,LPWSTR lpProviderName,LPDWORD lpBufferSize);
342
+
343
+ typedef struct _NETINFOSTRUCT {
344
+ DWORD cbStructure;
345
+ DWORD dwProviderVersion;
346
+ DWORD dwStatus;
347
+ DWORD dwCharacteristics;
348
+ ULONG_PTR dwHandle;
349
+ WORD wNetType;
350
+ DWORD dwPrinters;
351
+ DWORD dwDrives;
352
+ } NETINFOSTRUCT,*LPNETINFOSTRUCT;
353
+
354
+ #define NETINFO_DLL16 0x00000001
355
+ #define NETINFO_DISKRED 0x00000004
356
+ #define NETINFO_PRINTERRED 0x00000008
357
+
358
+ #ifdef UNICODE
359
+ #define WNetGetNetworkInformation WNetGetNetworkInformationW
360
+ #else
361
+ #define WNetGetNetworkInformation WNetGetNetworkInformationA
362
+ #endif
363
+
364
+ DWORD WINAPI WNetGetNetworkInformationA(LPCSTR lpProvider,LPNETINFOSTRUCT lpNetInfoStruct);
365
+ DWORD WINAPI WNetGetNetworkInformationW(LPCWSTR lpProvider,LPNETINFOSTRUCT lpNetInfoStruct);
366
+
367
+ typedef UINT (WINAPI *PFNGETPROFILEPATHA) (LPCSTR pszUsername,LPSTR pszBuffer,UINT cbBuffer);
368
+ typedef UINT (WINAPI *PFNGETPROFILEPATHW) (LPCWSTR pszUsername,LPWSTR pszBuffer,UINT cbBuffer);
369
+
370
+ #ifdef UNICODE
371
+ #define PFNGETPROFILEPATH PFNGETPROFILEPATHW
372
+ #else
373
+ #define PFNGETPROFILEPATH PFNGETPROFILEPATHA
374
+ #endif
375
+
376
+ typedef UINT (WINAPI *PFNRECONCILEPROFILEA) (LPCSTR pszCentralFile,LPCSTR pszLocalFile,DWORD dwFlags);
377
+ typedef UINT (WINAPI *PFNRECONCILEPROFILEW) (LPCWSTR pszCentralFile,LPCWSTR pszLocalFile,DWORD dwFlags);
378
+
379
+ #ifdef UNICODE
380
+ #define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW
381
+ #else
382
+ #define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA
383
+ #endif
384
+
385
+ #define RP_LOGON 0x01
386
+ #define RP_INIFILE 0x02
387
+
388
+ typedef WINBOOL (WINAPI *PFNPROCESSPOLICIESA) (HWND hwnd,LPCSTR pszPath,LPCSTR pszUsername,LPCSTR pszComputerName,DWORD dwFlags);
389
+ typedef WINBOOL (WINAPI *PFNPROCESSPOLICIESW) (HWND hwnd,LPCWSTR pszPath,LPCWSTR pszUsername,LPCWSTR pszComputerName,DWORD dwFlags);
390
+
391
+ #ifdef UNICODE
392
+ #define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW
393
+ #else
394
+ #define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA
395
+ #endif
396
+
397
+ #define PP_DISPLAYERRORS 0x01
398
+
399
+ #ifdef UNICODE
400
+ #define WNetGetLastError WNetGetLastErrorW
401
+ #else
402
+ #define WNetGetLastError WNetGetLastErrorA
403
+ #endif
404
+
405
+ DWORD WINAPI WNetGetLastErrorA(LPDWORD lpError,LPSTR lpErrorBuf,DWORD nErrorBufSize,LPSTR lpNameBuf,DWORD nNameBufSize);
406
+ DWORD WINAPI WNetGetLastErrorW(LPDWORD lpError,LPWSTR lpErrorBuf,DWORD nErrorBufSize,LPWSTR lpNameBuf,DWORD nNameBufSize);
407
+
408
+ #define WN_SUCCESS NO_ERROR
409
+ #define WN_NO_ERROR NO_ERROR
410
+ #define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED
411
+ #define WN_CANCEL ERROR_CANCELLED
412
+ #define WN_RETRY ERROR_RETRY
413
+ #define WN_NET_ERROR ERROR_UNEXP_NET_ERR
414
+ #define WN_MORE_DATA ERROR_MORE_DATA
415
+ #define WN_BAD_POINTER ERROR_INVALID_ADDRESS
416
+ #define WN_BAD_VALUE ERROR_INVALID_PARAMETER
417
+ #define WN_BAD_USER ERROR_BAD_USERNAME
418
+ #define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD
419
+ #define WN_ACCESS_DENIED ERROR_ACCESS_DENIED
420
+ #define WN_FUNCTION_BUSY ERROR_BUSY
421
+ #define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR
422
+ #define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY
423
+ #define WN_NO_NETWORK ERROR_NO_NETWORK
424
+ #define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR
425
+ #define WN_BAD_LEVEL ERROR_INVALID_LEVEL
426
+ #define WN_BAD_HANDLE ERROR_INVALID_HANDLE
427
+ #define WN_NOT_INITIALIZING ERROR_ALREADY_INITIALIZED
428
+ #define WN_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES
429
+ #define WN_NOT_CONNECTED ERROR_NOT_CONNECTED
430
+ #define WN_OPEN_FILES ERROR_OPEN_FILES
431
+ #define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE
432
+ #define WN_BAD_NETNAME ERROR_BAD_NET_NAME
433
+ #define WN_BAD_LOCALNAME ERROR_BAD_DEVICE
434
+ #define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED
435
+ #define WN_DEVICE_ERROR ERROR_GEN_FAILURE
436
+ #define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL
437
+ #define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH
438
+ #define WN_BAD_PROVIDER ERROR_BAD_PROVIDER
439
+ #define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE
440
+ #define WN_BAD_PROFILE ERROR_BAD_PROFILE
441
+ #define WN_BAD_DEV_TYPE ERROR_BAD_DEV_TYPE
442
+ #define WN_DEVICE_ALREADY_REMEMBERED ERROR_DEVICE_ALREADY_REMEMBERED
443
+ #define WN_CONNECTED_OTHER_PASSWORD ERROR_CONNECTED_OTHER_PASSWORD
444
+ #define WN_CONNECTED_OTHER_PASSWORD_DEFAULT ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT
445
+ #define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS
446
+ #define WN_NOT_CONTAINER ERROR_NOT_CONTAINER
447
+ #define WN_NOT_AUTHENTICATED ERROR_NOT_AUTHENTICATED
448
+ #define WN_NOT_LOGGED_ON ERROR_NOT_LOGGED_ON
449
+ #define WN_NOT_VALIDATED ERROR_NO_LOGON_SERVERS
450
+
451
+ typedef struct _NETCONNECTINFOSTRUCT {
452
+ DWORD cbStructure;
453
+ DWORD dwFlags;
454
+ DWORD dwSpeed;
455
+ DWORD dwDelay;
456
+ DWORD dwOptDataSize;
457
+ } NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
458
+
459
+ #define WNCON_FORNETCARD 0x00000001
460
+ #define WNCON_NOTROUTED 0x00000002
461
+ #define WNCON_SLOWLINK 0x00000004
462
+ #define WNCON_DYNAMIC 0x00000008
463
+
464
+ #ifdef UNICODE
465
+ #define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceW
466
+ #else
467
+ #define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA
468
+ #endif
469
+
470
+ DWORD WINAPI MultinetGetConnectionPerformanceA(LPNETRESOURCEA lpNetResource,LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);
471
+ DWORD WINAPI MultinetGetConnectionPerformanceW(LPNETRESOURCEW lpNetResource,LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);
472
+
473
+ #ifdef __cplusplus
474
+ }
475
+ #endif
476
+ #endif