@img/sharp-libvips-dev-wasm32 1.2.4 → 1.3.0-rc.10

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 (217) hide show
  1. package/README.md +23 -22
  2. package/include/aom/aom_codec.h +1 -1
  3. package/include/aom/aom_decoder.h +4 -0
  4. package/include/aom/aom_encoder.h +19 -8
  5. package/include/aom/aom_ext_ratectrl.h +664 -0
  6. package/include/aom/aom_image.h +93 -30
  7. package/include/aom/aom_tpl.h +99 -0
  8. package/include/aom/aomcx.h +89 -16
  9. package/include/aom/aomdx.h +12 -0
  10. package/include/expat.h +15 -3
  11. package/include/expat_config.h +6 -6
  12. package/include/expat_external.h +4 -4
  13. package/include/glib-2.0/gio/gdbusconnection.h +2 -8
  14. package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +8 -1
  15. package/include/glib-2.0/gio/gfileattribute.h +1 -1
  16. package/include/glib-2.0/gio/gfileinfo.h +12 -0
  17. package/include/glib-2.0/gio/gicon.h +1 -1
  18. package/include/glib-2.0/gio/gio-autocleanups.h +0 -1
  19. package/include/glib-2.0/gio/gio-visibility.h +68 -0
  20. package/include/glib-2.0/gio/gio.h +2 -0
  21. package/include/glib-2.0/gio/gioenums.h +66 -44
  22. package/include/glib-2.0/gio/gioenumtypes.h +2 -0
  23. package/include/glib-2.0/gio/giptosmessage.h +46 -0
  24. package/include/glib-2.0/gio/gipv6tclassmessage.h +46 -0
  25. package/include/glib-2.0/gio/gresolver.h +1 -1
  26. package/include/glib-2.0/gio/gsettings.h +1 -1
  27. package/include/glib-2.0/gio/gsocketcontrolmessage.h +2 -0
  28. package/include/glib-2.0/glib/gatomic.h +26 -2
  29. package/include/glib-2.0/glib/gfileutils.h +2 -2
  30. package/include/glib-2.0/glib/ghook.h +3 -1
  31. package/include/glib-2.0/glib/giochannel.h +1 -1
  32. package/include/glib-2.0/glib/gkeyfile.h +1 -1
  33. package/include/glib-2.0/glib/glib-visibility.h +68 -0
  34. package/include/glib-2.0/glib/gmacros.h +36 -0
  35. package/include/glib-2.0/glib/gmain.h +4 -0
  36. package/include/glib-2.0/glib/gmarkup.h +20 -1
  37. package/include/glib-2.0/glib/gmem.h +4 -4
  38. package/include/glib-2.0/glib/gmessages.h +7 -9
  39. package/include/glib-2.0/glib/gnode.h +1 -1
  40. package/include/glib-2.0/glib/goption.h +1 -1
  41. package/include/glib-2.0/glib/gsequence.h +2 -2
  42. package/include/glib-2.0/glib/gslice.h +12 -4
  43. package/include/glib-2.0/glib/gspawn.h +1 -1
  44. package/include/glib-2.0/glib/gstrfuncs.h +191 -1
  45. package/include/glib-2.0/glib/gtestutils.h +6 -3
  46. package/include/glib-2.0/glib/gtimer.h +1 -0
  47. package/include/glib-2.0/glib/gtypes.h +46 -4
  48. package/include/glib-2.0/glib/gunicode.h +13 -1
  49. package/include/glib-2.0/glib/guri.h +3 -3
  50. package/include/glib-2.0/glib/gutils.h +10 -1
  51. package/include/glib-2.0/glib/gvarianttype.h +16 -16
  52. package/include/glib-2.0/glib/gversionmacros.h +31 -0
  53. package/include/glib-2.0/glib-unix.h +4 -0
  54. package/include/glib-2.0/gmodule/gmodule-visibility.h +68 -0
  55. package/include/glib-2.0/gmodule.h +1 -1
  56. package/include/glib-2.0/gobject/gbinding.h +1 -1
  57. package/include/glib-2.0/gobject/genums.h +2 -2
  58. package/include/glib-2.0/gobject/gobject-visibility.h +68 -0
  59. package/include/glib-2.0/gobject/gobject.h +1 -1
  60. package/include/glib-2.0/gobject/gparam.h +1 -1
  61. package/include/glib-2.0/gobject/gsignal.h +8 -8
  62. package/include/glib-2.0/gobject/gtype.h +17 -17
  63. package/include/hwy/aligned_allocator.h +44 -2
  64. package/include/hwy/auto_tune.h +22 -6
  65. package/include/hwy/base.h +60 -90
  66. package/include/hwy/bit_set.h +410 -0
  67. package/include/hwy/cache_control.h +3 -2
  68. package/include/hwy/detect_compiler_arch.h +134 -14
  69. package/include/hwy/detect_targets.h +82 -36
  70. package/include/hwy/highway.h +15 -0
  71. package/include/hwy/nanobenchmark.h +12 -3
  72. package/include/hwy/ops/arm_neon-inl.h +96 -25
  73. package/include/hwy/ops/arm_sve-inl.h +250 -95
  74. package/include/hwy/ops/emu128-inl.h +12 -7
  75. package/include/hwy/ops/generic_ops-inl.h +271 -131
  76. package/include/hwy/ops/loongarch_lasx-inl.h +31 -9
  77. package/include/hwy/ops/loongarch_lsx-inl.h +33 -12
  78. package/include/hwy/ops/ppc_vsx-inl.h +99 -19
  79. package/include/hwy/ops/rvv-inl.h +239 -130
  80. package/include/hwy/ops/scalar-inl.h +22 -7
  81. package/include/hwy/ops/set_macros-inl.h +163 -107
  82. package/include/hwy/ops/wasm_128-inl.h +13 -22
  83. package/include/hwy/ops/x86_128-inl.h +223 -120
  84. package/include/hwy/ops/x86_256-inl.h +70 -134
  85. package/include/hwy/ops/x86_512-inl.h +130 -134
  86. package/include/hwy/print-inl.h +2 -0
  87. package/include/hwy/profiler.h +355 -264
  88. package/include/hwy/robust_statistics.h +3 -1
  89. package/include/hwy/timer.h +44 -0
  90. package/include/lcms2.h +35 -5
  91. package/include/lcms2_plugin.h +1 -1
  92. package/include/libexif/exif-utils.h +1 -1
  93. package/include/libheif/heif.h +2 -0
  94. package/include/libheif/heif_aux_images.h +2 -2
  95. package/include/libheif/heif_brands.h +16 -4
  96. package/include/libheif/heif_color.h +147 -25
  97. package/include/libheif/heif_components.h +264 -0
  98. package/include/libheif/heif_context.h +18 -4
  99. package/include/libheif/heif_cxx.h +20 -18
  100. package/include/libheif/heif_decoding.h +63 -9
  101. package/include/libheif/heif_encoding.h +46 -12
  102. package/include/libheif/heif_error.h +15 -6
  103. package/include/libheif/heif_export.h +48 -0
  104. package/include/libheif/heif_image.h +94 -32
  105. package/include/libheif/heif_image_handle.h +54 -3
  106. package/include/libheif/heif_items.h +25 -2
  107. package/include/libheif/heif_library.h +13 -18
  108. package/include/libheif/heif_metadata.h +5 -2
  109. package/include/libheif/heif_omaf.h +104 -0
  110. package/include/libheif/heif_plugin.h +80 -13
  111. package/include/libheif/heif_properties.h +259 -5
  112. package/include/libheif/heif_regions.h +5 -3
  113. package/include/libheif/heif_security.h +24 -2
  114. package/include/libheif/heif_sequences.h +163 -14
  115. package/include/libheif/heif_text.h +161 -0
  116. package/include/libheif/heif_tiling.h +2 -2
  117. package/include/libheif/heif_uncompressed.h +29 -5
  118. package/include/libheif/heif_version.h +2 -2
  119. package/include/libpng16/png.h +3526 -0
  120. package/include/libpng16/pngconf.h +615 -0
  121. package/include/libpng16/pnglibconf.h +233 -0
  122. package/include/png.h +3526 -0
  123. package/include/pngconf.h +615 -0
  124. package/include/pnglibconf.h +233 -0
  125. package/include/resvg.h +3 -3
  126. package/include/tiffconf.h +9 -10
  127. package/include/tiffio.h +10 -9
  128. package/include/tiffvers.h +1 -1
  129. package/include/ultrahdr_api.h +892 -0
  130. package/include/vips/VError8.h +17 -14
  131. package/include/vips/VImage8.h +235 -32
  132. package/include/vips/arithmetic.h +9 -9
  133. package/include/vips/basic.h +11 -1
  134. package/include/vips/colour.h +19 -2
  135. package/include/vips/conversion.h +8 -8
  136. package/include/vips/convolution.h +1 -1
  137. package/include/vips/create.h +2 -2
  138. package/include/vips/draw.h +1 -1
  139. package/include/vips/enumtypes.h +3 -0
  140. package/include/vips/foreign.h +74 -15
  141. package/include/vips/header.h +22 -0
  142. package/include/vips/image.h +8 -5
  143. package/include/vips/memory.h +1 -1
  144. package/include/vips/morphology.h +1 -1
  145. package/include/vips/operation.h +2 -1
  146. package/include/vips/private.h +5 -10
  147. package/include/vips/region.h +7 -1
  148. package/include/vips/resample.h +2 -2
  149. package/include/vips/semaphore.h +1 -5
  150. package/include/vips/threadpool.h +0 -1
  151. package/include/vips/version.h +6 -6
  152. package/include/zlib.h +5 -5
  153. package/lib/glib-2.0/include/glibconfig.h +2 -4
  154. package/lib/libaom.a +0 -0
  155. package/lib/libcgif.a +0 -0
  156. package/lib/libexif.a +0 -0
  157. package/lib/libexif.la +1 -1
  158. package/lib/libexpat.a +0 -0
  159. package/lib/libexpat.la +2 -2
  160. package/lib/libffi.a +0 -0
  161. package/lib/libgio-2.0.a +0 -0
  162. package/lib/libglib-2.0.a +0 -0
  163. package/lib/libgmodule-2.0.a +0 -0
  164. package/lib/libgobject-2.0.a +0 -0
  165. package/lib/libgthread-2.0.a +0 -0
  166. package/lib/libheif.a +0 -0
  167. package/lib/libhwy.a +0 -0
  168. package/lib/libimagequant.a +0 -0
  169. package/lib/libjpeg.a +0 -0
  170. package/lib/liblcms2.a +0 -0
  171. package/lib/libpng.a +0 -0
  172. package/lib/{libsharpyuv.la → libpng.la} +8 -8
  173. package/lib/libpng16.a +0 -0
  174. package/lib/{libwebp.la → libpng16.la} +7 -7
  175. package/lib/libresvg.a +0 -0
  176. package/lib/libsharpyuv.a +0 -0
  177. package/lib/libtiff.a +0 -0
  178. package/lib/libuhdr.a +0 -0
  179. package/lib/libvips-cpp.a +0 -0
  180. package/lib/libvips.a +0 -0
  181. package/lib/libwebp.a +0 -0
  182. package/lib/libwebpdecoder.a +0 -0
  183. package/lib/libwebpdemux.a +0 -0
  184. package/lib/libwebpmux.a +0 -0
  185. package/lib/libz.a +0 -0
  186. package/lib/pkgconfig/aom.pc +2 -2
  187. package/lib/pkgconfig/cgif.pc +1 -1
  188. package/lib/pkgconfig/expat.pc +1 -1
  189. package/lib/pkgconfig/gio-2.0.pc +1 -1
  190. package/lib/pkgconfig/glib-2.0.pc +1 -1
  191. package/lib/pkgconfig/gmodule-2.0.pc +1 -1
  192. package/lib/pkgconfig/gmodule-export-2.0.pc +1 -1
  193. package/lib/pkgconfig/gmodule-no-export-2.0.pc +1 -1
  194. package/lib/pkgconfig/gobject-2.0.pc +1 -1
  195. package/lib/pkgconfig/gthread-2.0.pc +1 -1
  196. package/lib/pkgconfig/lcms2.pc +1 -1
  197. package/lib/pkgconfig/libexif.pc +1 -1
  198. package/lib/pkgconfig/libheif.pc +1 -1
  199. package/lib/pkgconfig/libhwy.pc +3 -4
  200. package/lib/pkgconfig/libpng.pc +12 -0
  201. package/lib/pkgconfig/libpng16.pc +12 -0
  202. package/lib/pkgconfig/libsharpyuv.pc +1 -1
  203. package/lib/pkgconfig/libtiff-4.pc +2 -2
  204. package/lib/pkgconfig/libuhdr.pc +11 -0
  205. package/lib/pkgconfig/libwebp.pc +1 -1
  206. package/lib/pkgconfig/libwebpdecoder.pc +11 -0
  207. package/lib/pkgconfig/libwebpmux.pc +1 -1
  208. package/lib/pkgconfig/vips-cpp.pc +2 -2
  209. package/lib/pkgconfig/vips.pc +2 -2
  210. package/package.json +1 -1
  211. package/versions.json +15 -14
  212. package/include/spng.h +0 -537
  213. package/lib/libspng.a +0 -0
  214. package/lib/libtiff.la +0 -41
  215. package/lib/libwebpdemux.la +0 -41
  216. package/lib/libwebpmux.la +0 -41
  217. package/lib/pkgconfig/spng.pc +0 -10
@@ -54,7 +54,7 @@ typedef enum {
54
54
  G_ASCII_SPACE = 1 << 8,
55
55
  G_ASCII_UPPER = 1 << 9,
56
56
  G_ASCII_XDIGIT = 1 << 10
57
- } GAsciiType;
57
+ } G_GNUC_FLAG_ENUM GAsciiType;
58
58
 
59
59
  GLIB_VAR const guint16 * const g_ascii_table;
60
60
 
@@ -471,6 +471,9 @@ gboolean g_ascii_string_to_unsigned (const gchar *str,
471
471
  * }
472
472
  * ```
473
473
  *
474
+ * See also [func@GLib.set_str_take] for a version of this which steals
475
+ * ownership of @new_str.
476
+ *
474
477
  * Returns: true if the value of @str_pointer changed, false otherwise
475
478
  *
476
479
  * Since: 2.76
@@ -497,6 +500,193 @@ g_set_str (char **str_pointer,
497
500
  return TRUE;
498
501
  }
499
502
 
503
+ /**
504
+ * g_set_str_take: (skip)
505
+ * @str_pointer: (inout) (not optional) (nullable): a pointer to either
506
+ * a string or `NULL`
507
+ * @new_str: (transfer full) (nullable): a string to assign to @str_pointer
508
+ *
509
+ * Updates a pointer to a string to @new_str and returns whether the
510
+ * string was changed. Steals ownership of @new_str.
511
+ *
512
+ * If @new_str matches the previous string, this function will free @new_str and
513
+ * leave @str_pointer unchanged. If @new_str is different, it will be assigned
514
+ * to @str_pointer and the previous string pointed to by @str_pointer will be
515
+ * freed with [func@GLib.free].
516
+ *
517
+ * @str_pointer must not be `NULL`, but can point to a `NULL` value.
518
+ *
519
+ * One convenient usage of this function is in implementing property settings:
520
+ * ```C
521
+ * void
522
+ * foo_set_bar (Foo *foo,
523
+ * const char *new_bar)
524
+ * {
525
+ * g_autofree computed_new_bar = NULL;
526
+ *
527
+ * g_return_if_fail (IS_FOO (foo));
528
+ *
529
+ * computed_new_bar = g_strconcat (new_bar, "some-suffix", NULL);
530
+ *
531
+ * if (g_set_str_take (&foo->bar, g_steal_pointer (&computed_new_bar)))
532
+ * g_object_notify (foo, "bar");
533
+ * }
534
+ * ```
535
+ *
536
+ * See also [func@GLib.set_str] for a version of this which takes a copy of
537
+ * @new_str.
538
+ *
539
+ * Returns: true if the value of @str_pointer changed, false otherwise
540
+ *
541
+ * Since: 2.90
542
+ */
543
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_90
544
+ static inline gboolean g_set_str_take (char **str_pointer,
545
+ char *new_str);
546
+
547
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_90
548
+ static inline gboolean
549
+ g_set_str_take (char **str_pointer,
550
+ char *new_str)
551
+ {
552
+ /* You could pass the value of `*str_pointer` in to this function, but you
553
+ * really should do it using g_steal_pointer() to document the ownership
554
+ * transfer. */
555
+ if (*str_pointer == new_str)
556
+ return FALSE;
557
+
558
+ if (*str_pointer != NULL &&
559
+ new_str != NULL &&
560
+ strcmp (*str_pointer, new_str) == 0)
561
+ {
562
+ g_free (new_str);
563
+ return FALSE;
564
+ }
565
+
566
+ g_free (*str_pointer);
567
+ *str_pointer = new_str;
568
+ new_str = NULL; /* stolen */
569
+
570
+ return TRUE;
571
+ }
572
+
573
+ /**
574
+ * g_set_strv: (skip)
575
+ * @strv_pointer: (inout) (not optional) (nullable): a pointer to either
576
+ * a `NULL`-terminated string array or `NULL`
577
+ * @new_strv: (nullable): a NULL-terminated string array to assign to
578
+ * @strv_pointer
579
+ *
580
+ * Safely replaces a string vector.
581
+ *
582
+ * Updates a pointer to a `NULL`-terminated string array to a copy of @new_strv
583
+ * and returns whether the value was changed.
584
+ *
585
+ * If @new_strv matches the previous array, this function is a no-op. If
586
+ * @new_strv is different, a copy of it will be assigned to @strv_pointer and
587
+ * the previous array pointed to by @strv_pointer will be freed with
588
+ * [func@GLib.strfreev].
589
+ *
590
+ * The contents of both string arrays are compared for equality before
591
+ * replacing the value. In the worst case this requires O(N) time.
592
+ *
593
+ * This function avoids a potential use-after-free when @new_strv reuses
594
+ * pointers from the original string array. This allows callers to build
595
+ * a replacement array using existing strings without needing to copy
596
+ * them beforehand.
597
+ *
598
+ * @strv_pointer must not be `NULL`, but can point to a `NULL` value.
599
+ *
600
+ * Returns: true if the value of @strv_pointer changed, false otherwise
601
+ *
602
+ * Since: 2.90
603
+ */
604
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_90
605
+ static inline gboolean g_set_strv (char ***strv_pointer,
606
+ const char * const *new_strv);
607
+
608
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_90
609
+ static inline gboolean
610
+ g_set_strv (char ***strv_pointer,
611
+ const char * const *new_strv)
612
+ {
613
+ char **copy;
614
+
615
+ if ((const char * const *)*strv_pointer == new_strv)
616
+ return FALSE;
617
+
618
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
619
+ if (*strv_pointer && new_strv &&
620
+ g_strv_equal ((const char * const *)*strv_pointer, new_strv))
621
+ return FALSE;
622
+ G_GNUC_END_IGNORE_DEPRECATIONS
623
+
624
+ copy = g_strdupv ((char **) (guintptr) new_strv);
625
+ g_strfreev (*strv_pointer);
626
+ *strv_pointer = copy;
627
+
628
+ return TRUE;
629
+ }
630
+
631
+ /**
632
+ * g_set_strv_take: (skip)
633
+ * @strv_pointer: (inout) (not optional) (nullable): a pointer to either
634
+ * a `NULL`-terminated string array or `NULL`
635
+ * @new_strv: (transfer full) (nullable): a `NULL`-terminated string array to
636
+ * assign to @strv_pointer
637
+ *
638
+ * Safely replaces a string vector, taking ownership of the new value.
639
+ *
640
+ * Updates a pointer to a `NULL`-terminated string array to @new_strv and
641
+ * returns whether the value was changed.
642
+ *
643
+ * If @new_strv contains the same strings as the previous array, this function
644
+ * is a no-op. If @new_strv is different, it will be assigned to @strv_pointer
645
+ * and the previous array pointed to by @strv_pointer will be freed with
646
+ * [func@GLib.strfreev].
647
+ *
648
+ * If @new_strv does not replace the existing value, it will be freed with
649
+ * [func@GLib.strfreev], unless it is `NULL`.
650
+ *
651
+ * The contents of both string arrays are compared for equality before
652
+ * replacing the value. In the worst case this requires O(N) time.
653
+ *
654
+ * @strv_pointer must not be `NULL`, but can point to a `NULL` value.
655
+ * @new_strv must be `NULL` or a string array not already stored in
656
+ * @strv_pointer.
657
+ *
658
+ * Returns: true if the value of @strv_pointer changed, false otherwise
659
+ *
660
+ * Since: 2.90
661
+ */
662
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_90
663
+ static inline gboolean g_set_strv_take (char ***strv_pointer,
664
+ char **new_strv);
665
+
666
+ GLIB_AVAILABLE_STATIC_INLINE_IN_2_90
667
+ static inline gboolean
668
+ g_set_strv_take (char ***strv_pointer,
669
+ char **new_strv)
670
+ {
671
+ if (*strv_pointer == NULL && new_strv == NULL)
672
+ return FALSE;
673
+
674
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
675
+ if (*strv_pointer && new_strv &&
676
+ g_strv_equal ((const char * const *)*strv_pointer,
677
+ (const char * const *)new_strv))
678
+ {
679
+ g_strfreev (new_strv);
680
+ return FALSE;
681
+ }
682
+ G_GNUC_END_IGNORE_DEPRECATIONS
683
+
684
+ g_strfreev (*strv_pointer);
685
+ *strv_pointer = new_strv;
686
+
687
+ return TRUE;
688
+ }
689
+
500
690
  G_END_DECLS
501
691
 
502
692
  #endif /* __G_STRFUNCS_H__ */
@@ -526,7 +526,7 @@ typedef enum {
526
526
  G_TEST_TRAP_SILENCE_STDOUT = 1 << 7,
527
527
  G_TEST_TRAP_SILENCE_STDERR = 1 << 8,
528
528
  G_TEST_TRAP_INHERIT_STDIN = 1 << 9
529
- } GTestTrapFlags GLIB_DEPRECATED_TYPE_IN_2_38_FOR(GTestSubprocessFlags);
529
+ } G_GNUC_FLAG_ENUM GTestTrapFlags GLIB_DEPRECATED_TYPE_IN_2_38_FOR(GTestSubprocessFlags);
530
530
 
531
531
  G_GNUC_BEGIN_IGNORE_DEPRECATIONS
532
532
 
@@ -540,8 +540,9 @@ typedef enum {
540
540
  G_TEST_SUBPROCESS_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0,
541
541
  G_TEST_SUBPROCESS_INHERIT_STDIN = 1 << 0,
542
542
  G_TEST_SUBPROCESS_INHERIT_STDOUT = 1 << 1,
543
- G_TEST_SUBPROCESS_INHERIT_STDERR = 1 << 2
544
- } GTestSubprocessFlags;
543
+ G_TEST_SUBPROCESS_INHERIT_STDERR = 1 << 2,
544
+ G_TEST_SUBPROCESS_INHERIT_DESCRIPTORS GLIB_AVAILABLE_ENUMERATOR_IN_2_88 = 1 << 3,
545
+ } G_GNUC_FLAG_ENUM GTestSubprocessFlags;
545
546
 
546
547
  GLIB_AVAILABLE_IN_2_38
547
548
  void g_test_trap_subprocess (const char *test_path,
@@ -555,6 +556,8 @@ void g_test_trap_subprocess_with_envp (const char *test_path,
555
556
 
556
557
  GLIB_AVAILABLE_IN_ALL
557
558
  gboolean g_test_trap_has_passed (void);
559
+ GLIB_AVAILABLE_IN_2_88
560
+ gboolean g_test_trap_has_skipped (void);
558
561
  GLIB_AVAILABLE_IN_ALL
559
562
  gboolean g_test_trap_reached_timeout (void);
560
563
  #define g_test_trap_assert_passed() g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 0, 0)
@@ -42,6 +42,7 @@ G_BEGIN_DECLS
42
42
  typedef struct _GTimer GTimer;
43
43
 
44
44
  #define G_USEC_PER_SEC 1000000
45
+ #define G_NSEC_PER_SEC G_GUINT64_CONSTANT(1000000000) GLIB_AVAILABLE_MACRO_IN_2_88
45
46
 
46
47
  GLIB_AVAILABLE_IN_ALL
47
48
  GTimer* g_timer_new (void);
@@ -448,15 +448,38 @@ typedef const gchar * (*GTranslateFunc) (const gchar *str,
448
448
  /* Overflow-checked unsigned integer arithmetic
449
449
  */
450
450
  #ifndef _GLIB_TEST_OVERFLOW_FALLBACK
451
+ #if defined(HAVE_STDCKDINT_H)
452
+ #define _GLIB_HAVE_STD_OVERFLOW_CHECKS
451
453
  /* https://bugzilla.gnome.org/show_bug.cgi?id=769104 */
452
- #if __GNUC__ >= 5 && !defined(__INTEL_COMPILER)
454
+ #elif __GNUC__ >= 5 && !defined(__INTEL_COMPILER)
453
455
  #define _GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS
454
456
  #elif g_macro__has_builtin(__builtin_add_overflow)
455
457
  #define _GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS
458
+ #elif defined(G_OS_WIN32) && defined(HAVE_INTSAFE_H)
459
+ #define _GLIB_HAVE_INTSAFE_OVERFLOW_CHECKS
456
460
  #endif
457
461
  #endif
458
462
 
459
- #ifdef _GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS
463
+ #ifdef _GLIB_HAVE_STD_OVERFLOW_CHECKS
464
+
465
+ #include <stdckdint.h>
466
+
467
+ #define g_uint_checked_add(dest, a, b) \
468
+ (!ckd_add (dest, a, b))
469
+ #define g_uint_checked_mul(dest, a, b) \
470
+ (!ckd_mul (dest, a, b))
471
+
472
+ #define g_uint64_checked_add(dest, a, b) \
473
+ (!ckd_add (dest, a, b))
474
+ #define g_uint64_checked_mul(dest, a, b) \
475
+ (!ckd_mul (dest, a, b))
476
+
477
+ #define g_size_checked_add(dest, a, b) \
478
+ (!ckd_add (dest, a, b))
479
+ #define g_size_checked_mul(dest, a, b) \
480
+ (!ckd_mul (dest, a, b))
481
+
482
+ #elif defined(_GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS)
460
483
 
461
484
  #define g_uint_checked_add(dest, a, b) \
462
485
  (!__builtin_add_overflow(a, b, dest))
@@ -473,7 +496,26 @@ typedef const gchar * (*GTranslateFunc) (const gchar *str,
473
496
  #define g_size_checked_mul(dest, a, b) \
474
497
  (!__builtin_mul_overflow(a, b, dest))
475
498
 
476
- #else /* !_GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS */
499
+ #elif defined(_GLIB_HAVE_INTSAFE_OVERFLOW_CHECKS)
500
+
501
+ #include <intsafe.h>
502
+
503
+ #define g_uint_checked_add(dest, a, b) \
504
+ (!UIntAdd (a, b, dest))
505
+ #define g_uint_checked_mul(dest, a, b) \
506
+ (!UIntMult (a, b, dest))
507
+
508
+ #define g_uint64_checked_add(dest, a, b) \
509
+ (!ULongLongAdd (a, b, dest))
510
+ #define g_uint64_checked_mul(dest, a, b) \
511
+ (!ULongLongMult (a, b, dest))
512
+
513
+ #define g_size_checked_add(dest, a, b) \
514
+ (!SizeTAdd (a, b, dest))
515
+ #define g_size_checked_mul(dest, a, b) \
516
+ (!SizeTMult (a, b, dest))
517
+
518
+ #else /* !_GLIB_HAVE_STD_OVERFLOW_CHECKS */
477
519
 
478
520
  /* The names of the following inlines are private. Use the macro
479
521
  * definitions above.
@@ -506,7 +548,7 @@ static inline gboolean _GLIB_CHECKED_MUL_SIZE (gsize *dest, gsize a, gsize b) {
506
548
  #define g_size_checked_mul(dest, a, b) \
507
549
  _GLIB_CHECKED_MUL_SIZE(dest, a, b)
508
550
 
509
- #endif /* !_GLIB_HAVE_BUILTIN_OVERFLOW_CHECKS */
551
+ #endif /* !_GLIB_HAVE_STD_OVERFLOW_CHECKS */
510
552
 
511
553
  /* IEEE Standard 754 Single Precision Storage Format (gfloat):
512
554
  *
@@ -209,6 +209,7 @@ typedef enum
209
209
  * @G_UNICODE_BREAK_AKSARA_START: Aksara Start (AS). Since: 2.80
210
210
  * @G_UNICODE_BREAK_VIRAMA_FINAL: Virama Final (VF). Since: 2.80
211
211
  * @G_UNICODE_BREAK_VIRAMA: Virama (VI). Since: 2.80
212
+ * @G_UNICODE_BREAK_UNAMBIGUOUS_HYPHEN: Unambiguous Hyphen (HH). Since: 2.88
212
213
  *
213
214
  * These are the possible line break classifications.
214
215
  *
@@ -267,7 +268,8 @@ typedef enum
267
268
  G_UNICODE_BREAK_AKSARA_PRE_BASE,
268
269
  G_UNICODE_BREAK_AKSARA_START,
269
270
  G_UNICODE_BREAK_VIRAMA_FINAL,
270
- G_UNICODE_BREAK_VIRAMA
271
+ G_UNICODE_BREAK_VIRAMA,
272
+ G_UNICODE_BREAK_UNAMBIGUOUS_HYPHEN GLIB_AVAILABLE_ENUMERATOR_IN_2_88,
271
273
  } GUnicodeBreakType;
272
274
 
273
275
  /**
@@ -457,6 +459,10 @@ typedef enum
457
459
  * @G_UNICODE_SCRIPT_GURUNG_KHEMA: Gurung Khema. Since: 2.84
458
460
  * @G_UNICODE_SCRIPT_KIRAT_RAI: Kirat Rai. Since: 2.84
459
461
  * @G_UNICODE_SCRIPT_OL_ONAL: Ol Onal. Since: 2.84
462
+ * @G_UNICODE_SCRIPT_SIDETIC: Sidetic. Since: 2.88
463
+ * @G_UNICODE_SCRIPT_TOLONG_SIKI: Tolong Siki. Since: 2.88
464
+ * @G_UNICODE_SCRIPT_TAI_YO: Tai Yo. Since: 2.88
465
+ * @G_UNICODE_SCRIPT_BERIA_ERFE: Beria Erfe. Since: 2.88
460
466
  *
461
467
  * The #GUnicodeScript enumeration identifies different writing
462
468
  * systems. The values correspond to the names as defined in the
@@ -678,6 +684,12 @@ typedef enum
678
684
  G_UNICODE_SCRIPT_GURUNG_KHEMA GLIB_AVAILABLE_ENUMERATOR_IN_2_84, /* Gukh */
679
685
  G_UNICODE_SCRIPT_KIRAT_RAI GLIB_AVAILABLE_ENUMERATOR_IN_2_84, /* Krai */
680
686
  G_UNICODE_SCRIPT_OL_ONAL GLIB_AVAILABLE_ENUMERATOR_IN_2_84, /* Onao */
687
+
688
+ /* Unicode 17.0 additions */
689
+ G_UNICODE_SCRIPT_SIDETIC GLIB_AVAILABLE_ENUMERATOR_IN_2_88, /* Sidt */
690
+ G_UNICODE_SCRIPT_TOLONG_SIKI GLIB_AVAILABLE_ENUMERATOR_IN_2_88, /* Tols */
691
+ G_UNICODE_SCRIPT_TAI_YO GLIB_AVAILABLE_ENUMERATOR_IN_2_88, /* Tayo */
692
+ G_UNICODE_SCRIPT_BERIA_ERFE GLIB_AVAILABLE_ENUMERATOR_IN_2_88, /* Berf */
681
693
  } GUnicodeScript;
682
694
 
683
695
  GLIB_AVAILABLE_IN_ALL
@@ -90,7 +90,7 @@ typedef enum {
90
90
  G_URI_FLAGS_ENCODED_PATH = 1 << 6,
91
91
  G_URI_FLAGS_ENCODED_FRAGMENT = 1 << 7,
92
92
  G_URI_FLAGS_SCHEME_NORMALIZE GLIB_AVAILABLE_ENUMERATOR_IN_2_68 = 1 << 8,
93
- } GUriFlags;
93
+ } G_GNUC_FLAG_ENUM GUriFlags;
94
94
 
95
95
  GLIB_AVAILABLE_IN_2_66
96
96
  gboolean g_uri_split (const gchar *uri_ref,
@@ -211,7 +211,7 @@ typedef enum {
211
211
  G_URI_HIDE_AUTH_PARAMS = 1 << 2,
212
212
  G_URI_HIDE_QUERY = 1 << 3,
213
213
  G_URI_HIDE_FRAGMENT = 1 << 4,
214
- } GUriHideFlags;
214
+ } G_GNUC_FLAG_ENUM GUriHideFlags;
215
215
 
216
216
  GLIB_AVAILABLE_IN_2_66
217
217
  char * g_uri_to_string (GUri *uri);
@@ -261,7 +261,7 @@ typedef enum {
261
261
  G_URI_PARAMS_CASE_INSENSITIVE = 1 << 0,
262
262
  G_URI_PARAMS_WWW_FORM = 1 << 1,
263
263
  G_URI_PARAMS_PARSE_RELAXED = 1 << 2,
264
- } GUriParamsFlags;
264
+ } G_GNUC_FLAG_ENUM GUriParamsFlags;
265
265
 
266
266
  GLIB_AVAILABLE_IN_2_66
267
267
  GHashTable *g_uri_parse_params (const gchar *params,
@@ -248,6 +248,15 @@ typedef enum {
248
248
  G_USER_DIRECTORY_TEMPLATES,
249
249
  G_USER_DIRECTORY_VIDEOS,
250
250
 
251
+ /**
252
+ * G_USER_DIRECTORY_PROJECTS:
253
+ *
254
+ * The user's Projects directory.
255
+ *
256
+ * Since: 2.90
257
+ */
258
+ G_USER_DIRECTORY_PROJECTS,
259
+
251
260
  G_USER_N_DIRECTORIES
252
261
  } GUserDirectory;
253
262
 
@@ -299,7 +308,7 @@ typedef enum
299
308
  G_FORMAT_SIZE_BITS = 1 << 2,
300
309
  G_FORMAT_SIZE_ONLY_VALUE GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 1 << 3,
301
310
  G_FORMAT_SIZE_ONLY_UNIT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 1 << 4
302
- } GFormatSizeFlags;
311
+ } G_GNUC_FLAG_ENUM GFormatSizeFlags;
303
312
 
304
313
  GLIB_AVAILABLE_IN_2_30
305
314
  gchar *g_format_size_full (guint64 size,
@@ -302,7 +302,7 @@ typedef struct _GVariantType GVariantType;
302
302
 
303
303
  /* type string checking */
304
304
  GLIB_AVAILABLE_IN_ALL
305
- gboolean g_variant_type_string_is_valid (const gchar *type_string) G_GNUC_CONST;
305
+ gboolean g_variant_type_string_is_valid (const gchar *type_string) G_GNUC_PURE;
306
306
  GLIB_AVAILABLE_IN_ALL
307
307
  gboolean g_variant_type_string_scan (const gchar *string,
308
308
  const gchar *limit,
@@ -326,21 +326,21 @@ gchar * g_variant_type_dup_string (const G
326
326
 
327
327
  /* classification */
328
328
  GLIB_AVAILABLE_IN_ALL
329
- gboolean g_variant_type_is_definite (const GVariantType *type) G_GNUC_CONST;
329
+ gboolean g_variant_type_is_definite (const GVariantType *type) G_GNUC_PURE;
330
330
  GLIB_AVAILABLE_IN_ALL
331
- gboolean g_variant_type_is_container (const GVariantType *type) G_GNUC_CONST;
331
+ gboolean g_variant_type_is_container (const GVariantType *type) G_GNUC_PURE;
332
332
  GLIB_AVAILABLE_IN_ALL
333
- gboolean g_variant_type_is_basic (const GVariantType *type) G_GNUC_CONST;
333
+ gboolean g_variant_type_is_basic (const GVariantType *type) G_GNUC_PURE;
334
334
  GLIB_AVAILABLE_IN_ALL
335
- gboolean g_variant_type_is_maybe (const GVariantType *type) G_GNUC_CONST;
335
+ gboolean g_variant_type_is_maybe (const GVariantType *type) G_GNUC_PURE;
336
336
  GLIB_AVAILABLE_IN_ALL
337
- gboolean g_variant_type_is_array (const GVariantType *type) G_GNUC_CONST;
337
+ gboolean g_variant_type_is_array (const GVariantType *type) G_GNUC_PURE;
338
338
  GLIB_AVAILABLE_IN_ALL
339
- gboolean g_variant_type_is_tuple (const GVariantType *type) G_GNUC_CONST;
339
+ gboolean g_variant_type_is_tuple (const GVariantType *type) G_GNUC_PURE;
340
340
  GLIB_AVAILABLE_IN_ALL
341
- gboolean g_variant_type_is_dict_entry (const GVariantType *type) G_GNUC_CONST;
341
+ gboolean g_variant_type_is_dict_entry (const GVariantType *type) G_GNUC_PURE;
342
342
  GLIB_AVAILABLE_IN_ALL
343
- gboolean g_variant_type_is_variant (const GVariantType *type) G_GNUC_CONST;
343
+ gboolean g_variant_type_is_variant (const GVariantType *type) G_GNUC_PURE;
344
344
 
345
345
  /* for hash tables */
346
346
  GLIB_AVAILABLE_IN_ALL
@@ -352,21 +352,21 @@ gboolean g_variant_type_equal (gconstp
352
352
  /* subtypes */
353
353
  GLIB_AVAILABLE_IN_ALL
354
354
  gboolean g_variant_type_is_subtype_of (const GVariantType *type,
355
- const GVariantType *supertype) G_GNUC_CONST;
355
+ const GVariantType *supertype) G_GNUC_PURE;
356
356
 
357
357
  /* type iterator interface */
358
358
  GLIB_AVAILABLE_IN_ALL
359
- const GVariantType * g_variant_type_element (const GVariantType *type) G_GNUC_CONST;
359
+ const GVariantType * g_variant_type_element (const GVariantType *type) G_GNUC_PURE;
360
360
  GLIB_AVAILABLE_IN_ALL
361
- const GVariantType * g_variant_type_first (const GVariantType *type) G_GNUC_CONST;
361
+ const GVariantType * g_variant_type_first (const GVariantType *type) G_GNUC_PURE;
362
362
  GLIB_AVAILABLE_IN_ALL
363
- const GVariantType * g_variant_type_next (const GVariantType *type) G_GNUC_CONST;
363
+ const GVariantType * g_variant_type_next (const GVariantType *type) G_GNUC_PURE;
364
364
  GLIB_AVAILABLE_IN_ALL
365
- gsize g_variant_type_n_items (const GVariantType *type) G_GNUC_CONST;
365
+ gsize g_variant_type_n_items (const GVariantType *type) G_GNUC_PURE;
366
366
  GLIB_AVAILABLE_IN_ALL
367
- const GVariantType * g_variant_type_key (const GVariantType *type) G_GNUC_CONST;
367
+ const GVariantType * g_variant_type_key (const GVariantType *type) G_GNUC_PURE;
368
368
  GLIB_AVAILABLE_IN_ALL
369
- const GVariantType * g_variant_type_value (const GVariantType *type) G_GNUC_CONST;
369
+ const GVariantType * g_variant_type_value (const GVariantType *type) G_GNUC_PURE;
370
370
 
371
371
  /* constructors */
372
372
  GLIB_AVAILABLE_IN_ALL
@@ -33,6 +33,19 @@
33
33
 
34
34
  /* Version boundaries checks */
35
35
 
36
+ /**
37
+ * G_ENCODE_VERSION:
38
+ * @major: major version number
39
+ * @minor: minor version number
40
+ *
41
+ * Encode a major.minor version as a single integer.
42
+ *
43
+ * This is the encoding used by macros such as `GLIB_VERSION_2_84` and
44
+ * `GLIB_VERSION_CUR_STABLE`, and is intended to be used when (for example)
45
+ * setting the value of `GLIB_VERSION_MAX_ALLOWED`.
46
+ *
47
+ * Since: 2.32
48
+ */
36
49
  #define G_ENCODE_VERSION(major, minor) ((major) << 16 | (minor) << 8)
37
50
 
38
51
  /**
@@ -422,6 +435,24 @@
422
435
  * Since: 2.86
423
436
  */
424
437
  #define GLIB_VERSION_2_86 (G_ENCODE_VERSION (2, 86))
438
+ /**
439
+ * GLIB_VERSION_2_88:
440
+ *
441
+ * A macro that evaluates to the 2.88 version of GLib, in a format
442
+ * that can be used by the C pre-processor.
443
+ *
444
+ * Since: 2.88
445
+ */
446
+ #define GLIB_VERSION_2_88 (G_ENCODE_VERSION (2, 88))
447
+ /**
448
+ * GLIB_VERSION_2_90:
449
+ *
450
+ * A macro that evaluates to the 2.90 version of GLib, in a format
451
+ * that can be used by the C pre-processor.
452
+ *
453
+ * Since: 2.90
454
+ */
455
+ #define GLIB_VERSION_2_90 (G_ENCODE_VERSION (2, 90))
425
456
 
426
457
  /**
427
458
  * GLIB_VERSION_CUR_STABLE:
@@ -353,6 +353,10 @@ int g_closefrom (int lowfd);
353
353
  GLIB_AVAILABLE_IN_2_80
354
354
  int g_fdwalk_set_cloexec (int lowfd);
355
355
 
356
+ GLIB_AVAILABLE_IN_2_88
357
+ char * g_unix_fd_query_path (int fd,
358
+ GError **error);
359
+
356
360
  G_GNUC_END_IGNORE_DEPRECATIONS
357
361
 
358
362
  G_END_DECLS
@@ -1086,3 +1086,71 @@
1086
1086
  #define GMODULE_AVAILABLE_ENUMERATOR_IN_2_86
1087
1087
  #define GMODULE_AVAILABLE_TYPE_IN_2_86
1088
1088
  #endif
1089
+
1090
+ #if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_88
1091
+ #define GMODULE_DEPRECATED_IN_2_88 GMODULE_DEPRECATED
1092
+ #define GMODULE_DEPRECATED_IN_2_88_FOR(f) GMODULE_DEPRECATED_FOR (f)
1093
+ #define GMODULE_DEPRECATED_MACRO_IN_2_88 GLIB_DEPRECATED_MACRO
1094
+ #define GMODULE_DEPRECATED_MACRO_IN_2_88_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f)
1095
+ #define GMODULE_DEPRECATED_ENUMERATOR_IN_2_88 GLIB_DEPRECATED_ENUMERATOR
1096
+ #define GMODULE_DEPRECATED_ENUMERATOR_IN_2_88_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f)
1097
+ #define GMODULE_DEPRECATED_TYPE_IN_2_88 GLIB_DEPRECATED_TYPE
1098
+ #define GMODULE_DEPRECATED_TYPE_IN_2_88_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f)
1099
+ #else
1100
+ #define GMODULE_DEPRECATED_IN_2_88 _GMODULE_EXTERN
1101
+ #define GMODULE_DEPRECATED_IN_2_88_FOR(f) _GMODULE_EXTERN
1102
+ #define GMODULE_DEPRECATED_MACRO_IN_2_88
1103
+ #define GMODULE_DEPRECATED_MACRO_IN_2_88_FOR(f)
1104
+ #define GMODULE_DEPRECATED_ENUMERATOR_IN_2_88
1105
+ #define GMODULE_DEPRECATED_ENUMERATOR_IN_2_88_FOR(f)
1106
+ #define GMODULE_DEPRECATED_TYPE_IN_2_88
1107
+ #define GMODULE_DEPRECATED_TYPE_IN_2_88_FOR(f)
1108
+ #endif
1109
+
1110
+ #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_88
1111
+ #define GMODULE_AVAILABLE_IN_2_88 GMODULE_UNAVAILABLE (2, 88)
1112
+ #define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_88 GLIB_UNAVAILABLE_STATIC_INLINE (2, 88)
1113
+ #define GMODULE_AVAILABLE_MACRO_IN_2_88 GLIB_UNAVAILABLE_MACRO (2, 88)
1114
+ #define GMODULE_AVAILABLE_ENUMERATOR_IN_2_88 GLIB_UNAVAILABLE_ENUMERATOR (2, 88)
1115
+ #define GMODULE_AVAILABLE_TYPE_IN_2_88 GLIB_UNAVAILABLE_TYPE (2, 88)
1116
+ #else
1117
+ #define GMODULE_AVAILABLE_IN_2_88 _GMODULE_EXTERN
1118
+ #define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_88
1119
+ #define GMODULE_AVAILABLE_MACRO_IN_2_88
1120
+ #define GMODULE_AVAILABLE_ENUMERATOR_IN_2_88
1121
+ #define GMODULE_AVAILABLE_TYPE_IN_2_88
1122
+ #endif
1123
+
1124
+ #if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_90
1125
+ #define GMODULE_DEPRECATED_IN_2_90 GMODULE_DEPRECATED
1126
+ #define GMODULE_DEPRECATED_IN_2_90_FOR(f) GMODULE_DEPRECATED_FOR (f)
1127
+ #define GMODULE_DEPRECATED_MACRO_IN_2_90 GLIB_DEPRECATED_MACRO
1128
+ #define GMODULE_DEPRECATED_MACRO_IN_2_90_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f)
1129
+ #define GMODULE_DEPRECATED_ENUMERATOR_IN_2_90 GLIB_DEPRECATED_ENUMERATOR
1130
+ #define GMODULE_DEPRECATED_ENUMERATOR_IN_2_90_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f)
1131
+ #define GMODULE_DEPRECATED_TYPE_IN_2_90 GLIB_DEPRECATED_TYPE
1132
+ #define GMODULE_DEPRECATED_TYPE_IN_2_90_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f)
1133
+ #else
1134
+ #define GMODULE_DEPRECATED_IN_2_90 _GMODULE_EXTERN
1135
+ #define GMODULE_DEPRECATED_IN_2_90_FOR(f) _GMODULE_EXTERN
1136
+ #define GMODULE_DEPRECATED_MACRO_IN_2_90
1137
+ #define GMODULE_DEPRECATED_MACRO_IN_2_90_FOR(f)
1138
+ #define GMODULE_DEPRECATED_ENUMERATOR_IN_2_90
1139
+ #define GMODULE_DEPRECATED_ENUMERATOR_IN_2_90_FOR(f)
1140
+ #define GMODULE_DEPRECATED_TYPE_IN_2_90
1141
+ #define GMODULE_DEPRECATED_TYPE_IN_2_90_FOR(f)
1142
+ #endif
1143
+
1144
+ #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_90
1145
+ #define GMODULE_AVAILABLE_IN_2_90 GMODULE_UNAVAILABLE (2, 90)
1146
+ #define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_90 GLIB_UNAVAILABLE_STATIC_INLINE (2, 90)
1147
+ #define GMODULE_AVAILABLE_MACRO_IN_2_90 GLIB_UNAVAILABLE_MACRO (2, 90)
1148
+ #define GMODULE_AVAILABLE_ENUMERATOR_IN_2_90 GLIB_UNAVAILABLE_ENUMERATOR (2, 90)
1149
+ #define GMODULE_AVAILABLE_TYPE_IN_2_90 GLIB_UNAVAILABLE_TYPE (2, 90)
1150
+ #else
1151
+ #define GMODULE_AVAILABLE_IN_2_90 _GMODULE_EXTERN
1152
+ #define GMODULE_AVAILABLE_STATIC_INLINE_IN_2_90
1153
+ #define GMODULE_AVAILABLE_MACRO_IN_2_90
1154
+ #define GMODULE_AVAILABLE_ENUMERATOR_IN_2_90
1155
+ #define GMODULE_AVAILABLE_TYPE_IN_2_90
1156
+ #endif
@@ -65,7 +65,7 @@ typedef enum
65
65
  G_MODULE_BIND_LAZY = 1 << 0,
66
66
  G_MODULE_BIND_LOCAL = 1 << 1,
67
67
  G_MODULE_BIND_MASK = 0x03
68
- } GModuleFlags;
68
+ } G_GNUC_FLAG_ENUM GModuleFlags;
69
69
 
70
70
  typedef struct _GModule GModule;
71
71
  typedef const gchar* (*GModuleCheckInit) (GModule *module);
@@ -94,7 +94,7 @@ typedef enum { /*< prefix=G_BINDING >*/
94
94
  G_BINDING_BIDIRECTIONAL = 1 << 0,
95
95
  G_BINDING_SYNC_CREATE = 1 << 1,
96
96
  G_BINDING_INVERT_BOOLEAN = 1 << 2
97
- } GBindingFlags;
97
+ } G_GNUC_FLAG_ENUM GBindingFlags;
98
98
 
99
99
  GOBJECT_AVAILABLE_IN_ALL
100
100
  GType g_binding_flags_get_type (void) G_GNUC_CONST;
@@ -148,7 +148,7 @@ typedef struct _GFlagsValue GFlagsValue;
148
148
  * @minimum: the smallest possible value.
149
149
  * @maximum: the largest possible value.
150
150
  * @n_values: the number of possible values.
151
- * @values: an array of #GEnumValue structs describing the
151
+ * @values: (array length=n_values): an array of #GEnumValue structs describing the
152
152
  * individual values.
153
153
  *
154
154
  * The class of an enumeration type holds information about its
@@ -169,7 +169,7 @@ struct _GEnumClass
169
169
  * @g_type_class: the parent class
170
170
  * @mask: a mask covering all possible values.
171
171
  * @n_values: the number of possible values.
172
- * @values: an array of #GFlagsValue structs describing the
172
+ * @values: (array length=n_values): an array of #GFlagsValue structs describing the
173
173
  * individual values.
174
174
  *
175
175
  * The class of a flags type holds information about its