@img/sharp-libvips-dev 0.0.1

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 (656) hide show
  1. package/README.md +47 -0
  2. package/cplusplus/VConnection.cpp +151 -0
  3. package/cplusplus/VError.cpp +49 -0
  4. package/cplusplus/VImage.cpp +1548 -0
  5. package/cplusplus/VInterpolate.cpp +62 -0
  6. package/cplusplus/VRegion.cpp +27 -0
  7. package/cplusplus/index.js +1 -0
  8. package/cplusplus/vips-operators.cpp +3760 -0
  9. package/include/aom/aom.h +127 -0
  10. package/include/aom/aom_codec.h +573 -0
  11. package/include/aom/aom_decoder.h +257 -0
  12. package/include/aom/aom_encoder.h +1137 -0
  13. package/include/aom/aom_external_partition.h +452 -0
  14. package/include/aom/aom_frame_buffer.h +84 -0
  15. package/include/aom/aom_image.h +448 -0
  16. package/include/aom/aom_integer.h +68 -0
  17. package/include/aom/aomcx.h +2112 -0
  18. package/include/aom/aomdx.h +604 -0
  19. package/include/archive.h +1212 -0
  20. package/include/archive_entry.h +723 -0
  21. package/include/cairo/cairo-deprecated.h +123 -0
  22. package/include/cairo/cairo-features.h +29 -0
  23. package/include/cairo/cairo-ft.h +118 -0
  24. package/include/cairo/cairo-gobject.h +192 -0
  25. package/include/cairo/cairo-svg.h +130 -0
  26. package/include/cairo/cairo-version.h +8 -0
  27. package/include/cairo/cairo.h +3281 -0
  28. package/include/cgif.h +80 -0
  29. package/include/expat.h +1064 -0
  30. package/include/expat_config.h +140 -0
  31. package/include/expat_external.h +165 -0
  32. package/include/ffi.h +531 -0
  33. package/include/ffitarget.h +164 -0
  34. package/include/fontconfig/fcfreetype.h +59 -0
  35. package/include/fontconfig/fcprivate.h +134 -0
  36. package/include/fontconfig/fontconfig.h +1158 -0
  37. package/include/freetype2/freetype/config/ftconfig.h +51 -0
  38. package/include/freetype2/freetype/config/ftheader.h +836 -0
  39. package/include/freetype2/freetype/config/ftmodule.h +21 -0
  40. package/include/freetype2/freetype/config/ftoption.h +1014 -0
  41. package/include/freetype2/freetype/config/ftstdlib.h +185 -0
  42. package/include/freetype2/freetype/config/integer-types.h +250 -0
  43. package/include/freetype2/freetype/config/mac-support.h +49 -0
  44. package/include/freetype2/freetype/config/public-macros.h +138 -0
  45. package/include/freetype2/freetype/freetype.h +5337 -0
  46. package/include/freetype2/freetype/ftadvanc.h +188 -0
  47. package/include/freetype2/freetype/ftbbox.h +101 -0
  48. package/include/freetype2/freetype/ftbdf.h +212 -0
  49. package/include/freetype2/freetype/ftbitmap.h +329 -0
  50. package/include/freetype2/freetype/ftbzip2.h +102 -0
  51. package/include/freetype2/freetype/ftcache.h +1087 -0
  52. package/include/freetype2/freetype/ftchapters.h +168 -0
  53. package/include/freetype2/freetype/ftcid.h +167 -0
  54. package/include/freetype2/freetype/ftcolor.h +1667 -0
  55. package/include/freetype2/freetype/ftdriver.h +1246 -0
  56. package/include/freetype2/freetype/fterrdef.h +283 -0
  57. package/include/freetype2/freetype/fterrors.h +296 -0
  58. package/include/freetype2/freetype/ftfntfmt.h +93 -0
  59. package/include/freetype2/freetype/ftgasp.h +143 -0
  60. package/include/freetype2/freetype/ftglyph.h +750 -0
  61. package/include/freetype2/freetype/ftgxval.h +354 -0
  62. package/include/freetype2/freetype/ftgzip.h +151 -0
  63. package/include/freetype2/freetype/ftimage.h +1284 -0
  64. package/include/freetype2/freetype/ftincrem.h +348 -0
  65. package/include/freetype2/freetype/ftlcdfil.h +323 -0
  66. package/include/freetype2/freetype/ftlist.h +296 -0
  67. package/include/freetype2/freetype/ftlzw.h +100 -0
  68. package/include/freetype2/freetype/ftmac.h +289 -0
  69. package/include/freetype2/freetype/ftmm.h +805 -0
  70. package/include/freetype2/freetype/ftmodapi.h +807 -0
  71. package/include/freetype2/freetype/ftmoderr.h +204 -0
  72. package/include/freetype2/freetype/ftotval.h +206 -0
  73. package/include/freetype2/freetype/ftoutln.h +588 -0
  74. package/include/freetype2/freetype/ftparams.h +218 -0
  75. package/include/freetype2/freetype/ftpfr.h +179 -0
  76. package/include/freetype2/freetype/ftrender.h +244 -0
  77. package/include/freetype2/freetype/ftsizes.h +159 -0
  78. package/include/freetype2/freetype/ftsnames.h +272 -0
  79. package/include/freetype2/freetype/ftstroke.h +773 -0
  80. package/include/freetype2/freetype/ftsynth.h +104 -0
  81. package/include/freetype2/freetype/ftsystem.h +350 -0
  82. package/include/freetype2/freetype/fttrigon.h +350 -0
  83. package/include/freetype2/freetype/fttypes.h +617 -0
  84. package/include/freetype2/freetype/ftwinfnt.h +276 -0
  85. package/include/freetype2/freetype/otsvg.h +336 -0
  86. package/include/freetype2/freetype/t1tables.h +793 -0
  87. package/include/freetype2/freetype/ttnameid.h +1235 -0
  88. package/include/freetype2/freetype/tttables.h +855 -0
  89. package/include/freetype2/freetype/tttags.h +124 -0
  90. package/include/freetype2/ft2build.h +42 -0
  91. package/include/fribidi/fribidi-arabic.h +81 -0
  92. package/include/fribidi/fribidi-begindecls.h +3 -0
  93. package/include/fribidi/fribidi-bidi-types-list.h +96 -0
  94. package/include/fribidi/fribidi-bidi-types.h +405 -0
  95. package/include/fribidi/fribidi-bidi.h +142 -0
  96. package/include/fribidi/fribidi-brackets.h +89 -0
  97. package/include/fribidi/fribidi-char-sets-list.h +54 -0
  98. package/include/fribidi/fribidi-char-sets.h +106 -0
  99. package/include/fribidi/fribidi-common.h +152 -0
  100. package/include/fribidi/fribidi-config.h +23 -0
  101. package/include/fribidi/fribidi-deprecated.h +175 -0
  102. package/include/fribidi/fribidi-enddecls.h +3 -0
  103. package/include/fribidi/fribidi-flags.h +72 -0
  104. package/include/fribidi/fribidi-joining-types-list.h +44 -0
  105. package/include/fribidi/fribidi-joining-types.h +249 -0
  106. package/include/fribidi/fribidi-joining.h +74 -0
  107. package/include/fribidi/fribidi-mirroring.h +86 -0
  108. package/include/fribidi/fribidi-shape.h +71 -0
  109. package/include/fribidi/fribidi-types.h +79 -0
  110. package/include/fribidi/fribidi-unicode-version.h +10 -0
  111. package/include/fribidi/fribidi-unicode.h +105 -0
  112. package/include/fribidi/fribidi.h +129 -0
  113. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +221 -0
  114. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +37 -0
  115. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +525 -0
  116. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +40 -0
  117. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +115 -0
  118. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +481 -0
  119. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +113 -0
  120. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +718 -0
  121. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +33 -0
  122. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +70 -0
  123. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +168 -0
  124. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +46 -0
  125. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +165 -0
  126. package/include/gio-unix-2.0/gio/gdesktopappinfo.h +200 -0
  127. package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +67 -0
  128. package/include/gio-unix-2.0/gio/gunixfdmessage.h +86 -0
  129. package/include/gio-unix-2.0/gio/gunixinputstream.h +85 -0
  130. package/include/gio-unix-2.0/gio/gunixmounts.h +172 -0
  131. package/include/gio-unix-2.0/gio/gunixoutputstream.h +84 -0
  132. package/include/glib-2.0/gio/gaction.h +100 -0
  133. package/include/glib-2.0/gio/gactiongroup.h +163 -0
  134. package/include/glib-2.0/gio/gactiongroupexporter.h +47 -0
  135. package/include/glib-2.0/gio/gactionmap.h +101 -0
  136. package/include/glib-2.0/gio/gappinfo.h +369 -0
  137. package/include/glib-2.0/gio/gapplication.h +257 -0
  138. package/include/glib-2.0/gio/gapplicationcommandline.h +124 -0
  139. package/include/glib-2.0/gio/gasyncinitable.h +132 -0
  140. package/include/glib-2.0/gio/gasyncresult.h +87 -0
  141. package/include/glib-2.0/gio/gbufferedinputstream.h +135 -0
  142. package/include/glib-2.0/gio/gbufferedoutputstream.h +88 -0
  143. package/include/glib-2.0/gio/gbytesicon.h +54 -0
  144. package/include/glib-2.0/gio/gcancellable.h +120 -0
  145. package/include/glib-2.0/gio/gcharsetconverter.h +65 -0
  146. package/include/glib-2.0/gio/gcontenttype.h +84 -0
  147. package/include/glib-2.0/gio/gconverter.h +98 -0
  148. package/include/glib-2.0/gio/gconverterinputstream.h +82 -0
  149. package/include/glib-2.0/gio/gconverteroutputstream.h +82 -0
  150. package/include/glib-2.0/gio/gcredentials.h +87 -0
  151. package/include/glib-2.0/gio/gdatagrambased.h +146 -0
  152. package/include/glib-2.0/gio/gdatainputstream.h +182 -0
  153. package/include/glib-2.0/gio/gdataoutputstream.h +127 -0
  154. package/include/glib-2.0/gio/gdbusactiongroup.h +56 -0
  155. package/include/glib-2.0/gio/gdbusaddress.h +67 -0
  156. package/include/glib-2.0/gio/gdbusauthobserver.h +53 -0
  157. package/include/glib-2.0/gio/gdbusconnection.h +691 -0
  158. package/include/glib-2.0/gio/gdbuserror.h +111 -0
  159. package/include/glib-2.0/gio/gdbusinterface.h +83 -0
  160. package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +129 -0
  161. package/include/glib-2.0/gio/gdbusintrospection.h +327 -0
  162. package/include/glib-2.0/gio/gdbusmenumodel.h +47 -0
  163. package/include/glib-2.0/gio/gdbusmessage.h +204 -0
  164. package/include/glib-2.0/gio/gdbusmethodinvocation.h +136 -0
  165. package/include/glib-2.0/gio/gdbusnameowning.h +117 -0
  166. package/include/glib-2.0/gio/gdbusnamewatching.h +104 -0
  167. package/include/glib-2.0/gio/gdbusobject.h +80 -0
  168. package/include/glib-2.0/gio/gdbusobjectmanager.h +96 -0
  169. package/include/glib-2.0/gio/gdbusobjectmanagerclient.h +148 -0
  170. package/include/glib-2.0/gio/gdbusobjectmanagerserver.h +95 -0
  171. package/include/glib-2.0/gio/gdbusobjectproxy.h +81 -0
  172. package/include/glib-2.0/gio/gdbusobjectskeleton.h +98 -0
  173. package/include/glib-2.0/gio/gdbusproxy.h +220 -0
  174. package/include/glib-2.0/gio/gdbusserver.h +62 -0
  175. package/include/glib-2.0/gio/gdbusutils.h +65 -0
  176. package/include/glib-2.0/gio/gdebugcontroller.h +81 -0
  177. package/include/glib-2.0/gio/gdebugcontrollerdbus.h +71 -0
  178. package/include/glib-2.0/gio/gdrive.h +274 -0
  179. package/include/glib-2.0/gio/gdtlsclientconnection.h +77 -0
  180. package/include/glib-2.0/gio/gdtlsconnection.h +230 -0
  181. package/include/glib-2.0/gio/gdtlsserverconnection.h +71 -0
  182. package/include/glib-2.0/gio/gemblem.h +63 -0
  183. package/include/glib-2.0/gio/gemblemedicon.h +83 -0
  184. package/include/glib-2.0/gio/gfile.h +1359 -0
  185. package/include/glib-2.0/gio/gfileattribute.h +86 -0
  186. package/include/glib-2.0/gio/gfileenumerator.h +154 -0
  187. package/include/glib-2.0/gio/gfileicon.h +59 -0
  188. package/include/glib-2.0/gio/gfileinfo.h +1546 -0
  189. package/include/glib-2.0/gio/gfileinputstream.h +116 -0
  190. package/include/glib-2.0/gio/gfileiostream.h +123 -0
  191. package/include/glib-2.0/gio/gfilemonitor.h +100 -0
  192. package/include/glib-2.0/gio/gfilenamecompleter.h +81 -0
  193. package/include/glib-2.0/gio/gfileoutputstream.h +124 -0
  194. package/include/glib-2.0/gio/gfilterinputstream.h +80 -0
  195. package/include/glib-2.0/gio/gfilteroutputstream.h +80 -0
  196. package/include/glib-2.0/gio/gicon.h +133 -0
  197. package/include/glib-2.0/gio/ginetaddress.h +125 -0
  198. package/include/glib-2.0/gio/ginetaddressmask.h +86 -0
  199. package/include/glib-2.0/gio/ginetsocketaddress.h +80 -0
  200. package/include/glib-2.0/gio/ginitable.h +107 -0
  201. package/include/glib-2.0/gio/ginputstream.h +218 -0
  202. package/include/glib-2.0/gio/gio-autocleanups.h +155 -0
  203. package/include/glib-2.0/gio/gio-visibility.h +952 -0
  204. package/include/glib-2.0/gio/gio.h +186 -0
  205. package/include/glib-2.0/gio/gioenums.h +2149 -0
  206. package/include/glib-2.0/gio/gioenumtypes.h +207 -0
  207. package/include/glib-2.0/gio/gioerror.h +58 -0
  208. package/include/glib-2.0/gio/giomodule.h +199 -0
  209. package/include/glib-2.0/gio/gioscheduler.h +56 -0
  210. package/include/glib-2.0/gio/giostream.h +137 -0
  211. package/include/glib-2.0/gio/giotypes.h +660 -0
  212. package/include/glib-2.0/gio/glistmodel.h +74 -0
  213. package/include/glib-2.0/gio/gliststore.h +97 -0
  214. package/include/glib-2.0/gio/gloadableicon.h +101 -0
  215. package/include/glib-2.0/gio/gmemoryinputstream.h +92 -0
  216. package/include/glib-2.0/gio/gmemorymonitor.h +64 -0
  217. package/include/glib-2.0/gio/gmemoryoutputstream.h +109 -0
  218. package/include/glib-2.0/gio/gmenu.h +184 -0
  219. package/include/glib-2.0/gio/gmenuexporter.h +55 -0
  220. package/include/glib-2.0/gio/gmenumodel.h +307 -0
  221. package/include/glib-2.0/gio/gmount.h +278 -0
  222. package/include/glib-2.0/gio/gmountoperation.h +179 -0
  223. package/include/glib-2.0/gio/gnativesocketaddress.h +67 -0
  224. package/include/glib-2.0/gio/gnativevolumemonitor.h +63 -0
  225. package/include/glib-2.0/gio/gnetworkaddress.h +82 -0
  226. package/include/glib-2.0/gio/gnetworking.h +81 -0
  227. package/include/glib-2.0/gio/gnetworkmonitor.h +101 -0
  228. package/include/glib-2.0/gio/gnetworkservice.h +77 -0
  229. package/include/glib-2.0/gio/gnotification.h +103 -0
  230. package/include/glib-2.0/gio/goutputstream.h +334 -0
  231. package/include/glib-2.0/gio/gpermission.h +129 -0
  232. package/include/glib-2.0/gio/gpollableinputstream.h +106 -0
  233. package/include/glib-2.0/gio/gpollableoutputstream.h +127 -0
  234. package/include/glib-2.0/gio/gpollableutils.h +66 -0
  235. package/include/glib-2.0/gio/gpowerprofilemonitor.h +65 -0
  236. package/include/glib-2.0/gio/gpropertyaction.h +49 -0
  237. package/include/glib-2.0/gio/gproxy.h +130 -0
  238. package/include/glib-2.0/gio/gproxyaddress.h +88 -0
  239. package/include/glib-2.0/gio/gproxyaddressenumerator.h +83 -0
  240. package/include/glib-2.0/gio/gproxyresolver.h +97 -0
  241. package/include/glib-2.0/gio/gremoteactiongroup.h +77 -0
  242. package/include/glib-2.0/gio/gresolver.h +299 -0
  243. package/include/glib-2.0/gio/gresource.h +132 -0
  244. package/include/glib-2.0/gio/gseekable.h +105 -0
  245. package/include/glib-2.0/gio/gsettings.h +347 -0
  246. package/include/glib-2.0/gio/gsettingsbackend.h +176 -0
  247. package/include/glib-2.0/gio/gsettingsschema.h +115 -0
  248. package/include/glib-2.0/gio/gsimpleaction.h +65 -0
  249. package/include/glib-2.0/gio/gsimpleactiongroup.h +99 -0
  250. package/include/glib-2.0/gio/gsimpleasyncresult.h +164 -0
  251. package/include/glib-2.0/gio/gsimpleiostream.h +47 -0
  252. package/include/glib-2.0/gio/gsimplepermission.h +47 -0
  253. package/include/glib-2.0/gio/gsimpleproxyresolver.h +91 -0
  254. package/include/glib-2.0/gio/gsocket.h +330 -0
  255. package/include/glib-2.0/gio/gsocketaddress.h +84 -0
  256. package/include/glib-2.0/gio/gsocketaddressenumerator.h +103 -0
  257. package/include/glib-2.0/gio/gsocketclient.h +199 -0
  258. package/include/glib-2.0/gio/gsocketconnectable.h +83 -0
  259. package/include/glib-2.0/gio/gsocketconnection.h +117 -0
  260. package/include/glib-2.0/gio/gsocketcontrolmessage.h +113 -0
  261. package/include/glib-2.0/gio/gsocketlistener.h +157 -0
  262. package/include/glib-2.0/gio/gsocketservice.h +95 -0
  263. package/include/glib-2.0/gio/gsrvtarget.h +60 -0
  264. package/include/glib-2.0/gio/gsubprocess.h +169 -0
  265. package/include/glib-2.0/gio/gsubprocesslauncher.h +121 -0
  266. package/include/glib-2.0/gio/gtask.h +207 -0
  267. package/include/glib-2.0/gio/gtcpconnection.h +71 -0
  268. package/include/glib-2.0/gio/gtcpwrapperconnection.h +71 -0
  269. package/include/glib-2.0/gio/gtestdbus.h +74 -0
  270. package/include/glib-2.0/gio/gthemedicon.h +70 -0
  271. package/include/glib-2.0/gio/gthreadedsocketservice.h +83 -0
  272. package/include/glib-2.0/gio/gtlsbackend.h +115 -0
  273. package/include/glib-2.0/gio/gtlscertificate.h +125 -0
  274. package/include/glib-2.0/gio/gtlsclientconnection.h +88 -0
  275. package/include/glib-2.0/gio/gtlsconnection.h +214 -0
  276. package/include/glib-2.0/gio/gtlsdatabase.h +249 -0
  277. package/include/glib-2.0/gio/gtlsfiledatabase.h +60 -0
  278. package/include/glib-2.0/gio/gtlsinteraction.h +150 -0
  279. package/include/glib-2.0/gio/gtlspassword.h +121 -0
  280. package/include/glib-2.0/gio/gtlsserverconnection.h +71 -0
  281. package/include/glib-2.0/gio/gunixconnection.h +102 -0
  282. package/include/glib-2.0/gio/gunixcredentialsmessage.h +89 -0
  283. package/include/glib-2.0/gio/gunixfdlist.h +97 -0
  284. package/include/glib-2.0/gio/gunixsocketaddress.h +83 -0
  285. package/include/glib-2.0/gio/gvfs.h +170 -0
  286. package/include/glib-2.0/gio/gvolume.h +255 -0
  287. package/include/glib-2.0/gio/gvolumemonitor.h +156 -0
  288. package/include/glib-2.0/gio/gzlibcompressor.h +64 -0
  289. package/include/glib-2.0/gio/gzlibdecompressor.h +60 -0
  290. package/include/glib-2.0/glib/deprecated/gallocator.h +88 -0
  291. package/include/glib-2.0/glib/deprecated/gcache.h +77 -0
  292. package/include/glib-2.0/glib/deprecated/gcompletion.h +85 -0
  293. package/include/glib-2.0/glib/deprecated/gmain.h +137 -0
  294. package/include/glib-2.0/glib/deprecated/grel.h +107 -0
  295. package/include/glib-2.0/glib/deprecated/gthread.h +295 -0
  296. package/include/glib-2.0/glib/galloca.h +147 -0
  297. package/include/glib-2.0/glib/garray.h +323 -0
  298. package/include/glib-2.0/glib/gasyncqueue.h +126 -0
  299. package/include/glib-2.0/glib/gatomic.h +587 -0
  300. package/include/glib-2.0/glib/gbacktrace.h +74 -0
  301. package/include/glib-2.0/glib/gbase64.h +63 -0
  302. package/include/glib-2.0/glib/gbitlock.h +78 -0
  303. package/include/glib-2.0/glib/gbookmarkfile.h +300 -0
  304. package/include/glib-2.0/glib/gbytes.h +99 -0
  305. package/include/glib-2.0/glib/gcharset.h +49 -0
  306. package/include/glib-2.0/glib/gchecksum.h +106 -0
  307. package/include/glib-2.0/glib/gconvert.h +179 -0
  308. package/include/glib-2.0/glib/gdataset.h +156 -0
  309. package/include/glib-2.0/glib/gdate.h +309 -0
  310. package/include/glib-2.0/glib/gdatetime.h +275 -0
  311. package/include/glib-2.0/glib/gdir.h +54 -0
  312. package/include/glib-2.0/glib/genviron.h +65 -0
  313. package/include/glib-2.0/glib/gerror.h +263 -0
  314. package/include/glib-2.0/glib/gfileutils.h +223 -0
  315. package/include/glib-2.0/glib/ggettext.h +65 -0
  316. package/include/glib-2.0/glib/ghash.h +206 -0
  317. package/include/glib-2.0/glib/ghmac.h +85 -0
  318. package/include/glib-2.0/glib/ghook.h +204 -0
  319. package/include/glib-2.0/glib/ghostutils.h +45 -0
  320. package/include/glib-2.0/glib/gi18n-lib.h +38 -0
  321. package/include/glib-2.0/glib/gi18n.h +34 -0
  322. package/include/glib-2.0/glib/giochannel.h +407 -0
  323. package/include/glib-2.0/glib/gkeyfile.h +332 -0
  324. package/include/glib-2.0/glib/glib-autocleanups.h +105 -0
  325. package/include/glib-2.0/glib/glib-typeof.h +47 -0
  326. package/include/glib-2.0/glib/glib-visibility.h +952 -0
  327. package/include/glib-2.0/glib/glist.h +179 -0
  328. package/include/glib-2.0/glib/gmacros.h +1425 -0
  329. package/include/glib-2.0/glib/gmain.h +862 -0
  330. package/include/glib-2.0/glib/gmappedfile.h +60 -0
  331. package/include/glib-2.0/glib/gmarkup.h +265 -0
  332. package/include/glib-2.0/glib/gmem.h +425 -0
  333. package/include/glib-2.0/glib/gmessages.h +690 -0
  334. package/include/glib-2.0/glib/gnode.h +309 -0
  335. package/include/glib-2.0/glib/goption.h +409 -0
  336. package/include/glib-2.0/glib/gpathbuf.h +90 -0
  337. package/include/glib-2.0/glib/gpattern.h +65 -0
  338. package/include/glib-2.0/glib/gpoll.h +122 -0
  339. package/include/glib-2.0/glib/gprimes.h +52 -0
  340. package/include/glib-2.0/glib/gprintf.h +59 -0
  341. package/include/glib-2.0/glib/gqsort.h +47 -0
  342. package/include/glib-2.0/glib/gquark.h +70 -0
  343. package/include/glib-2.0/glib/gqueue.h +205 -0
  344. package/include/glib-2.0/glib/grand.h +101 -0
  345. package/include/glib-2.0/glib/grcbox.h +91 -0
  346. package/include/glib-2.0/glib/grefcount.h +179 -0
  347. package/include/glib-2.0/glib/grefstring.h +59 -0
  348. package/include/glib-2.0/glib/gscanner.h +301 -0
  349. package/include/glib-2.0/glib/gsequence.h +175 -0
  350. package/include/glib-2.0/glib/gshell.h +59 -0
  351. package/include/glib-2.0/glib/gslice.h +117 -0
  352. package/include/glib-2.0/glib/gslist.h +166 -0
  353. package/include/glib-2.0/glib/gspawn.h +323 -0
  354. package/include/glib-2.0/glib/gstdio.h +231 -0
  355. package/include/glib-2.0/glib/gstrfuncs.h +504 -0
  356. package/include/glib-2.0/glib/gstring.h +296 -0
  357. package/include/glib-2.0/glib/gstringchunk.h +59 -0
  358. package/include/glib-2.0/glib/gstrvbuilder.h +69 -0
  359. package/include/glib-2.0/glib/gtestutils.h +763 -0
  360. package/include/glib-2.0/glib/gthread.h +603 -0
  361. package/include/glib-2.0/glib/gthreadpool.h +105 -0
  362. package/include/glib-2.0/glib/gtimer.h +80 -0
  363. package/include/glib-2.0/glib/gtimezone.h +98 -0
  364. package/include/glib-2.0/glib/gtrashstack.h +60 -0
  365. package/include/glib-2.0/glib/gtree.h +181 -0
  366. package/include/glib-2.0/glib/gtypes.h +591 -0
  367. package/include/glib-2.0/glib/gunicode.h +974 -0
  368. package/include/glib-2.0/glib/guri.h +420 -0
  369. package/include/glib-2.0/glib/gutils.h +479 -0
  370. package/include/glib-2.0/glib/guuid.h +42 -0
  371. package/include/glib-2.0/glib/gvariant.h +541 -0
  372. package/include/glib-2.0/glib/gvarianttype.h +384 -0
  373. package/include/glib-2.0/glib/gversion.h +57 -0
  374. package/include/glib-2.0/glib/gversionmacros.h +490 -0
  375. package/include/glib-2.0/glib/gwin32.h +142 -0
  376. package/include/glib-2.0/glib-object.h +46 -0
  377. package/include/glib-2.0/glib-unix.h +125 -0
  378. package/include/glib-2.0/glib.h +121 -0
  379. package/include/glib-2.0/gmodule/gmodule-visibility.h +952 -0
  380. package/include/glib-2.0/gmodule.h +147 -0
  381. package/include/glib-2.0/gobject/gbinding.h +156 -0
  382. package/include/glib-2.0/gobject/gbindinggroup.h +85 -0
  383. package/include/glib-2.0/gobject/gboxed.h +124 -0
  384. package/include/glib-2.0/gobject/gclosure.h +323 -0
  385. package/include/glib-2.0/gobject/genums.h +381 -0
  386. package/include/glib-2.0/gobject/glib-enumtypes.h +25 -0
  387. package/include/glib-2.0/gobject/glib-types.h +400 -0
  388. package/include/glib-2.0/gobject/gmarshal.h +434 -0
  389. package/include/glib-2.0/gobject/gobject-autocleanups.h +33 -0
  390. package/include/glib-2.0/gobject/gobject-visibility.h +952 -0
  391. package/include/glib-2.0/gobject/gobject.h +953 -0
  392. package/include/glib-2.0/gobject/gobjectnotifyqueue.c +199 -0
  393. package/include/glib-2.0/gobject/gparam.h +476 -0
  394. package/include/glib-2.0/gobject/gparamspecs.h +1151 -0
  395. package/include/glib-2.0/gobject/gsignal.h +647 -0
  396. package/include/glib-2.0/gobject/gsignalgroup.h +98 -0
  397. package/include/glib-2.0/gobject/gsourceclosure.h +40 -0
  398. package/include/glib-2.0/gobject/gtype.h +2703 -0
  399. package/include/glib-2.0/gobject/gtypemodule.h +302 -0
  400. package/include/glib-2.0/gobject/gtypeplugin.h +136 -0
  401. package/include/glib-2.0/gobject/gvalue.h +212 -0
  402. package/include/glib-2.0/gobject/gvaluearray.h +106 -0
  403. package/include/glib-2.0/gobject/gvaluecollector.h +290 -0
  404. package/include/glib-2.0/gobject/gvaluetypes.h +318 -0
  405. package/include/harfbuzz/hb-aat-layout.h +795 -0
  406. package/include/harfbuzz/hb-aat.h +38 -0
  407. package/include/harfbuzz/hb-blob.h +160 -0
  408. package/include/harfbuzz/hb-buffer.h +799 -0
  409. package/include/harfbuzz/hb-common.h +938 -0
  410. package/include/harfbuzz/hb-cplusplus.hh +223 -0
  411. package/include/harfbuzz/hb-deprecated.h +309 -0
  412. package/include/harfbuzz/hb-draw.h +340 -0
  413. package/include/harfbuzz/hb-face.h +187 -0
  414. package/include/harfbuzz/hb-features.h +119 -0
  415. package/include/harfbuzz/hb-font.h +1153 -0
  416. package/include/harfbuzz/hb-ft.h +145 -0
  417. package/include/harfbuzz/hb-glib.h +56 -0
  418. package/include/harfbuzz/hb-map.h +143 -0
  419. package/include/harfbuzz/hb-ot-color.h +155 -0
  420. package/include/harfbuzz/hb-ot-deprecated.h +147 -0
  421. package/include/harfbuzz/hb-ot-font.h +45 -0
  422. package/include/harfbuzz/hb-ot-layout.h +549 -0
  423. package/include/harfbuzz/hb-ot-math.h +333 -0
  424. package/include/harfbuzz/hb-ot-meta.h +72 -0
  425. package/include/harfbuzz/hb-ot-metrics.h +129 -0
  426. package/include/harfbuzz/hb-ot-name.h +164 -0
  427. package/include/harfbuzz/hb-ot-shape.h +53 -0
  428. package/include/harfbuzz/hb-ot-var.h +191 -0
  429. package/include/harfbuzz/hb-ot.h +49 -0
  430. package/include/harfbuzz/hb-paint.h +1029 -0
  431. package/include/harfbuzz/hb-set.h +203 -0
  432. package/include/harfbuzz/hb-shape-plan.h +122 -0
  433. package/include/harfbuzz/hb-shape.h +74 -0
  434. package/include/harfbuzz/hb-style.h +81 -0
  435. package/include/harfbuzz/hb-subset-repacker.h +81 -0
  436. package/include/harfbuzz/hb-subset.h +241 -0
  437. package/include/harfbuzz/hb-unicode.h +643 -0
  438. package/include/harfbuzz/hb-version.h +95 -0
  439. package/include/harfbuzz/hb.h +51 -0
  440. package/include/index.js +1 -0
  441. package/include/jconfig.h +37 -0
  442. package/include/jerror.h +335 -0
  443. package/include/jmorecfg.h +382 -0
  444. package/include/jpeglib.h +1210 -0
  445. package/include/lcms2.h +1958 -0
  446. package/include/lcms2_plugin.h +700 -0
  447. package/include/libexif/_stdint.h +2 -0
  448. package/include/libexif/exif-byte-order.h +48 -0
  449. package/include/libexif/exif-content.h +181 -0
  450. package/include/libexif/exif-data-type.h +46 -0
  451. package/include/libexif/exif-data.h +267 -0
  452. package/include/libexif/exif-entry.h +186 -0
  453. package/include/libexif/exif-format.h +65 -0
  454. package/include/libexif/exif-ifd.h +51 -0
  455. package/include/libexif/exif-loader.h +128 -0
  456. package/include/libexif/exif-log.h +116 -0
  457. package/include/libexif/exif-mem.h +91 -0
  458. package/include/libexif/exif-mnote-data.h +122 -0
  459. package/include/libexif/exif-tag.h +307 -0
  460. package/include/libexif/exif-utils.h +194 -0
  461. package/include/libheif/heif.h +2092 -0
  462. package/include/libheif/heif_cxx.h +1359 -0
  463. package/include/libheif/heif_plugin.h +306 -0
  464. package/include/libheif/heif_version.h +38 -0
  465. package/include/libimagequant.h +111 -0
  466. package/include/libpng16/png.h +3247 -0
  467. package/include/libpng16/pngconf.h +623 -0
  468. package/include/libpng16/pnglibconf.h +219 -0
  469. package/include/librsvg-2.0/librsvg/rsvg-cairo.h +395 -0
  470. package/include/librsvg-2.0/librsvg/rsvg-features.h +184 -0
  471. package/include/librsvg-2.0/librsvg/rsvg-version.h +13 -0
  472. package/include/librsvg-2.0/librsvg/rsvg.h +1456 -0
  473. package/include/libxml2/libxml/HTMLparser.h +320 -0
  474. package/include/libxml2/libxml/HTMLtree.h +147 -0
  475. package/include/libxml2/libxml/SAX.h +204 -0
  476. package/include/libxml2/libxml/SAX2.h +173 -0
  477. package/include/libxml2/libxml/c14n.h +128 -0
  478. package/include/libxml2/libxml/catalog.h +182 -0
  479. package/include/libxml2/libxml/chvalid.h +230 -0
  480. package/include/libxml2/libxml/debugXML.h +217 -0
  481. package/include/libxml2/libxml/dict.h +81 -0
  482. package/include/libxml2/libxml/encoding.h +233 -0
  483. package/include/libxml2/libxml/entities.h +151 -0
  484. package/include/libxml2/libxml/globals.h +529 -0
  485. package/include/libxml2/libxml/hash.h +236 -0
  486. package/include/libxml2/libxml/list.h +137 -0
  487. package/include/libxml2/libxml/nanoftp.h +186 -0
  488. package/include/libxml2/libxml/nanohttp.h +81 -0
  489. package/include/libxml2/libxml/parser.h +1265 -0
  490. package/include/libxml2/libxml/parserInternals.h +662 -0
  491. package/include/libxml2/libxml/pattern.h +100 -0
  492. package/include/libxml2/libxml/relaxng.h +218 -0
  493. package/include/libxml2/libxml/schemasInternals.h +958 -0
  494. package/include/libxml2/libxml/schematron.h +142 -0
  495. package/include/libxml2/libxml/threads.h +94 -0
  496. package/include/libxml2/libxml/tree.h +1314 -0
  497. package/include/libxml2/libxml/uri.h +94 -0
  498. package/include/libxml2/libxml/valid.h +448 -0
  499. package/include/libxml2/libxml/xinclude.h +129 -0
  500. package/include/libxml2/libxml/xlink.h +189 -0
  501. package/include/libxml2/libxml/xmlIO.h +369 -0
  502. package/include/libxml2/libxml/xmlautomata.h +146 -0
  503. package/include/libxml2/libxml/xmlerror.h +919 -0
  504. package/include/libxml2/libxml/xmlexports.h +50 -0
  505. package/include/libxml2/libxml/xmlmemory.h +228 -0
  506. package/include/libxml2/libxml/xmlmodule.h +57 -0
  507. package/include/libxml2/libxml/xmlreader.h +428 -0
  508. package/include/libxml2/libxml/xmlregexp.h +222 -0
  509. package/include/libxml2/libxml/xmlsave.h +88 -0
  510. package/include/libxml2/libxml/xmlschemas.h +246 -0
  511. package/include/libxml2/libxml/xmlschemastypes.h +152 -0
  512. package/include/libxml2/libxml/xmlstring.h +140 -0
  513. package/include/libxml2/libxml/xmlunicode.h +202 -0
  514. package/include/libxml2/libxml/xmlversion.h +526 -0
  515. package/include/libxml2/libxml/xmlwriter.h +488 -0
  516. package/include/libxml2/libxml/xpath.h +575 -0
  517. package/include/libxml2/libxml/xpathInternals.h +632 -0
  518. package/include/libxml2/libxml/xpointer.h +137 -0
  519. package/include/orc-0.4/orc/orc-stdint.h +1 -0
  520. package/include/orc-0.4/orc/orc.h +16 -0
  521. package/include/orc-0.4/orc/orcarm.h +879 -0
  522. package/include/orc-0.4/orc/orcbytecode.h +35 -0
  523. package/include/orc-0.4/orc/orcbytecodes.h +255 -0
  524. package/include/orc-0.4/orc/orccode.h +53 -0
  525. package/include/orc-0.4/orc/orccompiler.h +176 -0
  526. package/include/orc-0.4/orc/orcconstant.h +39 -0
  527. package/include/orc-0.4/orc/orccpu.h +21 -0
  528. package/include/orc-0.4/orc/orccpuinsn.h +40 -0
  529. package/include/orc-0.4/orc/orcdebug.h +158 -0
  530. package/include/orc-0.4/orc/orcemulateopcodes.h +203 -0
  531. package/include/orc-0.4/orc/orcexecutor.h +135 -0
  532. package/include/orc-0.4/orc/orcfunctions.h +93 -0
  533. package/include/orc-0.4/orc/orcinstruction.h +39 -0
  534. package/include/orc-0.4/orc/orcinternal.h +46 -0
  535. package/include/orc-0.4/orc/orclimits.h +94 -0
  536. package/include/orc-0.4/orc/orcmips.h +229 -0
  537. package/include/orc-0.4/orc/orcmmx.h +79 -0
  538. package/include/orc-0.4/orc/orcneon.h +43 -0
  539. package/include/orc-0.4/orc/orconce.h +166 -0
  540. package/include/orc-0.4/orc/orcopcode.h +63 -0
  541. package/include/orc-0.4/orc/orcparse.h +27 -0
  542. package/include/orc-0.4/orc/orcpowerpc.h +209 -0
  543. package/include/orc-0.4/orc/orcprogram.h +192 -0
  544. package/include/orc-0.4/orc/orcrule.h +52 -0
  545. package/include/orc-0.4/orc/orcsse.h +55 -0
  546. package/include/orc-0.4/orc/orctarget.h +115 -0
  547. package/include/orc-0.4/orc/orcutils.h +238 -0
  548. package/include/orc-0.4/orc/orcvariable.h +81 -0
  549. package/include/orc-0.4/orc/orcx86.h +199 -0
  550. package/include/orc-0.4/orc/orcx86insn.h +672 -0
  551. package/include/pango-1.0/pango/pango-attributes.h +748 -0
  552. package/include/pango-1.0/pango/pango-bidi-type.h +117 -0
  553. package/include/pango-1.0/pango/pango-break.h +144 -0
  554. package/include/pango-1.0/pango/pango-color.h +75 -0
  555. package/include/pango-1.0/pango/pango-context.h +116 -0
  556. package/include/pango-1.0/pango/pango-coverage.h +108 -0
  557. package/include/pango-1.0/pango/pango-direction.h +72 -0
  558. package/include/pango-1.0/pango/pango-engine.h +457 -0
  559. package/include/pango-1.0/pango/pango-enum-types.h +120 -0
  560. package/include/pango-1.0/pango/pango-features.h +10 -0
  561. package/include/pango-1.0/pango/pango-font.h +699 -0
  562. package/include/pango-1.0/pango/pango-fontmap.h +132 -0
  563. package/include/pango-1.0/pango/pango-fontset-simple.h +64 -0
  564. package/include/pango-1.0/pango/pango-fontset.h +134 -0
  565. package/include/pango-1.0/pango/pango-glyph-item.h +175 -0
  566. package/include/pango-1.0/pango/pango-glyph.h +270 -0
  567. package/include/pango-1.0/pango/pango-gravity.h +137 -0
  568. package/include/pango-1.0/pango/pango-item.h +165 -0
  569. package/include/pango-1.0/pango/pango-language.h +70 -0
  570. package/include/pango-1.0/pango/pango-layout.h +554 -0
  571. package/include/pango-1.0/pango/pango-markup.h +52 -0
  572. package/include/pango-1.0/pango/pango-matrix.h +130 -0
  573. package/include/pango-1.0/pango/pango-modules.h +84 -0
  574. package/include/pango-1.0/pango/pango-ot.h +427 -0
  575. package/include/pango-1.0/pango/pango-renderer.h +290 -0
  576. package/include/pango-1.0/pango/pango-script.h +335 -0
  577. package/include/pango-1.0/pango/pango-tabs.h +117 -0
  578. package/include/pango-1.0/pango/pango-types.h +244 -0
  579. package/include/pango-1.0/pango/pango-utils.h +187 -0
  580. package/include/pango-1.0/pango/pango-version-macros.h +756 -0
  581. package/include/pango-1.0/pango/pango.h +54 -0
  582. package/include/pango-1.0/pango/pangocairo.h +220 -0
  583. package/include/pango-1.0/pango/pangofc-decoder.h +122 -0
  584. package/include/pango-1.0/pango/pangofc-font.h +120 -0
  585. package/include/pango-1.0/pango/pangofc-fontmap.h +244 -0
  586. package/include/pango-1.0/pango/pangoft2.h +158 -0
  587. package/include/pixman-1/pixman-version.h +54 -0
  588. package/include/pixman-1/pixman.h +1419 -0
  589. package/include/png.h +3247 -0
  590. package/include/pngconf.h +623 -0
  591. package/include/pnglibconf.h +219 -0
  592. package/include/spng.h +537 -0
  593. package/include/tiff.h +899 -0
  594. package/include/tiffconf.h +145 -0
  595. package/include/tiffio.h +653 -0
  596. package/include/tiffvers.h +36 -0
  597. package/include/vips/VConnection8.h +150 -0
  598. package/include/vips/VError8.h +76 -0
  599. package/include/vips/VImage8.h +6065 -0
  600. package/include/vips/VInterpolate8.h +77 -0
  601. package/include/vips/VRegion8.h +155 -0
  602. package/include/vips/arithmetic.h +571 -0
  603. package/include/vips/basic.h +113 -0
  604. package/include/vips/buf.h +118 -0
  605. package/include/vips/colour.h +306 -0
  606. package/include/vips/connection.h +570 -0
  607. package/include/vips/conversion.h +357 -0
  608. package/include/vips/convolution.h +95 -0
  609. package/include/vips/create.h +161 -0
  610. package/include/vips/dbuf.h +103 -0
  611. package/include/vips/debug.h +74 -0
  612. package/include/vips/draw.h +113 -0
  613. package/include/vips/enumtypes.h +181 -0
  614. package/include/vips/error.h +142 -0
  615. package/include/vips/foreign.h +993 -0
  616. package/include/vips/format.h +135 -0
  617. package/include/vips/freqfilt.h +64 -0
  618. package/include/vips/gate.h +82 -0
  619. package/include/vips/generate.h +92 -0
  620. package/include/vips/header.h +312 -0
  621. package/include/vips/histogram.h +85 -0
  622. package/include/vips/image.h +605 -0
  623. package/include/vips/interpolate.h +141 -0
  624. package/include/vips/memory.h +96 -0
  625. package/include/vips/morphology.h +73 -0
  626. package/include/vips/mosaicing.h +80 -0
  627. package/include/vips/object.h +706 -0
  628. package/include/vips/operation.h +182 -0
  629. package/include/vips/private.h +227 -0
  630. package/include/vips/rect.h +80 -0
  631. package/include/vips/region.h +238 -0
  632. package/include/vips/resample.h +123 -0
  633. package/include/vips/sbuf.h +144 -0
  634. package/include/vips/semaphore.h +77 -0
  635. package/include/vips/thread.h +72 -0
  636. package/include/vips/threadpool.h +160 -0
  637. package/include/vips/transform.h +89 -0
  638. package/include/vips/type.h +305 -0
  639. package/include/vips/util.h +406 -0
  640. package/include/vips/vector.h +183 -0
  641. package/include/vips/version.h +26 -0
  642. package/include/vips/vips.h +194 -0
  643. package/include/vips/vips8 +60 -0
  644. package/include/webp/decode.h +504 -0
  645. package/include/webp/demux.h +363 -0
  646. package/include/webp/encode.h +552 -0
  647. package/include/webp/mux.h +530 -0
  648. package/include/webp/mux_types.h +98 -0
  649. package/include/webp/sharpyuv/sharpyuv.h +103 -0
  650. package/include/webp/sharpyuv/sharpyuv_csp.h +60 -0
  651. package/include/webp/types.h +72 -0
  652. package/include/zconf.h +203 -0
  653. package/include/zlib.h +1855 -0
  654. package/include/zlib_name_mangling.h +8 -0
  655. package/package.json +30 -0
  656. package/versions.json +31 -0
@@ -0,0 +1,603 @@
1
+ /* GLIB - Library of useful routines for C programming
2
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3
+ *
4
+ * SPDX-License-Identifier: LGPL-2.1-or-later
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful, but
12
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+ /*
21
+ * Modified by the GLib Team and others 1997-2000. See the AUTHORS
22
+ * file for a list of people on the GLib Team. See the ChangeLog
23
+ * files for a list of changes. These files are distributed with
24
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
25
+ */
26
+
27
+ #ifndef __G_THREAD_H__
28
+ #define __G_THREAD_H__
29
+
30
+ #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
31
+ #error "Only <glib.h> can be included directly."
32
+ #endif
33
+
34
+ #include <glib/gatomic.h>
35
+ #include <glib/gerror.h>
36
+ #include <glib/gutils.h>
37
+
38
+ G_BEGIN_DECLS
39
+
40
+ #define G_THREAD_ERROR g_thread_error_quark ()
41
+ GLIB_AVAILABLE_IN_ALL
42
+ GQuark g_thread_error_quark (void);
43
+
44
+ typedef enum
45
+ {
46
+ G_THREAD_ERROR_AGAIN /* Resource temporarily unavailable */
47
+ } GThreadError;
48
+
49
+ typedef gpointer (*GThreadFunc) (gpointer data);
50
+
51
+ typedef struct _GThread GThread;
52
+
53
+ typedef union _GMutex GMutex;
54
+ typedef struct _GRecMutex GRecMutex;
55
+ typedef struct _GRWLock GRWLock;
56
+ typedef struct _GCond GCond;
57
+ typedef struct _GPrivate GPrivate;
58
+ typedef struct _GOnce GOnce;
59
+
60
+ union _GMutex
61
+ {
62
+ /*< private >*/
63
+ gpointer p;
64
+ guint i[2];
65
+ };
66
+
67
+ struct _GRWLock
68
+ {
69
+ /*< private >*/
70
+ gpointer p;
71
+ guint i[2];
72
+ };
73
+
74
+ struct _GCond
75
+ {
76
+ /*< private >*/
77
+ gpointer p;
78
+ guint i[2];
79
+ };
80
+
81
+ struct _GRecMutex
82
+ {
83
+ /*< private >*/
84
+ gpointer p;
85
+ guint i[2];
86
+ };
87
+
88
+ #define G_PRIVATE_INIT(notify) { NULL, (notify), { NULL, NULL } }
89
+ struct _GPrivate
90
+ {
91
+ /*< private >*/
92
+ gpointer p;
93
+ GDestroyNotify notify;
94
+ gpointer future[2];
95
+ };
96
+
97
+ typedef enum
98
+ {
99
+ G_ONCE_STATUS_NOTCALLED,
100
+ G_ONCE_STATUS_PROGRESS,
101
+ G_ONCE_STATUS_READY
102
+ } GOnceStatus;
103
+
104
+ #define G_ONCE_INIT { G_ONCE_STATUS_NOTCALLED, NULL }
105
+ struct _GOnce
106
+ {
107
+ volatile GOnceStatus status;
108
+ volatile gpointer retval;
109
+ };
110
+
111
+ #define G_LOCK_NAME(name) g__ ## name ## _lock
112
+ #define G_LOCK_DEFINE_STATIC(name) static G_LOCK_DEFINE (name)
113
+ #define G_LOCK_DEFINE(name) GMutex G_LOCK_NAME (name)
114
+ #define G_LOCK_EXTERN(name) extern GMutex G_LOCK_NAME (name)
115
+
116
+ #ifdef G_DEBUG_LOCKS
117
+ # define G_LOCK(name) G_STMT_START{ \
118
+ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \
119
+ "file %s: line %d (%s): locking: %s ", \
120
+ __FILE__, __LINE__, G_STRFUNC, \
121
+ #name); \
122
+ g_mutex_lock (&G_LOCK_NAME (name)); \
123
+ }G_STMT_END
124
+ # define G_UNLOCK(name) G_STMT_START{ \
125
+ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \
126
+ "file %s: line %d (%s): unlocking: %s ", \
127
+ __FILE__, __LINE__, G_STRFUNC, \
128
+ #name); \
129
+ g_mutex_unlock (&G_LOCK_NAME (name)); \
130
+ }G_STMT_END
131
+ # define G_TRYLOCK(name) \
132
+ (g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \
133
+ "file %s: line %d (%s): try locking: %s ", \
134
+ __FILE__, __LINE__, G_STRFUNC, \
135
+ #name), g_mutex_trylock (&G_LOCK_NAME (name)))
136
+ #else /* !G_DEBUG_LOCKS */
137
+ # define G_LOCK(name) g_mutex_lock (&G_LOCK_NAME (name))
138
+ # define G_UNLOCK(name) g_mutex_unlock (&G_LOCK_NAME (name))
139
+ # define G_TRYLOCK(name) g_mutex_trylock (&G_LOCK_NAME (name))
140
+ #endif /* !G_DEBUG_LOCKS */
141
+
142
+ GLIB_AVAILABLE_IN_2_32
143
+ GThread * g_thread_ref (GThread *thread);
144
+ GLIB_AVAILABLE_IN_2_32
145
+ void g_thread_unref (GThread *thread);
146
+ GLIB_AVAILABLE_IN_2_32
147
+ GThread * g_thread_new (const gchar *name,
148
+ GThreadFunc func,
149
+ gpointer data);
150
+ GLIB_AVAILABLE_IN_2_32
151
+ GThread * g_thread_try_new (const gchar *name,
152
+ GThreadFunc func,
153
+ gpointer data,
154
+ GError **error);
155
+ GLIB_AVAILABLE_IN_ALL
156
+ GThread * g_thread_self (void);
157
+ G_NORETURN GLIB_AVAILABLE_IN_ALL
158
+ void g_thread_exit (gpointer retval);
159
+ GLIB_AVAILABLE_IN_ALL
160
+ gpointer g_thread_join (GThread *thread);
161
+ GLIB_AVAILABLE_IN_ALL
162
+ void g_thread_yield (void);
163
+
164
+
165
+ GLIB_AVAILABLE_IN_2_32
166
+ void g_mutex_init (GMutex *mutex);
167
+ GLIB_AVAILABLE_IN_2_32
168
+ void g_mutex_clear (GMutex *mutex);
169
+ GLIB_AVAILABLE_IN_ALL
170
+ void g_mutex_lock (GMutex *mutex);
171
+ GLIB_AVAILABLE_IN_ALL
172
+ gboolean g_mutex_trylock (GMutex *mutex);
173
+ GLIB_AVAILABLE_IN_ALL
174
+ void g_mutex_unlock (GMutex *mutex);
175
+
176
+ GLIB_AVAILABLE_IN_2_32
177
+ void g_rw_lock_init (GRWLock *rw_lock);
178
+ GLIB_AVAILABLE_IN_2_32
179
+ void g_rw_lock_clear (GRWLock *rw_lock);
180
+ GLIB_AVAILABLE_IN_2_32
181
+ void g_rw_lock_writer_lock (GRWLock *rw_lock);
182
+ GLIB_AVAILABLE_IN_2_32
183
+ gboolean g_rw_lock_writer_trylock (GRWLock *rw_lock);
184
+ GLIB_AVAILABLE_IN_2_32
185
+ void g_rw_lock_writer_unlock (GRWLock *rw_lock);
186
+ GLIB_AVAILABLE_IN_2_32
187
+ void g_rw_lock_reader_lock (GRWLock *rw_lock);
188
+ GLIB_AVAILABLE_IN_2_32
189
+ gboolean g_rw_lock_reader_trylock (GRWLock *rw_lock);
190
+ GLIB_AVAILABLE_IN_2_32
191
+ void g_rw_lock_reader_unlock (GRWLock *rw_lock);
192
+
193
+ GLIB_AVAILABLE_IN_2_32
194
+ void g_rec_mutex_init (GRecMutex *rec_mutex);
195
+ GLIB_AVAILABLE_IN_2_32
196
+ void g_rec_mutex_clear (GRecMutex *rec_mutex);
197
+ GLIB_AVAILABLE_IN_2_32
198
+ void g_rec_mutex_lock (GRecMutex *rec_mutex);
199
+ GLIB_AVAILABLE_IN_2_32
200
+ gboolean g_rec_mutex_trylock (GRecMutex *rec_mutex);
201
+ GLIB_AVAILABLE_IN_2_32
202
+ void g_rec_mutex_unlock (GRecMutex *rec_mutex);
203
+
204
+ GLIB_AVAILABLE_IN_2_32
205
+ void g_cond_init (GCond *cond);
206
+ GLIB_AVAILABLE_IN_2_32
207
+ void g_cond_clear (GCond *cond);
208
+ GLIB_AVAILABLE_IN_ALL
209
+ void g_cond_wait (GCond *cond,
210
+ GMutex *mutex);
211
+ GLIB_AVAILABLE_IN_ALL
212
+ void g_cond_signal (GCond *cond);
213
+ GLIB_AVAILABLE_IN_ALL
214
+ void g_cond_broadcast (GCond *cond);
215
+ GLIB_AVAILABLE_IN_2_32
216
+ gboolean g_cond_wait_until (GCond *cond,
217
+ GMutex *mutex,
218
+ gint64 end_time);
219
+
220
+ GLIB_AVAILABLE_IN_ALL
221
+ gpointer g_private_get (GPrivate *key);
222
+ GLIB_AVAILABLE_IN_ALL
223
+ void g_private_set (GPrivate *key,
224
+ gpointer value);
225
+ GLIB_AVAILABLE_IN_2_32
226
+ void g_private_replace (GPrivate *key,
227
+ gpointer value);
228
+
229
+ GLIB_AVAILABLE_IN_ALL
230
+ gpointer g_once_impl (GOnce *once,
231
+ GThreadFunc func,
232
+ gpointer arg);
233
+ GLIB_AVAILABLE_IN_ALL
234
+ gboolean g_once_init_enter (volatile void *location);
235
+ GLIB_AVAILABLE_IN_ALL
236
+ void g_once_init_leave (volatile void *location,
237
+ gsize result);
238
+
239
+ /* Use C11-style atomic extensions to check the fast path for status=ready. If
240
+ * they are not available, fall back to using a mutex and condition variable in
241
+ * g_once_impl().
242
+ *
243
+ * On the C11-style codepath, only the load of once->status needs to be atomic,
244
+ * as the writes to it and once->retval in g_once_impl() are related by a
245
+ * happens-before relation. Release-acquire semantics are defined such that any
246
+ * atomic/non-atomic write which happens-before a store/release is guaranteed to
247
+ * be seen by the load/acquire of the same atomic variable. */
248
+ #if defined(G_ATOMIC_LOCK_FREE) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) && defined(__ATOMIC_SEQ_CST)
249
+ # define g_once(once, func, arg) \
250
+ ((__atomic_load_n (&(once)->status, __ATOMIC_ACQUIRE) == G_ONCE_STATUS_READY) ? \
251
+ (once)->retval : \
252
+ g_once_impl ((once), (func), (arg)))
253
+ #else
254
+ # define g_once(once, func, arg) g_once_impl ((once), (func), (arg))
255
+ #endif
256
+
257
+ #ifdef __GNUC__
258
+ # define g_once_init_enter(location) \
259
+ (G_GNUC_EXTENSION ({ \
260
+ G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
261
+ (void) (0 ? (gpointer) *(location) : NULL); \
262
+ (!g_atomic_pointer_get (location) && \
263
+ g_once_init_enter (location)); \
264
+ }))
265
+ # define g_once_init_leave(location, result) \
266
+ (G_GNUC_EXTENSION ({ \
267
+ G_STATIC_ASSERT (sizeof *(location) == sizeof (gpointer)); \
268
+ 0 ? (void) (*(location) = (result)) : (void) 0; \
269
+ g_once_init_leave ((location), (gsize) (result)); \
270
+ }))
271
+ #else
272
+ # define g_once_init_enter(location) \
273
+ (g_once_init_enter((location)))
274
+ # define g_once_init_leave(location, result) \
275
+ (g_once_init_leave((location), (gsize) (result)))
276
+ #endif
277
+
278
+ GLIB_AVAILABLE_IN_2_36
279
+ guint g_get_num_processors (void);
280
+
281
+ /**
282
+ * GMutexLocker:
283
+ *
284
+ * Opaque type. See g_mutex_locker_new() for details.
285
+ * Since: 2.44
286
+ */
287
+ typedef void GMutexLocker;
288
+
289
+ /**
290
+ * g_mutex_locker_new:
291
+ * @mutex: a mutex to lock
292
+ *
293
+ * Lock @mutex and return a new #GMutexLocker. Unlock with
294
+ * g_mutex_locker_free(). Using g_mutex_unlock() on @mutex
295
+ * while a #GMutexLocker exists can lead to undefined behaviour.
296
+ *
297
+ * No allocation is performed, it is equivalent to a g_mutex_lock() call.
298
+ *
299
+ * This is intended to be used with g_autoptr(). Note that g_autoptr()
300
+ * is only available when using GCC or clang, so the following example
301
+ * will only work with those compilers:
302
+ * |[
303
+ * typedef struct
304
+ * {
305
+ * ...
306
+ * GMutex mutex;
307
+ * ...
308
+ * } MyObject;
309
+ *
310
+ * static void
311
+ * my_object_do_stuff (MyObject *self)
312
+ * {
313
+ * g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&self->mutex);
314
+ *
315
+ * // Code with mutex locked here
316
+ *
317
+ * if (cond)
318
+ * // No need to unlock
319
+ * return;
320
+ *
321
+ * // Optionally early unlock
322
+ * g_clear_pointer (&locker, g_mutex_locker_free);
323
+ *
324
+ * // Code with mutex unlocked here
325
+ * }
326
+ * ]|
327
+ *
328
+ * Returns: a #GMutexLocker
329
+ * Since: 2.44
330
+ */
331
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_44
332
+ static inline GMutexLocker *
333
+ g_mutex_locker_new (GMutex *mutex)
334
+ {
335
+ g_mutex_lock (mutex);
336
+ return (GMutexLocker *) mutex;
337
+ }
338
+
339
+ /**
340
+ * g_mutex_locker_free:
341
+ * @locker: a GMutexLocker
342
+ *
343
+ * Unlock @locker's mutex. See g_mutex_locker_new() for details.
344
+ *
345
+ * No memory is freed, it is equivalent to a g_mutex_unlock() call.
346
+ *
347
+ * Since: 2.44
348
+ */
349
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_44
350
+ static inline void
351
+ g_mutex_locker_free (GMutexLocker *locker)
352
+ {
353
+ g_mutex_unlock ((GMutex *) locker);
354
+ }
355
+
356
+ /**
357
+ * GRecMutexLocker:
358
+ *
359
+ * Opaque type. See g_rec_mutex_locker_new() for details.
360
+ * Since: 2.60
361
+ */
362
+ typedef void GRecMutexLocker;
363
+
364
+ /**
365
+ * g_rec_mutex_locker_new:
366
+ * @rec_mutex: a recursive mutex to lock
367
+ *
368
+ * Lock @rec_mutex and return a new #GRecMutexLocker. Unlock with
369
+ * g_rec_mutex_locker_free(). Using g_rec_mutex_unlock() on @rec_mutex
370
+ * while a #GRecMutexLocker exists can lead to undefined behaviour.
371
+ *
372
+ * No allocation is performed, it is equivalent to a g_rec_mutex_lock() call.
373
+ *
374
+ * This is intended to be used with g_autoptr(). Note that g_autoptr()
375
+ * is only available when using GCC or clang, so the following example
376
+ * will only work with those compilers:
377
+ * |[
378
+ * typedef struct
379
+ * {
380
+ * ...
381
+ * GRecMutex rec_mutex;
382
+ * ...
383
+ * } MyObject;
384
+ *
385
+ * static void
386
+ * my_object_do_stuff (MyObject *self)
387
+ * {
388
+ * g_autoptr(GRecMutexLocker) locker = g_rec_mutex_locker_new (&self->rec_mutex);
389
+ *
390
+ * // Code with rec_mutex locked here
391
+ *
392
+ * if (cond)
393
+ * // No need to unlock
394
+ * return;
395
+ *
396
+ * // Optionally early unlock
397
+ * g_clear_pointer (&locker, g_rec_mutex_locker_free);
398
+ *
399
+ * // Code with rec_mutex unlocked here
400
+ * }
401
+ * ]|
402
+ *
403
+ * Returns: a #GRecMutexLocker
404
+ * Since: 2.60
405
+ */
406
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
407
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_60
408
+ static inline GRecMutexLocker *
409
+ g_rec_mutex_locker_new (GRecMutex *rec_mutex)
410
+ {
411
+ g_rec_mutex_lock (rec_mutex);
412
+ return (GRecMutexLocker *) rec_mutex;
413
+ }
414
+ G_GNUC_END_IGNORE_DEPRECATIONS
415
+
416
+ /**
417
+ * g_rec_mutex_locker_free:
418
+ * @locker: a GRecMutexLocker
419
+ *
420
+ * Unlock @locker's recursive mutex. See g_rec_mutex_locker_new() for details.
421
+ *
422
+ * No memory is freed, it is equivalent to a g_rec_mutex_unlock() call.
423
+ *
424
+ * Since: 2.60
425
+ */
426
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
427
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_60
428
+ static inline void
429
+ g_rec_mutex_locker_free (GRecMutexLocker *locker)
430
+ {
431
+ g_rec_mutex_unlock ((GRecMutex *) locker);
432
+ }
433
+ G_GNUC_END_IGNORE_DEPRECATIONS
434
+
435
+ /**
436
+ * GRWLockWriterLocker:
437
+ *
438
+ * Opaque type. See g_rw_lock_writer_locker_new() for details.
439
+ * Since: 2.62
440
+ */
441
+ typedef void GRWLockWriterLocker;
442
+
443
+ /**
444
+ * g_rw_lock_writer_locker_new:
445
+ * @rw_lock: a #GRWLock
446
+ *
447
+ * Obtain a write lock on @rw_lock and return a new #GRWLockWriterLocker.
448
+ * Unlock with g_rw_lock_writer_locker_free(). Using g_rw_lock_writer_unlock()
449
+ * on @rw_lock while a #GRWLockWriterLocker exists can lead to undefined
450
+ * behaviour.
451
+ *
452
+ * No allocation is performed, it is equivalent to a g_rw_lock_writer_lock() call.
453
+ *
454
+ * This is intended to be used with g_autoptr(). Note that g_autoptr()
455
+ * is only available when using GCC or clang, so the following example
456
+ * will only work with those compilers:
457
+ * |[
458
+ * typedef struct
459
+ * {
460
+ * ...
461
+ * GRWLock rw_lock;
462
+ * GPtrArray *array;
463
+ * ...
464
+ * } MyObject;
465
+ *
466
+ * static gchar *
467
+ * my_object_get_data (MyObject *self, guint index)
468
+ * {
469
+ * g_autoptr(GRWLockReaderLocker) locker = g_rw_lock_reader_locker_new (&self->rw_lock);
470
+ *
471
+ * // Code with a read lock obtained on rw_lock here
472
+ *
473
+ * if (self->array == NULL)
474
+ * // No need to unlock
475
+ * return NULL;
476
+ *
477
+ * if (index < self->array->len)
478
+ * // No need to unlock
479
+ * return g_ptr_array_index (self->array, index);
480
+ *
481
+ * // Optionally early unlock
482
+ * g_clear_pointer (&locker, g_rw_lock_reader_locker_free);
483
+ *
484
+ * // Code with rw_lock unlocked here
485
+ * return NULL;
486
+ * }
487
+ *
488
+ * static void
489
+ * my_object_set_data (MyObject *self, guint index, gpointer data)
490
+ * {
491
+ * g_autoptr(GRWLockWriterLocker) locker = g_rw_lock_writer_locker_new (&self->rw_lock);
492
+ *
493
+ * // Code with a write lock obtained on rw_lock here
494
+ *
495
+ * if (self->array == NULL)
496
+ * self->array = g_ptr_array_new ();
497
+ *
498
+ * if (cond)
499
+ * // No need to unlock
500
+ * return;
501
+ *
502
+ * if (index >= self->array->len)
503
+ * g_ptr_array_set_size (self->array, index+1);
504
+ * g_ptr_array_index (self->array, index) = data;
505
+ *
506
+ * // Optionally early unlock
507
+ * g_clear_pointer (&locker, g_rw_lock_writer_locker_free);
508
+ *
509
+ * // Code with rw_lock unlocked here
510
+ * }
511
+ * ]|
512
+ *
513
+ * Returns: a #GRWLockWriterLocker
514
+ * Since: 2.62
515
+ */
516
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
517
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_62
518
+ static inline GRWLockWriterLocker *
519
+ g_rw_lock_writer_locker_new (GRWLock *rw_lock)
520
+ {
521
+ g_rw_lock_writer_lock (rw_lock);
522
+ return (GRWLockWriterLocker *) rw_lock;
523
+ }
524
+ G_GNUC_END_IGNORE_DEPRECATIONS
525
+
526
+ /**
527
+ * g_rw_lock_writer_locker_free:
528
+ * @locker: a GRWLockWriterLocker
529
+ *
530
+ * Release a write lock on @locker's read-write lock. See
531
+ * g_rw_lock_writer_locker_new() for details.
532
+ *
533
+ * No memory is freed, it is equivalent to a g_rw_lock_writer_unlock() call.
534
+ *
535
+ * Since: 2.62
536
+ */
537
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
538
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_62
539
+ static inline void
540
+ g_rw_lock_writer_locker_free (GRWLockWriterLocker *locker)
541
+ {
542
+ g_rw_lock_writer_unlock ((GRWLock *) locker);
543
+ }
544
+ G_GNUC_END_IGNORE_DEPRECATIONS
545
+
546
+ /**
547
+ * GRWLockReaderLocker:
548
+ *
549
+ * Opaque type. See g_rw_lock_reader_locker_new() for details.
550
+ * Since: 2.62
551
+ */
552
+ typedef void GRWLockReaderLocker;
553
+
554
+ /**
555
+ * g_rw_lock_reader_locker_new:
556
+ * @rw_lock: a #GRWLock
557
+ *
558
+ * Obtain a read lock on @rw_lock and return a new #GRWLockReaderLocker.
559
+ * Unlock with g_rw_lock_reader_locker_free(). Using g_rw_lock_reader_unlock()
560
+ * on @rw_lock while a #GRWLockReaderLocker exists can lead to undefined
561
+ * behaviour.
562
+ *
563
+ * No allocation is performed, it is equivalent to a g_rw_lock_reader_lock() call.
564
+ *
565
+ * This is intended to be used with g_autoptr(). For a code sample, see
566
+ * g_rw_lock_writer_locker_new().
567
+ *
568
+ * Returns: a #GRWLockReaderLocker
569
+ * Since: 2.62
570
+ */
571
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
572
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_62
573
+ static inline GRWLockReaderLocker *
574
+ g_rw_lock_reader_locker_new (GRWLock *rw_lock)
575
+ {
576
+ g_rw_lock_reader_lock (rw_lock);
577
+ return (GRWLockReaderLocker *) rw_lock;
578
+ }
579
+ G_GNUC_END_IGNORE_DEPRECATIONS
580
+
581
+ /**
582
+ * g_rw_lock_reader_locker_free:
583
+ * @locker: a GRWLockReaderLocker
584
+ *
585
+ * Release a read lock on @locker's read-write lock. See
586
+ * g_rw_lock_reader_locker_new() for details.
587
+ *
588
+ * No memory is freed, it is equivalent to a g_rw_lock_reader_unlock() call.
589
+ *
590
+ * Since: 2.62
591
+ */
592
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
593
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_62
594
+ static inline void
595
+ g_rw_lock_reader_locker_free (GRWLockReaderLocker *locker)
596
+ {
597
+ g_rw_lock_reader_unlock ((GRWLock *) locker);
598
+ }
599
+ G_GNUC_END_IGNORE_DEPRECATIONS
600
+
601
+ G_END_DECLS
602
+
603
+ #endif /* __G_THREAD_H__ */
@@ -0,0 +1,105 @@
1
+ /* GLIB - Library of useful routines for C programming
2
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3
+ *
4
+ * SPDX-License-Identifier: LGPL-2.1-or-later
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+ /*
21
+ * Modified by the GLib Team and others 1997-2000. See the AUTHORS
22
+ * file for a list of people on the GLib Team. See the ChangeLog
23
+ * files for a list of changes. These files are distributed with
24
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
25
+ */
26
+
27
+ #ifndef __G_THREADPOOL_H__
28
+ #define __G_THREADPOOL_H__
29
+
30
+ #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
31
+ #error "Only <glib.h> can be included directly."
32
+ #endif
33
+
34
+ #include <glib/gthread.h>
35
+
36
+ G_BEGIN_DECLS
37
+
38
+ typedef struct _GThreadPool GThreadPool;
39
+
40
+ /* Thread Pools
41
+ */
42
+
43
+ struct _GThreadPool
44
+ {
45
+ GFunc func;
46
+ gpointer user_data;
47
+ gboolean exclusive;
48
+ };
49
+
50
+ GLIB_AVAILABLE_IN_ALL
51
+ GThreadPool * g_thread_pool_new (GFunc func,
52
+ gpointer user_data,
53
+ gint max_threads,
54
+ gboolean exclusive,
55
+ GError **error);
56
+ GLIB_AVAILABLE_IN_2_70
57
+ GThreadPool * g_thread_pool_new_full (GFunc func,
58
+ gpointer user_data,
59
+ GDestroyNotify item_free_func,
60
+ gint max_threads,
61
+ gboolean exclusive,
62
+ GError **error);
63
+ GLIB_AVAILABLE_IN_ALL
64
+ void g_thread_pool_free (GThreadPool *pool,
65
+ gboolean immediate,
66
+ gboolean wait_);
67
+ GLIB_AVAILABLE_IN_ALL
68
+ gboolean g_thread_pool_push (GThreadPool *pool,
69
+ gpointer data,
70
+ GError **error);
71
+ GLIB_AVAILABLE_IN_ALL
72
+ guint g_thread_pool_unprocessed (GThreadPool *pool);
73
+ GLIB_AVAILABLE_IN_ALL
74
+ void g_thread_pool_set_sort_function (GThreadPool *pool,
75
+ GCompareDataFunc func,
76
+ gpointer user_data);
77
+ GLIB_AVAILABLE_IN_2_46
78
+ gboolean g_thread_pool_move_to_front (GThreadPool *pool,
79
+ gpointer data);
80
+
81
+ GLIB_AVAILABLE_IN_ALL
82
+ gboolean g_thread_pool_set_max_threads (GThreadPool *pool,
83
+ gint max_threads,
84
+ GError **error);
85
+ GLIB_AVAILABLE_IN_ALL
86
+ gint g_thread_pool_get_max_threads (GThreadPool *pool);
87
+ GLIB_AVAILABLE_IN_ALL
88
+ guint g_thread_pool_get_num_threads (GThreadPool *pool);
89
+
90
+ GLIB_AVAILABLE_IN_ALL
91
+ void g_thread_pool_set_max_unused_threads (gint max_threads);
92
+ GLIB_AVAILABLE_IN_ALL
93
+ gint g_thread_pool_get_max_unused_threads (void);
94
+ GLIB_AVAILABLE_IN_ALL
95
+ guint g_thread_pool_get_num_unused_threads (void);
96
+ GLIB_AVAILABLE_IN_ALL
97
+ void g_thread_pool_stop_unused_threads (void);
98
+ GLIB_AVAILABLE_IN_ALL
99
+ void g_thread_pool_set_max_idle_time (guint interval);
100
+ GLIB_AVAILABLE_IN_ALL
101
+ guint g_thread_pool_get_max_idle_time (void);
102
+
103
+ G_END_DECLS
104
+
105
+ #endif /* __G_THREADPOOL_H__ */