@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,409 @@
1
+ /* goption.h - Option parser
2
+ *
3
+ * Copyright (C) 2004 Anders Carlsson <andersca@gnome.org>
4
+ *
5
+ * SPDX-License-Identifier: LGPL-2.1-or-later
6
+ *
7
+ * This library is free software; you can redistribute it and/or
8
+ * modify it under the terms of the GNU Lesser General Public
9
+ * License as published by the Free Software Foundation; either
10
+ * version 2.1 of the License, or (at your option) any later version.
11
+ *
12
+ * This library is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ * Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public License
18
+ * along with this library; if not, see <http://www.gnu.org/licenses/>.
19
+ */
20
+
21
+ #ifndef __G_OPTION_H__
22
+ #define __G_OPTION_H__
23
+
24
+ #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
25
+ #error "Only <glib.h> can be included directly."
26
+ #endif
27
+
28
+ #include <glib/gerror.h>
29
+ #include <glib/gquark.h>
30
+
31
+ G_BEGIN_DECLS
32
+
33
+ /**
34
+ * GOptionContext:
35
+ *
36
+ * A `GOptionContext` struct defines which options
37
+ * are accepted by the commandline option parser. The struct has only private
38
+ * fields and should not be directly accessed.
39
+ */
40
+ typedef struct _GOptionContext GOptionContext;
41
+
42
+ /**
43
+ * GOptionGroup:
44
+ *
45
+ * A `GOptionGroup` struct defines the options in a single
46
+ * group. The struct has only private fields and should not be directly accessed.
47
+ *
48
+ * All options in a group share the same translation function. Libraries which
49
+ * need to parse commandline options are expected to provide a function for
50
+ * getting a `GOptionGroup` holding their options, which
51
+ * the application can then add to its #GOptionContext.
52
+ */
53
+ typedef struct _GOptionGroup GOptionGroup;
54
+ typedef struct _GOptionEntry GOptionEntry;
55
+
56
+ /**
57
+ * GOptionFlags:
58
+ * @G_OPTION_FLAG_NONE: No flags. Since: 2.42.
59
+ * @G_OPTION_FLAG_HIDDEN: The option doesn't appear in `--help` output.
60
+ * @G_OPTION_FLAG_IN_MAIN: The option appears in the main section of the
61
+ * `--help` output, even if it is defined in a group.
62
+ * @G_OPTION_FLAG_REVERSE: For options of the %G_OPTION_ARG_NONE kind, this
63
+ * flag indicates that the sense of the option is reversed. i.e. %FALSE will
64
+ * be stored into the argument rather than %TRUE.
65
+ * @G_OPTION_FLAG_NO_ARG: For options of the %G_OPTION_ARG_CALLBACK kind,
66
+ * this flag indicates that the callback does not take any argument
67
+ * (like a %G_OPTION_ARG_NONE option). Since 2.8
68
+ * @G_OPTION_FLAG_FILENAME: For options of the %G_OPTION_ARG_CALLBACK
69
+ * kind, this flag indicates that the argument should be passed to the
70
+ * callback in the GLib filename encoding rather than UTF-8. Since 2.8
71
+ * @G_OPTION_FLAG_OPTIONAL_ARG: For options of the %G_OPTION_ARG_CALLBACK
72
+ * kind, this flag indicates that the argument supply is optional.
73
+ * If no argument is given then data of %GOptionParseFunc will be
74
+ * set to NULL. Since 2.8
75
+ * @G_OPTION_FLAG_NOALIAS: This flag turns off the automatic conflict
76
+ * resolution which prefixes long option names with `groupname-` if
77
+ * there is a conflict. This option should only be used in situations
78
+ * where aliasing is necessary to model some legacy commandline interface.
79
+ * It is not safe to use this option, unless all option groups are under
80
+ * your direct control. Since 2.8.
81
+ *
82
+ * Flags which modify individual options.
83
+ */
84
+ typedef enum
85
+ {
86
+ G_OPTION_FLAG_NONE = 0,
87
+ G_OPTION_FLAG_HIDDEN = 1 << 0,
88
+ G_OPTION_FLAG_IN_MAIN = 1 << 1,
89
+ G_OPTION_FLAG_REVERSE = 1 << 2,
90
+ G_OPTION_FLAG_NO_ARG = 1 << 3,
91
+ G_OPTION_FLAG_FILENAME = 1 << 4,
92
+ G_OPTION_FLAG_OPTIONAL_ARG = 1 << 5,
93
+ G_OPTION_FLAG_NOALIAS = 1 << 6
94
+ } GOptionFlags;
95
+
96
+ /**
97
+ * GOptionArg:
98
+ * @G_OPTION_ARG_NONE: No extra argument. This is useful for simple flags or booleans.
99
+ * @G_OPTION_ARG_STRING: The option takes a UTF-8 string argument.
100
+ * @G_OPTION_ARG_INT: The option takes an integer argument.
101
+ * @G_OPTION_ARG_CALLBACK: The option provides a callback (of type
102
+ * #GOptionArgFunc) to parse the extra argument.
103
+ * @G_OPTION_ARG_FILENAME: The option takes a filename as argument, which will
104
+ be in the GLib filename encoding rather than UTF-8.
105
+ * @G_OPTION_ARG_STRING_ARRAY: The option takes a string argument, multiple
106
+ * uses of the option are collected into an array of strings.
107
+ * @G_OPTION_ARG_FILENAME_ARRAY: The option takes a filename as argument,
108
+ * multiple uses of the option are collected into an array of strings.
109
+ * @G_OPTION_ARG_DOUBLE: The option takes a double argument. The argument
110
+ * can be formatted either for the user's locale or for the "C" locale.
111
+ * Since 2.12
112
+ * @G_OPTION_ARG_INT64: The option takes a 64-bit integer. Like
113
+ * %G_OPTION_ARG_INT but for larger numbers. The number can be in
114
+ * decimal base, or in hexadecimal (when prefixed with `0x`, for
115
+ * example, `0xffffffff`). Since 2.12
116
+ *
117
+ * The #GOptionArg enum values determine which type of extra argument the
118
+ * options expect to find. If an option expects an extra argument, it can
119
+ * be specified in several ways; with a short option: `-x arg`, with a long
120
+ * option: `--name arg` or combined in a single argument: `--name=arg`.
121
+ */
122
+ typedef enum
123
+ {
124
+ G_OPTION_ARG_NONE,
125
+ G_OPTION_ARG_STRING,
126
+ G_OPTION_ARG_INT,
127
+ G_OPTION_ARG_CALLBACK,
128
+ G_OPTION_ARG_FILENAME,
129
+ G_OPTION_ARG_STRING_ARRAY,
130
+ G_OPTION_ARG_FILENAME_ARRAY,
131
+ G_OPTION_ARG_DOUBLE,
132
+ G_OPTION_ARG_INT64
133
+ } GOptionArg;
134
+
135
+ /**
136
+ * GOptionArgFunc:
137
+ * @option_name: The name of the option being parsed. This will be either a
138
+ * single dash followed by a single letter (for a short name) or two dashes
139
+ * followed by a long option name.
140
+ * @value: The value to be parsed.
141
+ * @data: User data added to the #GOptionGroup containing the option when it
142
+ * was created with g_option_group_new()
143
+ * @error: A return location for errors. The error code %G_OPTION_ERROR_FAILED
144
+ * is intended to be used for errors in #GOptionArgFunc callbacks.
145
+ *
146
+ * The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK
147
+ * options.
148
+ *
149
+ * Returns: %TRUE if the option was successfully parsed, %FALSE if an error
150
+ * occurred, in which case @error should be set with g_set_error()
151
+ */
152
+ typedef gboolean (*GOptionArgFunc) (const gchar *option_name,
153
+ const gchar *value,
154
+ gpointer data,
155
+ GError **error);
156
+
157
+ /**
158
+ * GOptionParseFunc:
159
+ * @context: The active #GOptionContext
160
+ * @group: The group to which the function belongs
161
+ * @data: User data added to the #GOptionGroup containing the option when it
162
+ * was created with g_option_group_new()
163
+ * @error: A return location for error details
164
+ *
165
+ * The type of function that can be called before and after parsing.
166
+ *
167
+ * Returns: %TRUE if the function completed successfully, %FALSE if an error
168
+ * occurred, in which case @error should be set with g_set_error()
169
+ */
170
+ typedef gboolean (*GOptionParseFunc) (GOptionContext *context,
171
+ GOptionGroup *group,
172
+ gpointer data,
173
+ GError **error);
174
+
175
+ /**
176
+ * GOptionErrorFunc:
177
+ * @context: The active #GOptionContext
178
+ * @group: The group to which the function belongs
179
+ * @data: User data added to the #GOptionGroup containing the option when it
180
+ * was created with g_option_group_new()
181
+ * @error: The #GError containing details about the parse error
182
+ *
183
+ * The type of function to be used as callback when a parse error occurs.
184
+ */
185
+ typedef void (*GOptionErrorFunc) (GOptionContext *context,
186
+ GOptionGroup *group,
187
+ gpointer data,
188
+ GError **error);
189
+
190
+ /**
191
+ * G_OPTION_ERROR:
192
+ *
193
+ * Error domain for option parsing. Errors in this domain will
194
+ * be from the #GOptionError enumeration. See #GError for information on
195
+ * error domains.
196
+ */
197
+ #define G_OPTION_ERROR (g_option_error_quark ())
198
+
199
+ /**
200
+ * GOptionError:
201
+ * @G_OPTION_ERROR_UNKNOWN_OPTION: An option was not known to the parser.
202
+ * This error will only be reported, if the parser hasn't been instructed
203
+ * to ignore unknown options, see g_option_context_set_ignore_unknown_options().
204
+ * @G_OPTION_ERROR_BAD_VALUE: A value couldn't be parsed.
205
+ * @G_OPTION_ERROR_FAILED: A #GOptionArgFunc callback failed.
206
+ *
207
+ * Error codes returned by option parsing.
208
+ */
209
+ typedef enum
210
+ {
211
+ G_OPTION_ERROR_UNKNOWN_OPTION,
212
+ G_OPTION_ERROR_BAD_VALUE,
213
+ G_OPTION_ERROR_FAILED
214
+ } GOptionError;
215
+
216
+ GLIB_AVAILABLE_IN_ALL
217
+ GQuark g_option_error_quark (void);
218
+
219
+ /**
220
+ * GOptionEntry:
221
+ * @long_name: The long name of an option can be used to specify it
222
+ * in a commandline as `--long_name`. Every option must have a
223
+ * long name. To resolve conflicts if multiple option groups contain
224
+ * the same long name, it is also possible to specify the option as
225
+ * `--groupname-long_name`.
226
+ * @short_name: If an option has a short name, it can be specified
227
+ * `-short_name` in a commandline. @short_name must be a printable
228
+ * ASCII character different from '-', or zero if the option has no
229
+ * short name.
230
+ * @flags: Flags from #GOptionFlags
231
+ * @arg: The type of the option, as a #GOptionArg
232
+ * @arg_data: If the @arg type is %G_OPTION_ARG_CALLBACK, then @arg_data
233
+ * must point to a #GOptionArgFunc callback function, which will be
234
+ * called to handle the extra argument. Otherwise, @arg_data is a
235
+ * pointer to a location to store the value, the required type of
236
+ * the location depends on the @arg type:
237
+ * - %G_OPTION_ARG_NONE: %gboolean
238
+ * - %G_OPTION_ARG_STRING: %gchar*
239
+ * - %G_OPTION_ARG_INT: %gint
240
+ * - %G_OPTION_ARG_FILENAME: %gchar*
241
+ * - %G_OPTION_ARG_STRING_ARRAY: %gchar**
242
+ * - %G_OPTION_ARG_FILENAME_ARRAY: %gchar**
243
+ * - %G_OPTION_ARG_DOUBLE: %gdouble
244
+ * If @arg type is %G_OPTION_ARG_STRING or %G_OPTION_ARG_FILENAME,
245
+ * the location will contain a newly allocated string if the option
246
+ * was given. That string needs to be freed by the callee using g_free().
247
+ * Likewise if @arg type is %G_OPTION_ARG_STRING_ARRAY or
248
+ * %G_OPTION_ARG_FILENAME_ARRAY, the data should be freed using g_strfreev().
249
+ * @description: the description for the option in `--help`
250
+ * output. The @description is translated using the @translate_func
251
+ * of the group, see g_option_group_set_translation_domain().
252
+ * @arg_description: The placeholder to use for the extra argument parsed
253
+ * by the option in `--help` output. The @arg_description is translated
254
+ * using the @translate_func of the group, see
255
+ * g_option_group_set_translation_domain().
256
+ *
257
+ * A GOptionEntry struct defines a single option. To have an effect, they
258
+ * must be added to a #GOptionGroup with g_option_context_add_main_entries()
259
+ * or g_option_group_add_entries().
260
+ */
261
+ struct _GOptionEntry
262
+ {
263
+ const gchar *long_name;
264
+ gchar short_name;
265
+ gint flags;
266
+
267
+ GOptionArg arg;
268
+ gpointer arg_data;
269
+
270
+ const gchar *description;
271
+ const gchar *arg_description;
272
+ };
273
+
274
+ /**
275
+ * G_OPTION_REMAINING:
276
+ *
277
+ * If a long option in the main group has this name, it is not treated as a
278
+ * regular option. Instead it collects all non-option arguments which would
279
+ * otherwise be left in `argv`. The option must be of type
280
+ * %G_OPTION_ARG_CALLBACK, %G_OPTION_ARG_STRING_ARRAY
281
+ * or %G_OPTION_ARG_FILENAME_ARRAY.
282
+ *
283
+ *
284
+ * Using %G_OPTION_REMAINING instead of simply scanning `argv`
285
+ * for leftover arguments has the advantage that GOption takes care of
286
+ * necessary encoding conversions for strings or filenames.
287
+ *
288
+ * Since: 2.6
289
+ */
290
+ #define G_OPTION_REMAINING ""
291
+
292
+ /**
293
+ * G_OPTION_ENTRY_NULL:
294
+ *
295
+ * A #GOptionEntry array requires a %NULL terminator, this macro can
296
+ * be used as terminator instead of an explicit `{ 0 }` but it cannot
297
+ * be assigned to a variable.
298
+ *
299
+ * |[
300
+ * GOptionEntry option[] = { G_OPTION_ENTRY_NULL };
301
+ * ]|
302
+ *
303
+ * Since: 2.70
304
+ */
305
+ #define G_OPTION_ENTRY_NULL \
306
+ GLIB_AVAILABLE_MACRO_IN_2_70 \
307
+ { NULL, 0, 0, 0, NULL, NULL, NULL }
308
+
309
+
310
+ GLIB_AVAILABLE_IN_ALL
311
+ GOptionContext *g_option_context_new (const gchar *parameter_string);
312
+ GLIB_AVAILABLE_IN_ALL
313
+ void g_option_context_set_summary (GOptionContext *context,
314
+ const gchar *summary);
315
+ GLIB_AVAILABLE_IN_ALL
316
+ const gchar * g_option_context_get_summary (GOptionContext *context);
317
+ GLIB_AVAILABLE_IN_ALL
318
+ void g_option_context_set_description (GOptionContext *context,
319
+ const gchar *description);
320
+ GLIB_AVAILABLE_IN_ALL
321
+ const gchar * g_option_context_get_description (GOptionContext *context);
322
+ GLIB_AVAILABLE_IN_ALL
323
+ void g_option_context_free (GOptionContext *context);
324
+ GLIB_AVAILABLE_IN_ALL
325
+ void g_option_context_set_help_enabled (GOptionContext *context,
326
+ gboolean help_enabled);
327
+ GLIB_AVAILABLE_IN_ALL
328
+ gboolean g_option_context_get_help_enabled (GOptionContext *context);
329
+ GLIB_AVAILABLE_IN_ALL
330
+ void g_option_context_set_ignore_unknown_options (GOptionContext *context,
331
+ gboolean ignore_unknown);
332
+ GLIB_AVAILABLE_IN_ALL
333
+ gboolean g_option_context_get_ignore_unknown_options (GOptionContext *context);
334
+
335
+ GLIB_AVAILABLE_IN_2_44
336
+ void g_option_context_set_strict_posix (GOptionContext *context,
337
+ gboolean strict_posix);
338
+ GLIB_AVAILABLE_IN_2_44
339
+ gboolean g_option_context_get_strict_posix (GOptionContext *context);
340
+
341
+ GLIB_AVAILABLE_IN_ALL
342
+ void g_option_context_add_main_entries (GOptionContext *context,
343
+ const GOptionEntry *entries,
344
+ const gchar *translation_domain);
345
+ GLIB_AVAILABLE_IN_ALL
346
+ gboolean g_option_context_parse (GOptionContext *context,
347
+ gint *argc,
348
+ gchar ***argv,
349
+ GError **error);
350
+ GLIB_AVAILABLE_IN_2_40
351
+ gboolean g_option_context_parse_strv (GOptionContext *context,
352
+ gchar ***arguments,
353
+ GError **error);
354
+ GLIB_AVAILABLE_IN_ALL
355
+ void g_option_context_set_translate_func (GOptionContext *context,
356
+ GTranslateFunc func,
357
+ gpointer data,
358
+ GDestroyNotify destroy_notify);
359
+ GLIB_AVAILABLE_IN_ALL
360
+ void g_option_context_set_translation_domain (GOptionContext *context,
361
+ const gchar *domain);
362
+
363
+ GLIB_AVAILABLE_IN_ALL
364
+ void g_option_context_add_group (GOptionContext *context,
365
+ GOptionGroup *group);
366
+ GLIB_AVAILABLE_IN_ALL
367
+ void g_option_context_set_main_group (GOptionContext *context,
368
+ GOptionGroup *group);
369
+ GLIB_AVAILABLE_IN_ALL
370
+ GOptionGroup *g_option_context_get_main_group (GOptionContext *context);
371
+ GLIB_AVAILABLE_IN_ALL
372
+ gchar *g_option_context_get_help (GOptionContext *context,
373
+ gboolean main_help,
374
+ GOptionGroup *group);
375
+
376
+ GLIB_AVAILABLE_IN_ALL
377
+ GOptionGroup *g_option_group_new (const gchar *name,
378
+ const gchar *description,
379
+ const gchar *help_description,
380
+ gpointer user_data,
381
+ GDestroyNotify destroy);
382
+ GLIB_AVAILABLE_IN_ALL
383
+ void g_option_group_set_parse_hooks (GOptionGroup *group,
384
+ GOptionParseFunc pre_parse_func,
385
+ GOptionParseFunc post_parse_func);
386
+ GLIB_AVAILABLE_IN_ALL
387
+ void g_option_group_set_error_hook (GOptionGroup *group,
388
+ GOptionErrorFunc error_func);
389
+ GLIB_DEPRECATED_IN_2_44
390
+ void g_option_group_free (GOptionGroup *group);
391
+ GLIB_AVAILABLE_IN_2_44
392
+ GOptionGroup *g_option_group_ref (GOptionGroup *group);
393
+ GLIB_AVAILABLE_IN_2_44
394
+ void g_option_group_unref (GOptionGroup *group);
395
+ GLIB_AVAILABLE_IN_ALL
396
+ void g_option_group_add_entries (GOptionGroup *group,
397
+ const GOptionEntry *entries);
398
+ GLIB_AVAILABLE_IN_ALL
399
+ void g_option_group_set_translate_func (GOptionGroup *group,
400
+ GTranslateFunc func,
401
+ gpointer data,
402
+ GDestroyNotify destroy_notify);
403
+ GLIB_AVAILABLE_IN_ALL
404
+ void g_option_group_set_translation_domain (GOptionGroup *group,
405
+ const gchar *domain);
406
+
407
+ G_END_DECLS
408
+
409
+ #endif /* __G_OPTION_H__ */
@@ -0,0 +1,90 @@
1
+ /* gpathbuf.h: A mutable path builder
2
+ *
3
+ * SPDX-FileCopyrightText: 2023 Emmanuele Bassi
4
+ * SPDX-License-Identifier: LGPL-2.1-or-later
5
+ */
6
+
7
+ #pragma once
8
+
9
+ #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
10
+ #error "Only <glib.h> can be included directly."
11
+ #endif
12
+
13
+ #include <glib/gtypes.h>
14
+
15
+ G_BEGIN_DECLS
16
+
17
+ typedef struct _GPathBuf GPathBuf;
18
+
19
+ /**
20
+ * GPathBuf: (copy-func g_path_buf_copy) (free-func g_path_buf_free)
21
+ *
22
+ * A mutable path builder.
23
+ *
24
+ * Since: 2.76
25
+ */
26
+ struct _GPathBuf
27
+ {
28
+ /*< private >*/
29
+ gpointer dummy[8];
30
+ };
31
+
32
+ /**
33
+ * G_PATH_BUF_INIT:
34
+ *
35
+ * Initializes a #GPathBuf on the stack.
36
+ *
37
+ * A stack-allocated `GPathBuf` must be initialized if it is used
38
+ * together with g_auto() to avoid warnings and crashes if the
39
+ * function returns before calling g_path_buf_init().
40
+ *
41
+ * |[<!-- language="C" -->
42
+ * g_auto (GPathBuf) buf = G_PATH_BUF_INIT;
43
+ * ]|
44
+ *
45
+ * Since: 2.76
46
+ */
47
+ #define G_PATH_BUF_INIT { { NULL, } } \
48
+ GLIB_AVAILABLE_MACRO_IN_2_76
49
+
50
+ GLIB_AVAILABLE_IN_2_76
51
+ GPathBuf * g_path_buf_new (void);
52
+ GLIB_AVAILABLE_IN_2_76
53
+ GPathBuf * g_path_buf_new_from_path (const char *path);
54
+ GLIB_AVAILABLE_IN_2_76
55
+ GPathBuf * g_path_buf_init (GPathBuf *buf);
56
+ GLIB_AVAILABLE_IN_2_76
57
+ GPathBuf * g_path_buf_init_from_path (GPathBuf *buf,
58
+ const char *path);
59
+ GLIB_AVAILABLE_IN_2_76
60
+ void g_path_buf_clear (GPathBuf *buf);
61
+ GLIB_AVAILABLE_IN_2_76
62
+ char * g_path_buf_clear_to_path (GPathBuf *buf) G_GNUC_WARN_UNUSED_RESULT;
63
+ GLIB_AVAILABLE_IN_2_76
64
+ void g_path_buf_free (GPathBuf *buf);
65
+ GLIB_AVAILABLE_IN_2_76
66
+ char * g_path_buf_free_to_path (GPathBuf *buf) G_GNUC_WARN_UNUSED_RESULT;
67
+ GLIB_AVAILABLE_IN_2_76
68
+ GPathBuf * g_path_buf_copy (GPathBuf *buf);
69
+
70
+ GLIB_AVAILABLE_IN_2_76
71
+ GPathBuf * g_path_buf_push (GPathBuf *buf,
72
+ const char *path);
73
+ GLIB_AVAILABLE_IN_2_76
74
+ gboolean g_path_buf_pop (GPathBuf *buf);
75
+
76
+ GLIB_AVAILABLE_IN_2_76
77
+ gboolean g_path_buf_set_filename (GPathBuf *buf,
78
+ const char *file_name);
79
+ GLIB_AVAILABLE_IN_2_76
80
+ gboolean g_path_buf_set_extension (GPathBuf *buf,
81
+ const char *extension);
82
+
83
+ GLIB_AVAILABLE_IN_2_76
84
+ char * g_path_buf_to_path (GPathBuf *buf) G_GNUC_WARN_UNUSED_RESULT;
85
+
86
+ GLIB_AVAILABLE_IN_2_76
87
+ gboolean g_path_buf_equal (gconstpointer v1,
88
+ gconstpointer v2);
89
+
90
+ G_END_DECLS
@@ -0,0 +1,65 @@
1
+ /* GLIB - Library of useful routines for C programming
2
+ * Copyright (C) 1995-1997, 1999 Peter Mattis, Red Hat, Inc.
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
+ #ifndef __G_PATTERN_H__
21
+ #define __G_PATTERN_H__
22
+
23
+ #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
24
+ #error "Only <glib.h> can be included directly."
25
+ #endif
26
+
27
+ #include <glib/gtypes.h>
28
+
29
+ G_BEGIN_DECLS
30
+
31
+
32
+ typedef struct _GPatternSpec GPatternSpec;
33
+
34
+ GLIB_AVAILABLE_IN_ALL
35
+ GPatternSpec* g_pattern_spec_new (const gchar *pattern);
36
+ GLIB_AVAILABLE_IN_ALL
37
+ void g_pattern_spec_free (GPatternSpec *pspec);
38
+ GLIB_AVAILABLE_IN_2_70
39
+ GPatternSpec *g_pattern_spec_copy (GPatternSpec *pspec);
40
+ GLIB_AVAILABLE_IN_ALL
41
+ gboolean g_pattern_spec_equal (GPatternSpec *pspec1,
42
+ GPatternSpec *pspec2);
43
+ GLIB_AVAILABLE_IN_2_70
44
+ gboolean g_pattern_spec_match (GPatternSpec *pspec,
45
+ gsize string_length,
46
+ const gchar *string,
47
+ const gchar *string_reversed);
48
+ GLIB_AVAILABLE_IN_2_70
49
+ gboolean g_pattern_spec_match_string (GPatternSpec *pspec,
50
+ const gchar *string);
51
+ GLIB_DEPRECATED_IN_2_70_FOR (g_pattern_spec_match)
52
+ gboolean g_pattern_match (GPatternSpec *pspec,
53
+ guint string_length,
54
+ const gchar *string,
55
+ const gchar *string_reversed);
56
+ GLIB_DEPRECATED_IN_2_70_FOR (g_pattern_spec_match_string)
57
+ gboolean g_pattern_match_string (GPatternSpec *pspec,
58
+ const gchar *string);
59
+ GLIB_AVAILABLE_IN_ALL
60
+ gboolean g_pattern_match_simple (const gchar *pattern,
61
+ const gchar *string);
62
+
63
+ G_END_DECLS
64
+
65
+ #endif /* __G_PATTERN_H__ */
@@ -0,0 +1,122 @@
1
+ /* gpoll.h - poll(2) support
2
+ * Copyright (C) 2008 Red Hat, Inc.
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 License
17
+ * along with this library; if not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+ #ifndef __G_POLL_H__
21
+ #define __G_POLL_H__
22
+
23
+ #if !defined (__GLIB_H_INSIDE__) && !defined (__G_MAIN_H__) && !defined (GLIB_COMPILATION)
24
+ #error "Only <glib.h> can be included directly."
25
+ #endif
26
+
27
+ #include <glibconfig.h>
28
+ #include <glib/gtypes.h>
29
+
30
+ G_BEGIN_DECLS
31
+
32
+ /* Any definitions using GPollFD or GPollFunc are primarily
33
+ * for Unix and not guaranteed to be the compatible on all
34
+ * operating systems on which GLib runs. Right now, the
35
+ * GLib does use these functions on Win32 as well, but interprets
36
+ * them in a fairly different way than on Unix. If you use
37
+ * these definitions, you are should be prepared to recode
38
+ * for different operating systems.
39
+ *
40
+ * Note that on systems with a working poll(2), that function is used
41
+ * in place of g_poll(). Thus g_poll() must have the same signature as
42
+ * poll(), meaning GPollFD must have the same layout as struct pollfd.
43
+ *
44
+ * On Win32, the fd in a GPollFD should be Win32 HANDLE (*not* a file
45
+ * descriptor as provided by the C runtime) that can be used by
46
+ * MsgWaitForMultipleObjects. This does *not* include file handles
47
+ * from CreateFile, SOCKETs, nor pipe handles. (But you can use
48
+ * WSAEventSelect to signal events when a SOCKET is readable).
49
+ *
50
+ * On Win32, fd can also be the special value G_WIN32_MSG_HANDLE to
51
+ * indicate polling for messages.
52
+ *
53
+ * But note that G_WIN32_MSG_HANDLE GPollFDs should not be used by GDK
54
+ * (GTK) programs, as GDK itself wants to read messages and convert them
55
+ * to GDK events.
56
+ *
57
+ * So, unless you really know what you are doing, it's best not to try
58
+ * to use the main loop polling stuff for your own needs on
59
+ * Windows.
60
+ */
61
+ typedef struct _GPollFD GPollFD;
62
+
63
+ /**
64
+ * GPollFunc:
65
+ * @ufds: an array of #GPollFD elements
66
+ * @nfsd: the number of elements in @ufds
67
+ * @timeout_: the maximum time to wait for an event of the file descriptors.
68
+ * A negative value indicates an infinite timeout.
69
+ *
70
+ * Specifies the type of function passed to g_main_context_set_poll_func().
71
+ * The semantics of the function should match those of the poll() system call.
72
+ *
73
+ * Returns: the number of #GPollFD elements which have events or errors
74
+ * reported, or -1 if an error occurred.
75
+ */
76
+ typedef gint (*GPollFunc) (GPollFD *ufds,
77
+ guint nfsd,
78
+ gint timeout_);
79
+
80
+ /**
81
+ * GPollFD:
82
+ * @fd: the file descriptor to poll (or a HANDLE on Win32)
83
+ * @events: a bitwise combination from #GIOCondition, specifying which
84
+ * events should be polled for. Typically for reading from a file
85
+ * descriptor you would use %G_IO_IN | %G_IO_HUP | %G_IO_ERR, and
86
+ * for writing you would use %G_IO_OUT | %G_IO_ERR.
87
+ * @revents: a bitwise combination of flags from #GIOCondition, returned
88
+ * from the poll() function to indicate which events occurred.
89
+ *
90
+ * Represents a file descriptor, which events to poll for, and which events
91
+ * occurred.
92
+ */
93
+ struct _GPollFD
94
+ {
95
+ #if defined (G_OS_WIN32) && GLIB_SIZEOF_VOID_P == 8
96
+ #ifndef __GTK_DOC_IGNORE__
97
+ gint64 fd;
98
+ #endif
99
+ #else
100
+ gint fd;
101
+ #endif
102
+ gushort events;
103
+ gushort revents;
104
+ };
105
+
106
+ /**
107
+ * G_POLLFD_FORMAT:
108
+ *
109
+ * A format specifier that can be used in printf()-style format strings
110
+ * when printing the @fd member of a #GPollFD.
111
+ */
112
+ /* defined in glibconfig.h */
113
+
114
+ GLIB_AVAILABLE_IN_ALL
115
+ gint
116
+ g_poll (GPollFD *fds,
117
+ guint nfds,
118
+ gint timeout);
119
+
120
+ G_END_DECLS
121
+
122
+ #endif /* __G_POLL_H__ */