@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,690 @@
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_MESSAGES_H__
28
+ #define __G_MESSAGES_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 <stdarg.h>
35
+ #include <glib/gatomic.h>
36
+ #include <glib/gtypes.h>
37
+ #include <glib/gmacros.h>
38
+ #include <glib/gvariant.h>
39
+
40
+ G_BEGIN_DECLS
41
+
42
+ /* calculate a string size, guaranteed to fit format + args.
43
+ */
44
+ GLIB_AVAILABLE_IN_ALL
45
+ gsize g_printf_string_upper_bound (const gchar* format,
46
+ va_list args) G_GNUC_PRINTF(1, 0);
47
+
48
+ /* Log level shift offset for user defined
49
+ * log levels (0-7 are used by GLib).
50
+ */
51
+ #define G_LOG_LEVEL_USER_SHIFT (8)
52
+
53
+ /* Glib log levels and flags.
54
+ */
55
+ typedef enum
56
+ {
57
+ /* log flags */
58
+ G_LOG_FLAG_RECURSION = 1 << 0,
59
+ G_LOG_FLAG_FATAL = 1 << 1,
60
+
61
+ /* GLib log levels */
62
+ G_LOG_LEVEL_ERROR = 1 << 2, /* always fatal */
63
+ G_LOG_LEVEL_CRITICAL = 1 << 3,
64
+ G_LOG_LEVEL_WARNING = 1 << 4,
65
+ G_LOG_LEVEL_MESSAGE = 1 << 5,
66
+ G_LOG_LEVEL_INFO = 1 << 6,
67
+ G_LOG_LEVEL_DEBUG = 1 << 7,
68
+
69
+ G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL)
70
+ } GLogLevelFlags;
71
+
72
+ /* GLib log levels that are considered fatal by default */
73
+ #define G_LOG_FATAL_MASK (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR)
74
+
75
+ typedef void (*GLogFunc) (const gchar *log_domain,
76
+ GLogLevelFlags log_level,
77
+ const gchar *message,
78
+ gpointer user_data);
79
+
80
+ /* Logging mechanism
81
+ */
82
+ GLIB_AVAILABLE_IN_ALL
83
+ guint g_log_set_handler (const gchar *log_domain,
84
+ GLogLevelFlags log_levels,
85
+ GLogFunc log_func,
86
+ gpointer user_data);
87
+ GLIB_AVAILABLE_IN_2_46
88
+ guint g_log_set_handler_full (const gchar *log_domain,
89
+ GLogLevelFlags log_levels,
90
+ GLogFunc log_func,
91
+ gpointer user_data,
92
+ GDestroyNotify destroy);
93
+ GLIB_AVAILABLE_IN_ALL
94
+ void g_log_remove_handler (const gchar *log_domain,
95
+ guint handler_id);
96
+ GLIB_AVAILABLE_IN_ALL
97
+ void g_log_default_handler (const gchar *log_domain,
98
+ GLogLevelFlags log_level,
99
+ const gchar *message,
100
+ gpointer unused_data);
101
+ GLIB_AVAILABLE_IN_ALL
102
+ GLogFunc g_log_set_default_handler (GLogFunc log_func,
103
+ gpointer user_data);
104
+ GLIB_AVAILABLE_IN_ALL
105
+ void g_log (const gchar *log_domain,
106
+ GLogLevelFlags log_level,
107
+ const gchar *format,
108
+ ...) G_GNUC_PRINTF (3, 4);
109
+ GLIB_AVAILABLE_IN_ALL
110
+ void g_logv (const gchar *log_domain,
111
+ GLogLevelFlags log_level,
112
+ const gchar *format,
113
+ va_list args) G_GNUC_PRINTF(3, 0);
114
+ GLIB_AVAILABLE_IN_ALL
115
+ GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain,
116
+ GLogLevelFlags fatal_mask);
117
+ GLIB_AVAILABLE_IN_ALL
118
+ GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask);
119
+
120
+ /* Structured logging mechanism. */
121
+
122
+ /**
123
+ * GLogWriterOutput:
124
+ * @G_LOG_WRITER_HANDLED: Log writer has handled the log entry.
125
+ * @G_LOG_WRITER_UNHANDLED: Log writer could not handle the log entry.
126
+ *
127
+ * Return values from #GLogWriterFuncs to indicate whether the given log entry
128
+ * was successfully handled by the writer, or whether there was an error in
129
+ * handling it (and hence a fallback writer should be used).
130
+ *
131
+ * If a #GLogWriterFunc ignores a log entry, it should return
132
+ * %G_LOG_WRITER_HANDLED.
133
+ *
134
+ * Since: 2.50
135
+ */
136
+ typedef enum
137
+ {
138
+ G_LOG_WRITER_HANDLED = 1,
139
+ G_LOG_WRITER_UNHANDLED = 0,
140
+ } GLogWriterOutput;
141
+
142
+ /**
143
+ * GLogField:
144
+ * @key: field name (UTF-8 string)
145
+ * @value: field value (arbitrary bytes)
146
+ * @length: length of @value, in bytes, or -1 if it is nul-terminated
147
+ *
148
+ * Structure representing a single field in a structured log entry. See
149
+ * g_log_structured() for details.
150
+ *
151
+ * Log fields may contain arbitrary values, including binary with embedded nul
152
+ * bytes. If the field contains a string, the string must be UTF-8 encoded and
153
+ * have a trailing nul byte. Otherwise, @length must be set to a non-negative
154
+ * value.
155
+ *
156
+ * Since: 2.50
157
+ */
158
+ typedef struct _GLogField GLogField;
159
+ struct _GLogField
160
+ {
161
+ const gchar *key;
162
+ gconstpointer value;
163
+ gssize length;
164
+ };
165
+
166
+ /**
167
+ * GLogWriterFunc:
168
+ * @log_level: log level of the message
169
+ * @fields: (array length=n_fields): fields forming the message
170
+ * @n_fields: number of @fields
171
+ * @user_data: user data passed to g_log_set_writer_func()
172
+ *
173
+ * Writer function for log entries. A log entry is a collection of one or more
174
+ * #GLogFields, using the standard [field names from journal
175
+ * specification](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html).
176
+ * See g_log_structured() for more information.
177
+ *
178
+ * Writer functions must ignore fields which they do not recognise, unless they
179
+ * can write arbitrary binary output, as field values may be arbitrary binary.
180
+ *
181
+ * @log_level is guaranteed to be included in @fields as the `PRIORITY` field,
182
+ * but is provided separately for convenience of deciding whether or where to
183
+ * output the log entry.
184
+ *
185
+ * Writer functions should return %G_LOG_WRITER_HANDLED if they handled the log
186
+ * message successfully or if they deliberately ignored it. If there was an
187
+ * error handling the message (for example, if the writer function is meant to
188
+ * send messages to a remote logging server and there is a network error), it
189
+ * should return %G_LOG_WRITER_UNHANDLED. This allows writer functions to be
190
+ * chained and fall back to simpler handlers in case of failure.
191
+ *
192
+ * Returns: %G_LOG_WRITER_HANDLED if the log entry was handled successfully;
193
+ * %G_LOG_WRITER_UNHANDLED otherwise
194
+ *
195
+ * Since: 2.50
196
+ */
197
+ typedef GLogWriterOutput (*GLogWriterFunc) (GLogLevelFlags log_level,
198
+ const GLogField *fields,
199
+ gsize n_fields,
200
+ gpointer user_data);
201
+
202
+ GLIB_AVAILABLE_IN_2_50
203
+ void g_log_structured (const gchar *log_domain,
204
+ GLogLevelFlags log_level,
205
+ ...);
206
+ GLIB_AVAILABLE_IN_2_50
207
+ void g_log_structured_array (GLogLevelFlags log_level,
208
+ const GLogField *fields,
209
+ gsize n_fields);
210
+
211
+ GLIB_AVAILABLE_IN_2_50
212
+ void g_log_variant (const gchar *log_domain,
213
+ GLogLevelFlags log_level,
214
+ GVariant *fields);
215
+
216
+ GLIB_AVAILABLE_IN_2_50
217
+ void g_log_set_writer_func (GLogWriterFunc func,
218
+ gpointer user_data,
219
+ GDestroyNotify user_data_free);
220
+
221
+ GLIB_AVAILABLE_IN_2_50
222
+ gboolean g_log_writer_supports_color (gint output_fd);
223
+ GLIB_AVAILABLE_IN_2_50
224
+ gboolean g_log_writer_is_journald (gint output_fd);
225
+
226
+ GLIB_AVAILABLE_IN_2_50
227
+ gchar *g_log_writer_format_fields (GLogLevelFlags log_level,
228
+ const GLogField *fields,
229
+ gsize n_fields,
230
+ gboolean use_color);
231
+
232
+ GLIB_AVAILABLE_IN_2_50
233
+ GLogWriterOutput g_log_writer_journald (GLogLevelFlags log_level,
234
+ const GLogField *fields,
235
+ gsize n_fields,
236
+ gpointer user_data);
237
+ GLIB_AVAILABLE_IN_2_50
238
+ GLogWriterOutput g_log_writer_standard_streams (GLogLevelFlags log_level,
239
+ const GLogField *fields,
240
+ gsize n_fields,
241
+ gpointer user_data);
242
+ GLIB_AVAILABLE_IN_2_50
243
+ GLogWriterOutput g_log_writer_default (GLogLevelFlags log_level,
244
+ const GLogField *fields,
245
+ gsize n_fields,
246
+ gpointer user_data);
247
+
248
+ GLIB_AVAILABLE_IN_2_68
249
+ void g_log_writer_default_set_use_stderr (gboolean use_stderr);
250
+ GLIB_AVAILABLE_IN_2_68
251
+ gboolean g_log_writer_default_would_drop (GLogLevelFlags log_level,
252
+ const char *log_domain);
253
+
254
+ /* G_MESSAGES_DEBUG enablement */
255
+ GLIB_AVAILABLE_IN_2_72
256
+ gboolean g_log_get_debug_enabled (void);
257
+ GLIB_AVAILABLE_IN_2_72
258
+ void g_log_set_debug_enabled (gboolean enabled);
259
+
260
+ /**
261
+ * G_DEBUG_HERE:
262
+ *
263
+ * A convenience form of g_log_structured(), recommended to be added to
264
+ * functions when debugging. It prints the current monotonic time and the code
265
+ * location using %G_STRLOC.
266
+ *
267
+ * Since: 2.50
268
+ */
269
+ #define G_DEBUG_HERE() \
270
+ g_log_structured (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \
271
+ "CODE_FILE", __FILE__, \
272
+ "CODE_LINE", G_STRINGIFY (__LINE__), \
273
+ "CODE_FUNC", G_STRFUNC, \
274
+ "MESSAGE", "%" G_GINT64_FORMAT ": %s", \
275
+ g_get_monotonic_time (), G_STRLOC)
276
+
277
+ /* internal */
278
+ void _g_log_fallback_handler (const gchar *log_domain,
279
+ GLogLevelFlags log_level,
280
+ const gchar *message,
281
+ gpointer unused_data);
282
+
283
+ /* Internal functions, used to implement the following macros */
284
+ GLIB_AVAILABLE_IN_ALL
285
+ void g_return_if_fail_warning (const char *log_domain,
286
+ const char *pretty_function,
287
+ const char *expression) G_ANALYZER_NORETURN;
288
+ GLIB_AVAILABLE_IN_ALL
289
+ void g_warn_message (const char *domain,
290
+ const char *file,
291
+ int line,
292
+ const char *func,
293
+ const char *warnexpr) G_ANALYZER_NORETURN;
294
+ G_NORETURN
295
+ GLIB_DEPRECATED
296
+ void g_assert_warning (const char *log_domain,
297
+ const char *file,
298
+ const int line,
299
+ const char *pretty_function,
300
+ const char *expression);
301
+
302
+ GLIB_AVAILABLE_IN_2_56
303
+ void g_log_structured_standard (const gchar *log_domain,
304
+ GLogLevelFlags log_level,
305
+ const gchar *file,
306
+ const gchar *line,
307
+ const gchar *func,
308
+ const gchar *message_format,
309
+ ...) G_GNUC_PRINTF (6, 7);
310
+
311
+ #ifndef G_LOG_DOMAIN
312
+ #define G_LOG_DOMAIN ((gchar*) 0)
313
+ #endif /* G_LOG_DOMAIN */
314
+
315
+ #if defined(G_HAVE_ISO_VARARGS) && !G_ANALYZER_ANALYZING
316
+ #if defined(G_LOG_USE_STRUCTURED) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56
317
+ #define g_error(...) G_STMT_START { \
318
+ g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, \
319
+ __FILE__, G_STRINGIFY (__LINE__), \
320
+ G_STRFUNC, __VA_ARGS__); \
321
+ for (;;) ; \
322
+ } G_STMT_END
323
+ #define g_message(...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, \
324
+ __FILE__, G_STRINGIFY (__LINE__), \
325
+ G_STRFUNC, __VA_ARGS__)
326
+ #define g_critical(...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, \
327
+ __FILE__, G_STRINGIFY (__LINE__), \
328
+ G_STRFUNC, __VA_ARGS__)
329
+ #define g_warning(...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, \
330
+ __FILE__, G_STRINGIFY (__LINE__), \
331
+ G_STRFUNC, __VA_ARGS__)
332
+ #define g_info(...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, \
333
+ __FILE__, G_STRINGIFY (__LINE__), \
334
+ G_STRFUNC, __VA_ARGS__)
335
+ #define g_debug(...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \
336
+ __FILE__, G_STRINGIFY (__LINE__), \
337
+ G_STRFUNC, __VA_ARGS__)
338
+ #else
339
+ /* for(;;) ; so that GCC knows that control doesn't go past g_error().
340
+ * Put space before ending semicolon to avoid C++ build warnings.
341
+ */
342
+ #define g_error(...) G_STMT_START { \
343
+ g_log (G_LOG_DOMAIN, \
344
+ G_LOG_LEVEL_ERROR, \
345
+ __VA_ARGS__); \
346
+ for (;;) ; \
347
+ } G_STMT_END
348
+ #define g_message(...) g_log (G_LOG_DOMAIN, \
349
+ G_LOG_LEVEL_MESSAGE, \
350
+ __VA_ARGS__)
351
+ #define g_critical(...) g_log (G_LOG_DOMAIN, \
352
+ G_LOG_LEVEL_CRITICAL, \
353
+ __VA_ARGS__)
354
+ #define g_warning(...) g_log (G_LOG_DOMAIN, \
355
+ G_LOG_LEVEL_WARNING, \
356
+ __VA_ARGS__)
357
+ #define g_info(...) g_log (G_LOG_DOMAIN, \
358
+ G_LOG_LEVEL_INFO, \
359
+ __VA_ARGS__)
360
+ #define g_debug(...) g_log (G_LOG_DOMAIN, \
361
+ G_LOG_LEVEL_DEBUG, \
362
+ __VA_ARGS__)
363
+ #endif
364
+ #elif defined(G_HAVE_GNUC_VARARGS) && !G_ANALYZER_ANALYZING
365
+ #if defined(G_LOG_USE_STRUCTURED) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56
366
+ #define g_error(format...) G_STMT_START { \
367
+ g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, \
368
+ __FILE__, G_STRINGIFY (__LINE__), \
369
+ G_STRFUNC, format); \
370
+ for (;;) ; \
371
+ } G_STMT_END
372
+ #define g_message(format...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, \
373
+ __FILE__, G_STRINGIFY (__LINE__), \
374
+ G_STRFUNC, format)
375
+ #define g_critical(format...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, \
376
+ __FILE__, G_STRINGIFY (__LINE__), \
377
+ G_STRFUNC, format)
378
+ #define g_warning(format...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, \
379
+ __FILE__, G_STRINGIFY (__LINE__), \
380
+ G_STRFUNC, format)
381
+ #define g_info(format...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, \
382
+ __FILE__, G_STRINGIFY (__LINE__), \
383
+ G_STRFUNC, format)
384
+ #define g_debug(format...) g_log_structured_standard (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, \
385
+ __FILE__, G_STRINGIFY (__LINE__), \
386
+ G_STRFUNC, format)
387
+ #else
388
+ #define g_error(format...) G_STMT_START { \
389
+ g_log (G_LOG_DOMAIN, \
390
+ G_LOG_LEVEL_ERROR, \
391
+ format); \
392
+ for (;;) ; \
393
+ } G_STMT_END
394
+
395
+ #define g_message(format...) g_log (G_LOG_DOMAIN, \
396
+ G_LOG_LEVEL_MESSAGE, \
397
+ format)
398
+ #define g_critical(format...) g_log (G_LOG_DOMAIN, \
399
+ G_LOG_LEVEL_CRITICAL, \
400
+ format)
401
+ #define g_warning(format...) g_log (G_LOG_DOMAIN, \
402
+ G_LOG_LEVEL_WARNING, \
403
+ format)
404
+ #define g_info(format...) g_log (G_LOG_DOMAIN, \
405
+ G_LOG_LEVEL_INFO, \
406
+ format)
407
+ #define g_debug(format...) g_log (G_LOG_DOMAIN, \
408
+ G_LOG_LEVEL_DEBUG, \
409
+ format)
410
+ #endif
411
+ #else /* no varargs macros */
412
+ G_NORETURN static void g_error (const gchar *format, ...) G_ANALYZER_NORETURN;
413
+ static void g_critical (const gchar *format, ...) G_ANALYZER_NORETURN;
414
+
415
+ static inline void
416
+ g_error (const gchar *format,
417
+ ...)
418
+ {
419
+ va_list args;
420
+ va_start (args, format);
421
+ g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, format, args);
422
+ va_end (args);
423
+
424
+ for(;;) ;
425
+ }
426
+ static inline void
427
+ g_message (const gchar *format,
428
+ ...)
429
+ {
430
+ va_list args;
431
+ va_start (args, format);
432
+ g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, format, args);
433
+ va_end (args);
434
+ }
435
+ static inline void
436
+ g_critical (const gchar *format,
437
+ ...)
438
+ {
439
+ va_list args;
440
+ va_start (args, format);
441
+ g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, format, args);
442
+ va_end (args);
443
+ }
444
+ static inline void
445
+ g_warning (const gchar *format,
446
+ ...)
447
+ {
448
+ va_list args;
449
+ va_start (args, format);
450
+ g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, format, args);
451
+ va_end (args);
452
+ }
453
+ static inline void
454
+ g_info (const gchar *format,
455
+ ...)
456
+ {
457
+ va_list args;
458
+ va_start (args, format);
459
+ g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format, args);
460
+ va_end (args);
461
+ }
462
+ static inline void
463
+ g_debug (const gchar *format,
464
+ ...)
465
+ {
466
+ va_list args;
467
+ va_start (args, format);
468
+ g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format, args);
469
+ va_end (args);
470
+ }
471
+ #endif /* !__GNUC__ */
472
+
473
+ /**
474
+ * g_warning_once:
475
+ * @...: format string, followed by parameters to insert
476
+ * into the format string (as with printf())
477
+ *
478
+ * Logs a warning only once.
479
+ *
480
+ * g_warning_once() calls g_warning() with the passed message the first time
481
+ * the statement is executed; subsequent times it is a no-op.
482
+ *
483
+ * Note! On platforms where the compiler doesn't support variadic macros, the
484
+ * warning is printed each time instead of only once.
485
+ *
486
+ * Since: 2.64
487
+ */
488
+ #if defined(G_HAVE_ISO_VARARGS) && !G_ANALYZER_ANALYZING
489
+ #define g_warning_once(...) \
490
+ G_STMT_START { \
491
+ static int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; /* (atomic) */ \
492
+ if (g_atomic_int_compare_and_exchange (&G_PASTE (_GWarningOnceBoolean, __LINE__), \
493
+ 0, 1)) \
494
+ g_warning (__VA_ARGS__); \
495
+ } G_STMT_END \
496
+ GLIB_AVAILABLE_MACRO_IN_2_64
497
+ #elif defined(G_HAVE_GNUC_VARARGS) && !G_ANALYZER_ANALYZING
498
+ #define g_warning_once(format...) \
499
+ G_STMT_START { \
500
+ static int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; /* (atomic) */ \
501
+ if (g_atomic_int_compare_and_exchange (&G_PASTE (_GWarningOnceBoolean, __LINE__), \
502
+ 0, 1)) \
503
+ g_warning (format); \
504
+ } G_STMT_END \
505
+ GLIB_AVAILABLE_MACRO_IN_2_64
506
+ #else
507
+ #define g_warning_once g_warning
508
+ #endif
509
+
510
+ /**
511
+ * GPrintFunc:
512
+ * @string: the message to output
513
+ *
514
+ * Specifies the type of the print handler functions.
515
+ * These are called with the complete formatted string to output.
516
+ */
517
+ typedef void (*GPrintFunc) (const gchar *string);
518
+ GLIB_AVAILABLE_IN_ALL
519
+ void g_print (const gchar *format,
520
+ ...) G_GNUC_PRINTF (1, 2);
521
+ GLIB_AVAILABLE_IN_ALL
522
+ GPrintFunc g_set_print_handler (GPrintFunc func);
523
+ GLIB_AVAILABLE_IN_ALL
524
+ void g_printerr (const gchar *format,
525
+ ...) G_GNUC_PRINTF (1, 2);
526
+ GLIB_AVAILABLE_IN_ALL
527
+ GPrintFunc g_set_printerr_handler (GPrintFunc func);
528
+
529
+ /**
530
+ * g_warn_if_reached:
531
+ *
532
+ * Logs a warning.
533
+ *
534
+ * Since: 2.16
535
+ */
536
+ #define g_warn_if_reached() \
537
+ do { \
538
+ g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); \
539
+ } while (0)
540
+
541
+ /**
542
+ * g_warn_if_fail:
543
+ * @expr: the expression to check
544
+ *
545
+ * Logs a warning if the expression is not true.
546
+ *
547
+ * Since: 2.16
548
+ */
549
+ #define g_warn_if_fail(expr) \
550
+ do { \
551
+ if G_LIKELY (expr) ; \
552
+ else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, #expr); \
553
+ } while (0)
554
+
555
+ #ifdef G_DISABLE_CHECKS
556
+
557
+ /**
558
+ * g_return_if_fail:
559
+ * @expr: the expression to check
560
+ *
561
+ * Verifies that the expression @expr, usually representing a precondition,
562
+ * evaluates to %TRUE. If the function returns a value, use
563
+ * g_return_val_if_fail() instead.
564
+ *
565
+ * If @expr evaluates to %FALSE, the current function should be considered to
566
+ * have undefined behaviour (a programmer error). The only correct solution
567
+ * to such an error is to change the module that is calling the current
568
+ * function, so that it avoids this incorrect call.
569
+ *
570
+ * To make this undefined behaviour visible, if @expr evaluates to %FALSE,
571
+ * the result is usually that a critical message is logged and the current
572
+ * function returns.
573
+ *
574
+ * If `G_DISABLE_CHECKS` is defined then the check is not performed. You
575
+ * should therefore not depend on any side effects of @expr.
576
+ *
577
+ * To debug failure of a g_return_if_fail() check, run the code under a debugger
578
+ * with `G_DEBUG=fatal-criticals` or `G_DEBUG=fatal-warnings` defined in the
579
+ * environment (see [Running GLib Applications](glib-running.html)):
580
+ *
581
+ * |[
582
+ * G_DEBUG=fatal-warnings gdb ./my-program
583
+ * ]|
584
+ *
585
+ * Any unrelated failures can be skipped over in
586
+ * [gdb](https://www.gnu.org/software/gdb/) using the `continue` command.
587
+ */
588
+ #define g_return_if_fail(expr) G_STMT_START{ (void)0; }G_STMT_END
589
+
590
+ /**
591
+ * g_return_val_if_fail:
592
+ * @expr: the expression to check
593
+ * @val: the value to return from the current function
594
+ * if the expression is not true
595
+ *
596
+ * Verifies that the expression @expr, usually representing a precondition,
597
+ * evaluates to %TRUE. If the function does not return a value, use
598
+ * g_return_if_fail() instead.
599
+ *
600
+ * If @expr evaluates to %FALSE, the current function should be considered to
601
+ * have undefined behaviour (a programmer error). The only correct solution
602
+ * to such an error is to change the module that is calling the current
603
+ * function, so that it avoids this incorrect call.
604
+ *
605
+ * To make this undefined behaviour visible, if @expr evaluates to %FALSE,
606
+ * the result is usually that a critical message is logged and @val is
607
+ * returned from the current function.
608
+ *
609
+ * If `G_DISABLE_CHECKS` is defined then the check is not performed. You
610
+ * should therefore not depend on any side effects of @expr.
611
+ *
612
+ * See g_return_if_fail() for guidance on how to debug failure of this check.
613
+ */
614
+ #define g_return_val_if_fail(expr,val) G_STMT_START{ (void)0; }G_STMT_END
615
+
616
+ /**
617
+ * g_return_if_reached:
618
+ *
619
+ * Logs a critical message and returns from the current function.
620
+ * This can only be used in functions which do not return a value.
621
+ *
622
+ * See g_return_if_fail() for guidance on how to debug failure of this check.
623
+ */
624
+ #define g_return_if_reached() G_STMT_START{ return; }G_STMT_END
625
+
626
+ /**
627
+ * g_return_val_if_reached:
628
+ * @val: the value to return from the current function
629
+ *
630
+ * Logs a critical message and returns @val.
631
+ *
632
+ * See g_return_if_fail() for guidance on how to debug failure of this check.
633
+ */
634
+ #define g_return_val_if_reached(val) G_STMT_START{ return (val); }G_STMT_END
635
+
636
+ #else /* !G_DISABLE_CHECKS */
637
+
638
+ #define g_return_if_fail(expr) \
639
+ G_STMT_START { \
640
+ if (G_LIKELY (expr)) \
641
+ { } \
642
+ else \
643
+ { \
644
+ g_return_if_fail_warning (G_LOG_DOMAIN, \
645
+ G_STRFUNC, \
646
+ #expr); \
647
+ return; \
648
+ } \
649
+ } G_STMT_END
650
+
651
+ #define g_return_val_if_fail(expr, val) \
652
+ G_STMT_START { \
653
+ if (G_LIKELY (expr)) \
654
+ { } \
655
+ else \
656
+ { \
657
+ g_return_if_fail_warning (G_LOG_DOMAIN, \
658
+ G_STRFUNC, \
659
+ #expr); \
660
+ return (val); \
661
+ } \
662
+ } G_STMT_END
663
+
664
+ #define g_return_if_reached() \
665
+ G_STMT_START { \
666
+ g_log (G_LOG_DOMAIN, \
667
+ G_LOG_LEVEL_CRITICAL, \
668
+ "file %s: line %d (%s): should not be reached", \
669
+ __FILE__, \
670
+ __LINE__, \
671
+ G_STRFUNC); \
672
+ return; \
673
+ } G_STMT_END
674
+
675
+ #define g_return_val_if_reached(val) \
676
+ G_STMT_START { \
677
+ g_log (G_LOG_DOMAIN, \
678
+ G_LOG_LEVEL_CRITICAL, \
679
+ "file %s: line %d (%s): should not be reached", \
680
+ __FILE__, \
681
+ __LINE__, \
682
+ G_STRFUNC); \
683
+ return (val); \
684
+ } G_STMT_END
685
+
686
+ #endif /* !G_DISABLE_CHECKS */
687
+
688
+ G_END_DECLS
689
+
690
+ #endif /* __G_MESSAGES_H__ */