@img/sharp-libvips-dev 1.0.1 → 1.0.3

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 (169) hide show
  1. package/README.md +1 -2
  2. package/include/aom/aom_decoder.h +1 -1
  3. package/include/aom/aom_encoder.h +7 -1
  4. package/include/aom/aom_image.h +24 -12
  5. package/include/aom/aom_integer.h +3 -3
  6. package/include/aom/aomcx.h +15 -0
  7. package/include/aom/aomdx.h +5 -2
  8. package/include/archive.h +7 -5
  9. package/include/archive_entry.h +5 -3
  10. package/include/cgif.h +3 -0
  11. package/include/expat.h +21 -10
  12. package/include/expat_config.h +11 -5
  13. package/include/ffi.h +12 -25
  14. package/include/freetype2/freetype/config/ftoption.h +2 -2
  15. package/include/fribidi/fribidi-config.h +2 -2
  16. package/include/fribidi/fribidi-unicode-version.h +3 -3
  17. package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +3 -2
  18. package/include/glib-2.0/gio/gappinfo.h +40 -25
  19. package/include/glib-2.0/gio/gapplication.h +6 -0
  20. package/include/glib-2.0/gio/gasyncresult.h +1 -1
  21. package/include/glib-2.0/gio/gconverter.h +5 -0
  22. package/include/glib-2.0/gio/gdbusintrospection.h +1 -1
  23. package/include/glib-2.0/gio/gfile.h +16 -0
  24. package/include/glib-2.0/gio/gio-visibility.h +34 -0
  25. package/include/glib-2.0/gio/giotypes.h +0 -1
  26. package/include/glib-2.0/gio/gsettings.h +8 -0
  27. package/include/glib-2.0/gio/gvfs.h +2 -2
  28. package/include/glib-2.0/girepository/gi-visibility.h +34 -0
  29. package/include/glib-2.0/girepository/giarginfo.h +23 -6
  30. package/include/glib-2.0/girepository/gibaseinfo.h +44 -18
  31. package/include/glib-2.0/girepository/gicallableinfo.h +26 -16
  32. package/include/glib-2.0/girepository/gicallbackinfo.h +17 -2
  33. package/include/glib-2.0/girepository/giconstantinfo.h +19 -4
  34. package/include/glib-2.0/girepository/gienuminfo.h +20 -21
  35. package/include/glib-2.0/girepository/gifieldinfo.h +22 -7
  36. package/include/glib-2.0/girepository/giflagsinfo.h +60 -0
  37. package/include/glib-2.0/girepository/gifunctioninfo.h +22 -7
  38. package/include/glib-2.0/girepository/giinterfaceinfo.h +33 -18
  39. package/include/glib-2.0/girepository/giobjectinfo.h +41 -26
  40. package/include/glib-2.0/girepository/gipropertyinfo.h +18 -3
  41. package/include/glib-2.0/girepository/giregisteredtypeinfo.h +22 -11
  42. package/include/glib-2.0/girepository/girepository-autocleanups.h +56 -0
  43. package/include/glib-2.0/girepository/girepository.h +53 -62
  44. package/include/glib-2.0/girepository/girffi.h +8 -7
  45. package/include/glib-2.0/girepository/gisignalinfo.h +18 -3
  46. package/include/glib-2.0/girepository/gistructinfo.h +26 -11
  47. package/include/glib-2.0/girepository/gitypeinfo.h +29 -16
  48. package/include/glib-2.0/girepository/gitypelib.h +9 -13
  49. package/include/glib-2.0/girepository/gitypes.h +52 -104
  50. package/include/glib-2.0/girepository/giunioninfo.h +28 -12
  51. package/include/glib-2.0/girepository/giunresolvedinfo.h +17 -2
  52. package/include/glib-2.0/girepository/givalueinfo.h +65 -0
  53. package/include/glib-2.0/girepository/givfuncinfo.h +23 -8
  54. package/include/glib-2.0/glib/deprecated/gthread.h +9 -5
  55. package/include/glib-2.0/glib/gbitlock.h +31 -0
  56. package/include/glib-2.0/glib/gbookmarkfile.h +1 -1
  57. package/include/glib-2.0/glib/giochannel.h +2 -2
  58. package/include/glib-2.0/glib/glib-visibility.h +34 -0
  59. package/include/glib-2.0/glib/gmacros.h +12 -5
  60. package/include/glib-2.0/glib/gmain.h +93 -7
  61. package/include/glib-2.0/glib/gmessages.h +8 -0
  62. package/include/glib-2.0/glib/gqsort.h +8 -1
  63. package/include/glib-2.0/glib/gslice.h +2 -0
  64. package/include/glib-2.0/glib/gstrfuncs.h +24 -30
  65. package/include/glib-2.0/glib/gstrvbuilder.h +3 -0
  66. package/include/glib-2.0/glib/gthread.h +191 -3
  67. package/include/glib-2.0/glib/gunicode.h +1 -1
  68. package/include/glib-2.0/glib/gversionmacros.h +9 -0
  69. package/include/glib-2.0/glib-unix.h +7 -1
  70. package/include/glib-2.0/gmodule/gmodule-visibility.h +34 -0
  71. package/include/glib-2.0/gobject/genums.h +6 -6
  72. package/include/glib-2.0/gobject/glib-types.h +11 -0
  73. package/include/glib-2.0/gobject/gobject-visibility.h +34 -0
  74. package/include/glib-2.0/gobject/gsignal.h +16 -6
  75. package/include/glib-2.0/gobject/gtype.h +6 -6
  76. package/include/harfbuzz/hb-buffer.h +6 -0
  77. package/include/harfbuzz/hb-common.h +6 -9
  78. package/include/harfbuzz/hb-cplusplus.hh +8 -11
  79. package/include/harfbuzz/hb-subset.h +17 -4
  80. package/include/harfbuzz/hb-version.h +3 -3
  81. package/include/hwy/abort.h +28 -0
  82. package/include/hwy/aligned_allocator.h +218 -6
  83. package/include/hwy/base.h +1935 -512
  84. package/include/hwy/cache_control.h +24 -6
  85. package/include/hwy/detect_compiler_arch.h +105 -10
  86. package/include/hwy/detect_targets.h +146 -37
  87. package/include/hwy/foreach_target.h +36 -1
  88. package/include/hwy/highway.h +222 -50
  89. package/include/hwy/ops/arm_neon-inl.h +2055 -894
  90. package/include/hwy/ops/arm_sve-inl.h +1476 -348
  91. package/include/hwy/ops/emu128-inl.h +711 -623
  92. package/include/hwy/ops/generic_ops-inl.h +4431 -2157
  93. package/include/hwy/ops/inside-inl.h +691 -0
  94. package/include/hwy/ops/ppc_vsx-inl.h +2186 -673
  95. package/include/hwy/ops/rvv-inl.h +1556 -536
  96. package/include/hwy/ops/scalar-inl.h +353 -233
  97. package/include/hwy/ops/set_macros-inl.h +171 -23
  98. package/include/hwy/ops/shared-inl.h +198 -56
  99. package/include/hwy/ops/wasm_128-inl.h +283 -244
  100. package/include/hwy/ops/x86_128-inl.h +3673 -1357
  101. package/include/hwy/ops/x86_256-inl.h +1737 -663
  102. package/include/hwy/ops/x86_512-inl.h +1697 -500
  103. package/include/hwy/per_target.h +4 -0
  104. package/include/hwy/profiler.h +648 -0
  105. package/include/hwy/robust_statistics.h +2 -2
  106. package/include/hwy/targets.h +40 -32
  107. package/include/hwy/timer-inl.h +3 -3
  108. package/include/hwy/timer.h +16 -1
  109. package/include/libheif/heif.h +170 -15
  110. package/include/libheif/heif_items.h +237 -0
  111. package/include/libheif/heif_properties.h +38 -2
  112. package/include/libheif/heif_regions.h +1 -1
  113. package/include/libheif/heif_version.h +2 -2
  114. package/include/libpng16/png.h +32 -29
  115. package/include/libpng16/pngconf.h +2 -2
  116. package/include/libpng16/pnglibconf.h +8 -3
  117. package/include/librsvg-2.0/librsvg/rsvg-cairo.h +1 -1
  118. package/include/librsvg-2.0/librsvg/rsvg-features.h +3 -4
  119. package/include/librsvg-2.0/librsvg/rsvg-pixbuf.h +235 -0
  120. package/include/librsvg-2.0/librsvg/rsvg-version.h +3 -3
  121. package/include/librsvg-2.0/librsvg/rsvg.h +55 -176
  122. package/include/libxml2/libxml/HTMLparser.h +12 -19
  123. package/include/libxml2/libxml/c14n.h +1 -12
  124. package/include/libxml2/libxml/debugXML.h +1 -1
  125. package/include/libxml2/libxml/encoding.h +9 -0
  126. package/include/libxml2/libxml/entities.h +12 -1
  127. package/include/libxml2/libxml/hash.h +19 -0
  128. package/include/libxml2/libxml/list.h +2 -2
  129. package/include/libxml2/libxml/nanohttp.h +17 -0
  130. package/include/libxml2/libxml/parser.h +73 -58
  131. package/include/libxml2/libxml/parserInternals.h +9 -1
  132. package/include/libxml2/libxml/pattern.h +6 -0
  133. package/include/libxml2/libxml/tree.h +32 -12
  134. package/include/libxml2/libxml/uri.h +11 -0
  135. package/include/libxml2/libxml/valid.h +29 -2
  136. package/include/libxml2/libxml/xinclude.h +7 -0
  137. package/include/libxml2/libxml/xmlIO.h +21 -5
  138. package/include/libxml2/libxml/xmlerror.h +14 -0
  139. package/include/libxml2/libxml/xmlexports.h +111 -15
  140. package/include/libxml2/libxml/xmlmemory.h +8 -45
  141. package/include/libxml2/libxml/xmlreader.h +2 -0
  142. package/include/libxml2/libxml/xmlsave.h +5 -0
  143. package/include/libxml2/libxml/xmlunicode.h +165 -1
  144. package/include/libxml2/libxml/xmlversion.h +15 -179
  145. package/include/libxml2/libxml/xmlwriter.h +1 -0
  146. package/include/libxml2/libxml/xpath.h +4 -0
  147. package/include/pango-1.0/pango/pango-features.h +2 -2
  148. package/include/pango-1.0/pango/pango-fontmap.h +7 -0
  149. package/include/pango-1.0/pango/pango-item.h +4 -2
  150. package/include/pango-1.0/pango/pango-version-macros.h +25 -0
  151. package/include/pango-1.0/pango/pangofc-font.h +2 -1
  152. package/include/pixman-1/pixman-version.h +2 -2
  153. package/include/png.h +32 -29
  154. package/include/pngconf.h +2 -2
  155. package/include/pnglibconf.h +8 -3
  156. package/include/vips/connection.h +9 -3
  157. package/include/vips/util.h +1 -11
  158. package/include/vips/version.h +4 -4
  159. package/include/webp/decode.h +58 -56
  160. package/include/webp/demux.h +25 -21
  161. package/include/webp/encode.h +44 -39
  162. package/include/webp/mux.h +76 -15
  163. package/include/webp/mux_types.h +2 -1
  164. package/include/webp/sharpyuv/sharpyuv.h +77 -8
  165. package/include/webp/types.h +29 -8
  166. package/include/zconf.h +1 -1
  167. package/include/zlib.h +12 -12
  168. package/package.json +1 -1
  169. package/versions.json +18 -19
@@ -28,6 +28,8 @@
28
28
  #error "Only <girepository.h> can be included directly."
29
29
  #endif
30
30
 
31
+ #include <stdint.h>
32
+
31
33
  #include <glib.h>
32
34
  #include <glib-object.h>
33
35
 
@@ -39,6 +41,17 @@ G_BEGIN_DECLS
39
41
  typedef struct _GIBaseInfo GIBaseInfo;
40
42
  typedef struct _GIBaseInfoClass GIBaseInfoClass;
41
43
 
44
+ typedef struct
45
+ {
46
+ /*< private >*/
47
+ GTypeInstance parent_instance;
48
+
49
+ int dummy0;
50
+ void *dummy1[3];
51
+ uint32_t dummy2[2];
52
+ void *dummy3[6];
53
+ } GIBaseInfoStack;
54
+
42
55
  /* Documented in gicallableinfo.c */
43
56
  typedef struct _GICallableInfo GICallableInfo;
44
57
  GI_AVAILABLE_IN_ALL GType gi_callable_info_get_type (void);
@@ -67,6 +80,10 @@ GI_AVAILABLE_IN_ALL GType gi_union_info_get_type (void);
67
80
  typedef struct _GIEnumInfo GIEnumInfo;
68
81
  GI_AVAILABLE_IN_ALL GType gi_enum_info_get_type (void);
69
82
 
83
+ /* Documented in giflagsinfo.c */
84
+ typedef struct _GIFlagsInfo GIFlagsInfo;
85
+ GI_AVAILABLE_IN_ALL GType gi_flags_info_get_type (void);
86
+
70
87
  /* Documented in giobjectinfo.c */
71
88
  typedef struct _GIObjectInfo GIObjectInfo;
72
89
  GI_AVAILABLE_IN_ALL GType gi_object_info_get_type (void);
@@ -100,11 +117,23 @@ typedef struct _GIFieldInfo GIFieldInfo;
100
117
  GI_AVAILABLE_IN_ALL GType gi_field_info_get_type (void);
101
118
 
102
119
  /* Documented in giarginfo.c */
103
- typedef struct _GIArgInfo GIArgInfo;
120
+ typedef struct
121
+ {
122
+ /*< private >*/
123
+ GIBaseInfoStack parent;
124
+
125
+ void *padding[6];
126
+ } GIArgInfo;
104
127
  GI_AVAILABLE_IN_ALL GType gi_arg_info_get_type (void);
105
128
 
106
129
  /* Documented in gitypeinfo.c */
107
- typedef struct _GITypeInfo GITypeInfo;
130
+ typedef struct
131
+ {
132
+ /*< private >*/
133
+ GIBaseInfoStack parent;
134
+
135
+ void *padding[6];
136
+ } GITypeInfo;
108
137
  GI_AVAILABLE_IN_ALL GType gi_type_info_get_type (void);
109
138
 
110
139
  /* Documented in giunresolvedinfo.c */
@@ -113,27 +142,27 @@ GI_AVAILABLE_IN_ALL GType gi_unresolved_info_get_type (void);
113
142
 
114
143
  union _GIArgument
115
144
  {
116
- gboolean v_boolean;
117
- gint8 v_int8;
118
- guint8 v_uint8;
119
- gint16 v_int16;
120
- guint16 v_uint16;
121
- gint32 v_int32;
122
- guint32 v_uint32;
123
- gint64 v_int64;
124
- guint64 v_uint64;
125
- gfloat v_float;
126
- gdouble v_double;
127
- gshort v_short;
128
- gushort v_ushort;
129
- gint v_int;
130
- guint v_uint;
131
- glong v_long;
132
- gulong v_ulong;
133
- gssize v_ssize;
134
- gsize v_size;
135
- gchar * v_string;
136
- gpointer v_pointer;
145
+ gboolean v_boolean;
146
+ int8_t v_int8;
147
+ uint8_t v_uint8;
148
+ int16_t v_int16;
149
+ uint16_t v_uint16;
150
+ int32_t v_int32;
151
+ uint32_t v_uint32;
152
+ int64_t v_int64;
153
+ uint64_t v_uint64;
154
+ float v_float;
155
+ double v_double;
156
+ short v_short;
157
+ unsigned short v_ushort;
158
+ int v_int;
159
+ unsigned int v_uint;
160
+ long v_long;
161
+ unsigned long v_ulong;
162
+ gssize v_ssize;
163
+ size_t v_size;
164
+ char *v_string;
165
+ void *v_pointer;
137
166
  };
138
167
 
139
168
  /**
@@ -166,83 +195,6 @@ union _GIArgument
166
195
  */
167
196
  typedef union _GIArgument GIArgument;
168
197
 
169
- /**
170
- * GIInfoType:
171
- * @GI_INFO_TYPE_INVALID: invalid type
172
- * @GI_INFO_TYPE_FUNCTION: function, see [class@GIRepository.FunctionInfo]
173
- * @GI_INFO_TYPE_CALLBACK: callback, see [class@GIRepository.FunctionInfo]
174
- * @GI_INFO_TYPE_STRUCT: struct, see [class@GIRepository.StructInfo]
175
- * @GI_INFO_TYPE_BOXED: boxed, see [class@GIRepository.StructInfo] or
176
- * [class@GIRepository.UnionInfo]
177
- * @GI_INFO_TYPE_ENUM: enum, see [class@GIRepository.EnumInfo]
178
- * @GI_INFO_TYPE_FLAGS: flags, see [class@GIRepository.EnumInfo]
179
- * @GI_INFO_TYPE_OBJECT: object, see [class@GIRepository.ObjectInfo]
180
- * @GI_INFO_TYPE_INTERFACE: interface, see [class@GIRepository.InterfaceInfo]
181
- * @GI_INFO_TYPE_CONSTANT: constant, see [class@GIRepository.ConstantInfo]
182
- * @GI_INFO_TYPE_INVALID_0: deleted, used to be `GI_INFO_TYPE_ERROR_DOMAIN`.
183
- * @GI_INFO_TYPE_UNION: union, see [class@GIRepository.UnionInfo]
184
- * @GI_INFO_TYPE_VALUE: enum value, see [class@GIRepository.ValueInfo]
185
- * @GI_INFO_TYPE_SIGNAL: signal, see [class@GIRepository.SignalInfo]
186
- * @GI_INFO_TYPE_VFUNC: virtual function, see [class@GIRepository.VFuncInfo]
187
- * @GI_INFO_TYPE_PROPERTY: [class@GObject.Object] property, see
188
- * [class@GIRepository.PropertyInfo]
189
- * @GI_INFO_TYPE_FIELD: struct or union field, see
190
- * [class@GIRepository.FieldInfo]
191
- * @GI_INFO_TYPE_ARG: argument of a function or callback, see
192
- * [class@GIRepository.ArgInfo]
193
- * @GI_INFO_TYPE_TYPE: type information, see [class@GIRepository.TypeInfo]
194
- * @GI_INFO_TYPE_UNRESOLVED: unresolved type, a type which is not present in
195
- * the typelib, or any of its dependencies, see
196
- * [class@GIRepository.UnresolvedInfo]
197
- * @GI_INFO_TYPE_CALLABLE: an abstract type representing any callable (function,
198
- * callback, vfunc), see [class@GIRepository.CallableInfo]
199
- * @GI_INFO_TYPE_REGISTERED_TYPE: an abstract type representing any registered
200
- * type (enum, interface, object, struct, union), see
201
- * [class@GIRepository.RegisteredTypeInfo]
202
- *
203
- * The type of a [class@GIRepository.BaseInfo] struct.
204
- *
205
- * See [const@GIRepository.INFO_TYPE_N_TYPES] for the total number of elements
206
- * in this enum.
207
- *
208
- * Since: 2.80
209
- */
210
- typedef enum
211
- {
212
- GI_INFO_TYPE_INVALID,
213
- GI_INFO_TYPE_FUNCTION,
214
- GI_INFO_TYPE_CALLBACK,
215
- GI_INFO_TYPE_STRUCT,
216
- GI_INFO_TYPE_BOXED,
217
- GI_INFO_TYPE_ENUM, /* 5 */
218
- GI_INFO_TYPE_FLAGS,
219
- GI_INFO_TYPE_OBJECT,
220
- GI_INFO_TYPE_INTERFACE,
221
- GI_INFO_TYPE_CONSTANT,
222
- GI_INFO_TYPE_INVALID_0, /* 10 */
223
- GI_INFO_TYPE_UNION,
224
- GI_INFO_TYPE_VALUE,
225
- GI_INFO_TYPE_SIGNAL,
226
- GI_INFO_TYPE_VFUNC,
227
- GI_INFO_TYPE_PROPERTY, /* 15 */
228
- GI_INFO_TYPE_FIELD,
229
- GI_INFO_TYPE_ARG,
230
- GI_INFO_TYPE_TYPE,
231
- GI_INFO_TYPE_UNRESOLVED,
232
- GI_INFO_TYPE_CALLABLE, /* 20 */
233
- GI_INFO_TYPE_REGISTERED_TYPE,
234
- /* keep GI_INFO_TYPE_N_TYPES in sync with this */
235
- } GIInfoType;
236
-
237
- /**
238
- * GI_INFO_TYPE_N_TYPES:
239
- *
240
- * Number of entries in [enum@GIRepository.InfoType].
241
- *
242
- * Since: 2.80
243
- */
244
- #define GI_INFO_TYPE_N_TYPES (GI_INFO_TYPE_REGISTERED_TYPE + 1)
245
-
246
198
  /**
247
199
  * GITransfer:
248
200
  * @GI_TRANSFER_NOTHING: Transfer nothing from the callee (function or the type
@@ -433,7 +385,6 @@ typedef enum
433
385
  * @GI_VFUNC_MUST_CHAIN_UP: chains up to the parent type
434
386
  * @GI_VFUNC_MUST_OVERRIDE: overrides
435
387
  * @GI_VFUNC_MUST_NOT_OVERRIDE: does not override
436
- * @GI_VFUNC_THROWS: includes a [type@GLib.Error]
437
388
  *
438
389
  * Flags of a [class@GIRepository.VFuncInfo] struct.
439
390
  *
@@ -444,7 +395,6 @@ typedef enum
444
395
  GI_VFUNC_MUST_CHAIN_UP = 1 << 0,
445
396
  GI_VFUNC_MUST_OVERRIDE = 1 << 1,
446
397
  GI_VFUNC_MUST_NOT_OVERRIDE = 1 << 2,
447
- GI_VFUNC_THROWS = 1 << 3
448
398
  } GIVFuncInfoFlags;
449
399
 
450
400
  /**
@@ -454,7 +404,6 @@ typedef enum
454
404
  * @GI_FUNCTION_IS_GETTER: is a getter of a [class@GIRepository.PropertyInfo].
455
405
  * @GI_FUNCTION_IS_SETTER: is a setter of a [class@GIRepository.PropertyInfo].
456
406
  * @GI_FUNCTION_WRAPS_VFUNC: represents a virtual function.
457
- * @GI_FUNCTION_THROWS: the function may throw an error.
458
407
  *
459
408
  * Flags for a [class@GIRepository.FunctionInfo] struct.
460
409
  *
@@ -467,7 +416,6 @@ typedef enum
467
416
  GI_FUNCTION_IS_GETTER = 1 << 2,
468
417
  GI_FUNCTION_IS_SETTER = 1 << 3,
469
418
  GI_FUNCTION_WRAPS_VFUNC = 1 << 4,
470
- GI_FUNCTION_THROWS = 1 << 5
471
419
  } GIFunctionInfoFlags;
472
420
 
473
421
  G_END_DECLS
@@ -32,53 +32,69 @@
32
32
 
33
33
  G_BEGIN_DECLS
34
34
 
35
+ #define GI_TYPE_UNION_INFO (gi_union_info_get_type ())
36
+
37
+ /**
38
+ * GI_UNION_INFO:
39
+ * @info: Info object which is subject to casting.
40
+ *
41
+ * Casts a [type@GIRepository.UnionInfo] or derived pointer into a
42
+ * `(GIUnionInfo*)` pointer.
43
+ *
44
+ * Depending on the current debugging level, this function may invoke
45
+ * certain runtime checks to identify invalid casts.
46
+ *
47
+ * Since: 2.80
48
+ */
49
+ #define GI_UNION_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_UNION_INFO, GIUnionInfo))
50
+
35
51
  /**
36
52
  * GI_IS_UNION_INFO:
37
53
  * @info: an info structure
38
54
  *
39
- * Checks if @info is a [struct@GIRepository.UnionInfo].
55
+ * Checks if @info is a [struct@GIRepository.UnionInfo] (or a derived type).
40
56
  *
41
57
  * Since: 2.80
42
58
  */
43
- #define GI_IS_UNION_INFO(info) \
44
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_UNION)
59
+ #define GI_IS_UNION_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_UNION_INFO))
45
60
 
46
61
  GI_AVAILABLE_IN_ALL
47
- guint gi_union_info_get_n_fields (GIUnionInfo *info);
62
+ unsigned int gi_union_info_get_n_fields (GIUnionInfo *info);
48
63
 
49
64
  GI_AVAILABLE_IN_ALL
50
65
  GIFieldInfo * gi_union_info_get_field (GIUnionInfo *info,
51
- guint n);
66
+ unsigned int n);
52
67
 
53
68
  GI_AVAILABLE_IN_ALL
54
- guint gi_union_info_get_n_methods (GIUnionInfo *info);
69
+ unsigned int gi_union_info_get_n_methods (GIUnionInfo *info);
55
70
 
56
71
  GI_AVAILABLE_IN_ALL
57
72
  GIFunctionInfo * gi_union_info_get_method (GIUnionInfo *info,
58
- guint n);
73
+ unsigned int n);
59
74
 
60
75
  GI_AVAILABLE_IN_ALL
61
76
  gboolean gi_union_info_is_discriminated (GIUnionInfo *info);
62
77
 
63
78
  GI_AVAILABLE_IN_ALL
64
- guint gi_union_info_get_discriminator_offset (GIUnionInfo *info);
79
+ gboolean gi_union_info_get_discriminator_offset (GIUnionInfo *info,
80
+ size_t *out_offset);
65
81
 
66
82
  GI_AVAILABLE_IN_ALL
67
83
  GITypeInfo * gi_union_info_get_discriminator_type (GIUnionInfo *info);
68
84
 
69
85
  GI_AVAILABLE_IN_ALL
70
86
  GIConstantInfo * gi_union_info_get_discriminator (GIUnionInfo *info,
71
- guint n);
87
+ size_t n);
72
88
 
73
89
  GI_AVAILABLE_IN_ALL
74
90
  GIFunctionInfo * gi_union_info_find_method (GIUnionInfo *info,
75
- const gchar *name);
91
+ const char *name);
76
92
 
77
93
  GI_AVAILABLE_IN_ALL
78
- gsize gi_union_info_get_size (GIUnionInfo *info);
94
+ size_t gi_union_info_get_size (GIUnionInfo *info);
79
95
 
80
96
  GI_AVAILABLE_IN_ALL
81
- gsize gi_union_info_get_alignment (GIUnionInfo *info);
97
+ size_t gi_union_info_get_alignment (GIUnionInfo *info);
82
98
 
83
99
  GI_AVAILABLE_IN_ALL
84
100
  const char * gi_union_info_get_copy_function_name (GIUnionInfo *info);
@@ -31,6 +31,22 @@
31
31
 
32
32
  G_BEGIN_DECLS
33
33
 
34
+ #define GI_TYPE_UNRESOLVED_INFO (gi_unresolved_info_get_type ())
35
+
36
+ /**
37
+ * GI_UNRESOLVED_INFO:
38
+ * @info: Info object which is subject to casting.
39
+ *
40
+ * Casts a [type@GIRepository.UnresolvedInfo] or derived pointer into a
41
+ * `(GIUnresolvedInfo*)` pointer.
42
+ *
43
+ * Depending on the current debugging level, this function may invoke
44
+ * certain runtime checks to identify invalid casts.
45
+ *
46
+ * Since: 2.80
47
+ */
48
+ #define GI_UNRESOLVED_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_UNRESOLVED_INFO, GIUnresolvedInfo))
49
+
34
50
  /**
35
51
  * GI_IS_UNRESOLVED_INFO:
36
52
  * @info: an info structure
@@ -39,7 +55,6 @@ G_BEGIN_DECLS
39
55
  *
40
56
  * Since: 2.80
41
57
  */
42
- #define GI_IS_UNRESOLVED_INFO(info) \
43
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_UNRESOLVED)
58
+ #define GI_IS_UNRESOLVED_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_UNRESOLVED_INFO))
44
59
 
45
60
  G_END_DECLS
@@ -0,0 +1,65 @@
1
+ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
2
+ * GObject introspection: Enum and Enum values
3
+ *
4
+ * Copyright (C) 2005 Matthias Clasen
5
+ * Copyright (C) 2008,2009 Red Hat, Inc.
6
+ *
7
+ * SPDX-License-Identifier: LGPL-2.1-or-later
8
+ *
9
+ * This library is free software; you can redistribute it and/or
10
+ * modify it under the terms of the GNU Lesser General Public
11
+ * License as published by the Free Software Foundation; either
12
+ * version 2 of the License, or (at your option) any later version.
13
+ *
14
+ * This library is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ * Lesser General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU Lesser General Public
20
+ * License along with this library; if not, write to the
21
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22
+ * Boston, MA 02111-1307, USA.
23
+ */
24
+
25
+ #pragma once
26
+
27
+ #if !defined (__GIREPOSITORY_H_INSIDE__) && !defined (GI_COMPILATION)
28
+ #error "Only <girepository.h> can be included directly."
29
+ #endif
30
+
31
+ #include <girepository/gitypes.h>
32
+
33
+ G_BEGIN_DECLS
34
+
35
+ #define GI_TYPE_VALUE_INFO (gi_value_info_get_type ())
36
+
37
+ /**
38
+ * GI_VALUE_INFO:
39
+ * @info: Info object which is subject to casting.
40
+ *
41
+ * Casts a [type@GIRepository.ValueInfo] or derived pointer into a
42
+ * `(GIValueInfo*)` pointer.
43
+ *
44
+ * Depending on the current debugging level, this function may invoke
45
+ * certain runtime checks to identify invalid casts.
46
+ *
47
+ * Since: 2.80
48
+ */
49
+ #define GI_VALUE_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_VALUE_INFO, GIValueInfo))
50
+
51
+ /**
52
+ * GI_IS_VALUE_INFO:
53
+ * @info: an info structure
54
+ *
55
+ * Checks if @info is a [class@GIRepository.ValueInfo] (or a derived type).
56
+ *
57
+ * Since: 2.80
58
+ */
59
+ #define GI_IS_VALUE_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_VALUE_INFO))
60
+
61
+
62
+ GI_AVAILABLE_IN_ALL
63
+ int64_t gi_value_info_get_value (GIValueInfo *info);
64
+
65
+ G_END_DECLS
@@ -32,22 +32,37 @@
32
32
 
33
33
  G_BEGIN_DECLS
34
34
 
35
+ #define GI_TYPE_VFUNC_INFO (gi_vfunc_info_get_type ())
36
+
37
+ /**
38
+ * GI_VFUNC_INFO:
39
+ * @info: Info object which is subject to casting.
40
+ *
41
+ * Casts a [type@GIRepository.VFuncInfo] or derived pointer into a
42
+ * `(GIVFuncInfo*)` pointer.
43
+ *
44
+ * Depending on the current debugging level, this function may invoke
45
+ * certain runtime checks to identify invalid casts.
46
+ *
47
+ * Since: 2.80
48
+ */
49
+ #define GI_VFUNC_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_VFUNC_INFO, GIVFuncInfo))
50
+
35
51
  /**
36
52
  * GI_IS_VFUNC_INFO:
37
53
  * @info: an info structure
38
54
  *
39
- * Checks if @info is a [struct@GIRepository.VFuncInfo].
55
+ * Checks if @info is a [struct@GIRepository.VFuncInfo] (or a derived type).
40
56
  *
41
57
  * Since: 2.80
42
58
  */
43
- #define GI_IS_VFUNC_INFO(info) \
44
- (gi_base_info_get_info_type ((GIBaseInfo*) info) == GI_INFO_TYPE_VFUNC)
59
+ #define GI_IS_VFUNC_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_VFUNC_INFO))
45
60
 
46
61
  GI_AVAILABLE_IN_ALL
47
62
  GIVFuncInfoFlags gi_vfunc_info_get_flags (GIVFuncInfo *info);
48
63
 
49
64
  GI_AVAILABLE_IN_ALL
50
- guint gi_vfunc_info_get_offset (GIVFuncInfo *info);
65
+ size_t gi_vfunc_info_get_offset (GIVFuncInfo *info);
51
66
 
52
67
  GI_AVAILABLE_IN_ALL
53
68
  GISignalInfo * gi_vfunc_info_get_signal (GIVFuncInfo *info);
@@ -56,7 +71,7 @@ GI_AVAILABLE_IN_ALL
56
71
  GIFunctionInfo * gi_vfunc_info_get_invoker (GIVFuncInfo *info);
57
72
 
58
73
  GI_AVAILABLE_IN_ALL
59
- gpointer gi_vfunc_info_get_address (GIVFuncInfo *info,
74
+ void * gi_vfunc_info_get_address (GIVFuncInfo *info,
60
75
  GType implementor_gtype,
61
76
  GError **error);
62
77
 
@@ -64,9 +79,9 @@ GI_AVAILABLE_IN_ALL
64
79
  gboolean gi_vfunc_info_invoke (GIVFuncInfo *info,
65
80
  GType implementor,
66
81
  const GIArgument *in_args,
67
- gsize n_in_args,
68
- const GIArgument *out_args,
69
- gsize n_out_args,
82
+ size_t n_in_args,
83
+ GIArgument *out_args,
84
+ size_t n_out_args,
70
85
  GIArgument *return_value,
71
86
  GError **error);
72
87
 
@@ -135,10 +135,12 @@ void g_thread_foreach (GFunc thread_func,
135
135
  typedef struct
136
136
  {
137
137
  GMutex *mutex;
138
- #ifndef G_OS_WIN32
138
+ #ifndef __GI_SCANNER__
139
+ # ifndef G_OS_WIN32
139
140
  /* only for ABI compatibility reasons */
140
141
  pthread_mutex_t unused;
141
- #endif
142
+ # endif /* !G_OS_WIN32 */
143
+ #endif /* !__GI_SCANNER__ */
142
144
  } GStaticMutex GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GMutex);
143
145
 
144
146
  #define g_static_mutex_lock(mutex) \
@@ -162,15 +164,17 @@ struct _GStaticRecMutex
162
164
  GStaticMutex mutex;
163
165
  guint depth;
164
166
 
167
+ #ifndef __GI_SCANNER__
165
168
  /* ABI compat only */
166
169
  union {
167
- #ifdef G_OS_WIN32
170
+ # ifdef G_OS_WIN32
168
171
  void *owner;
169
- #else
172
+ # else
170
173
  pthread_t owner;
171
- #endif
174
+ # endif /* !G_OS_WIN32 */
172
175
  gdouble dummy;
173
176
  } unused;
177
+ #endif /* !__GI_SCANNER__ */
174
178
  } GLIB_DEPRECATED_TYPE_IN_2_32_FOR(GRecMutex);
175
179
 
176
180
  #define G_STATIC_REC_MUTEX_INIT { G_STATIC_MUTEX_INIT, 0, { 0 } } GLIB_DEPRECATED_MACRO_IN_2_32_FOR(g_rec_mutex_init)
@@ -44,6 +44,12 @@ void g_bit_unlock (volatile gint *address,
44
44
  GLIB_AVAILABLE_IN_ALL
45
45
  void g_pointer_bit_lock (volatile void *address,
46
46
  gint lock_bit);
47
+
48
+ GLIB_AVAILABLE_IN_2_80
49
+ void g_pointer_bit_lock_and_get (gpointer address,
50
+ guint lock_bit,
51
+ guintptr *out_ptr);
52
+
47
53
  GLIB_AVAILABLE_IN_ALL
48
54
  gboolean g_pointer_bit_trylock (volatile void *address,
49
55
  gint lock_bit);
@@ -51,6 +57,19 @@ GLIB_AVAILABLE_IN_ALL
51
57
  void g_pointer_bit_unlock (volatile void *address,
52
58
  gint lock_bit);
53
59
 
60
+ GLIB_AVAILABLE_IN_2_80
61
+ gpointer g_pointer_bit_lock_mask_ptr (gpointer ptr,
62
+ guint lock_bit,
63
+ gboolean set,
64
+ guintptr preserve_mask,
65
+ gpointer preserve_ptr);
66
+
67
+ GLIB_AVAILABLE_IN_2_80
68
+ void g_pointer_bit_unlock_and_set (void *address,
69
+ guint lock_bit,
70
+ gpointer ptr,
71
+ guintptr preserve_mask);
72
+
54
73
  #ifdef __GNUC__
55
74
 
56
75
  #define g_pointer_bit_lock(address, lock_bit) \
@@ -59,6 +78,12 @@ void g_pointer_bit_unlock (volatile void *address,
59
78
  g_pointer_bit_lock ((address), (lock_bit)); \
60
79
  }))
61
80
 
81
+ #define g_pointer_bit_lock_and_get(address, lock_bit, out_ptr) \
82
+ (G_GNUC_EXTENSION ({ \
83
+ G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer)); \
84
+ g_pointer_bit_lock_and_get ((address), (lock_bit), (out_ptr)); \
85
+ }))
86
+
62
87
  #define g_pointer_bit_trylock(address, lock_bit) \
63
88
  (G_GNUC_EXTENSION ({ \
64
89
  G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer)); \
@@ -71,6 +96,12 @@ void g_pointer_bit_unlock (volatile void *address,
71
96
  g_pointer_bit_unlock ((address), (lock_bit)); \
72
97
  }))
73
98
 
99
+ #define g_pointer_bit_unlock_and_set(address, lock_bit, ptr, preserve_mask) \
100
+ (G_GNUC_EXTENSION ({ \
101
+ G_STATIC_ASSERT (sizeof *(address) == sizeof (gpointer)); \
102
+ g_pointer_bit_unlock_and_set ((address), (lock_bit), (ptr), (preserve_mask)); \
103
+ }))
104
+
74
105
  #endif
75
106
 
76
107
  G_END_DECLS
@@ -81,7 +81,7 @@ GQuark g_bookmark_file_error_quark (void);
81
81
  * pointed by the URI like its MIME type, the application that is registering
82
82
  * the bookmark and the icon that should be used to represent the bookmark.
83
83
  * The data is stored using the
84
- * [Desktop Bookmark Specification](http://www.gnome.org/~ebassi/bookmark-spec).
84
+ * [Desktop Bookmark Specification](https://www.freedesktop.org/wiki/Specifications/desktop-bookmark-spec/).
85
85
  *
86
86
  * The syntax of the bookmark files is described in detail inside the
87
87
  * Desktop Bookmark Specification, here is a quick summary: bookmark
@@ -118,7 +118,7 @@ struct _GIOChannel
118
118
  /* Group the flags together, immediately after partial_write_buf, to save memory */
119
119
 
120
120
  guint use_buffer : 1; /* The encoding uses the buffers */
121
- guint do_encode : 1; /* The encoding uses the GIConv coverters */
121
+ guint do_encode : 1; /* The encoding uses the GIConv converters */
122
122
  guint close_on_unref : 1; /* Close the channel on final unref */
123
123
  guint is_readable : 1; /* Cached GIOFlag */
124
124
  guint is_writeable : 1; /* ditto */
@@ -370,7 +370,7 @@ GIOChannel *g_io_channel_win32_new_messages (guint hwnd);
370
370
  #endif
371
371
 
372
372
  /* Create an IO channel for C runtime (emulated Unix-like) file
373
- * descriptors. After calling g_io_add_watch() on a IO channel
373
+ * descriptors. After calling g_io_add_watch() on an IO channel
374
374
  * returned by this function, you shouldn't call read() on the file
375
375
  * descriptor. This is because adding polling for a file descriptor is
376
376
  * implemented on Win32 by starting a thread that sits blocked in a
@@ -984,3 +984,37 @@
984
984
  #define GLIB_AVAILABLE_ENUMERATOR_IN_2_80
985
985
  #define GLIB_AVAILABLE_TYPE_IN_2_80
986
986
  #endif
987
+
988
+ #if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_82
989
+ #define GLIB_DEPRECATED_IN_2_82 GLIB_DEPRECATED
990
+ #define GLIB_DEPRECATED_IN_2_82_FOR(f) GLIB_DEPRECATED_FOR (f)
991
+ #define GLIB_DEPRECATED_MACRO_IN_2_82 GLIB_DEPRECATED_MACRO
992
+ #define GLIB_DEPRECATED_MACRO_IN_2_82_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f)
993
+ #define GLIB_DEPRECATED_ENUMERATOR_IN_2_82 GLIB_DEPRECATED_ENUMERATOR
994
+ #define GLIB_DEPRECATED_ENUMERATOR_IN_2_82_FOR(f) GLIB_DEPRECATED_ENUMERATOR_FOR (f)
995
+ #define GLIB_DEPRECATED_TYPE_IN_2_82 GLIB_DEPRECATED_TYPE
996
+ #define GLIB_DEPRECATED_TYPE_IN_2_82_FOR(f) GLIB_DEPRECATED_TYPE_FOR (f)
997
+ #else
998
+ #define GLIB_DEPRECATED_IN_2_82 _GLIB_EXTERN
999
+ #define GLIB_DEPRECATED_IN_2_82_FOR(f) _GLIB_EXTERN
1000
+ #define GLIB_DEPRECATED_MACRO_IN_2_82
1001
+ #define GLIB_DEPRECATED_MACRO_IN_2_82_FOR(f)
1002
+ #define GLIB_DEPRECATED_ENUMERATOR_IN_2_82
1003
+ #define GLIB_DEPRECATED_ENUMERATOR_IN_2_82_FOR(f)
1004
+ #define GLIB_DEPRECATED_TYPE_IN_2_82
1005
+ #define GLIB_DEPRECATED_TYPE_IN_2_82_FOR(f)
1006
+ #endif
1007
+
1008
+ #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_82
1009
+ #define GLIB_AVAILABLE_IN_2_82 GLIB_UNAVAILABLE (2, 82)
1010
+ #define GLIB_AVAILABLE_STATIC_INLINE_IN_2_82 GLIB_UNAVAILABLE_STATIC_INLINE (2, 82)
1011
+ #define GLIB_AVAILABLE_MACRO_IN_2_82 GLIB_UNAVAILABLE_MACRO (2, 82)
1012
+ #define GLIB_AVAILABLE_ENUMERATOR_IN_2_82 GLIB_UNAVAILABLE_ENUMERATOR (2, 82)
1013
+ #define GLIB_AVAILABLE_TYPE_IN_2_82 GLIB_UNAVAILABLE_TYPE (2, 82)
1014
+ #else
1015
+ #define GLIB_AVAILABLE_IN_2_82 _GLIB_EXTERN
1016
+ #define GLIB_AVAILABLE_STATIC_INLINE_IN_2_82
1017
+ #define GLIB_AVAILABLE_MACRO_IN_2_82
1018
+ #define GLIB_AVAILABLE_ENUMERATOR_IN_2_82
1019
+ #define GLIB_AVAILABLE_TYPE_IN_2_82
1020
+ #endif
@@ -861,9 +861,10 @@
861
861
  #define G_STRINGIFY(macro_or_string) G_STRINGIFY_ARG (macro_or_string)
862
862
  #define G_STRINGIFY_ARG(contents) #contents
863
863
 
864
- #ifndef __GI_SCANNER__ /* The static assert macro really confuses the introspection parser */
865
864
  #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2
866
865
  #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2)
866
+
867
+ #ifndef __GI_SCANNER__ /* The static assert macro really confuses the introspection parser */
867
868
  #if G_CXX_STD_CHECK_VERSION (11)
868
869
  #define G_STATIC_ASSERT(expr) static_assert (expr, "Expression evaluates to false")
869
870
  #elif (G_C_STD_CHECK_VERSION (11) || \
@@ -877,7 +878,10 @@
877
878
  #endif
878
879
  #endif /* G_CXX_STD_CHECK_VERSION (11) */
879
880
  #define G_STATIC_ASSERT_EXPR(expr) ((void) sizeof (char[(expr) ? 1 : -1]))
880
- #endif /* !__GI_SCANNER__ */
881
+ #else /* __GI_SCANNER__ */
882
+ #define G_STATIC_ASSERT(expr) static int G_PASTE (_GStaticAssertGiScannerNoop, __LINE__) G_GNUC_UNUSED
883
+ #define G_STATIC_ASSERT_EXPR(expr) static int G_PASTE (_GStaticAssertGiScannerNoop, __LINE__) G_GNUC_UNUSED
884
+ #endif /* __GI_SCANNER__ */
881
885
 
882
886
  /* Provide a string identifying the current code position */
883
887
  #if defined (__GNUC__) && (__GNUC__ < 3) && !defined (G_CXX_STD_VERSION)
@@ -1337,6 +1341,7 @@
1337
1341
  /* these macros are private; note that gstdio.h also uses _GLIB_CLEANUP */
1338
1342
  #define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName
1339
1343
  #define _GLIB_AUTOPTR_CLEAR_FUNC_NAME(TypeName) glib_autoptr_clear_##TypeName
1344
+ #define _GLIB_AUTOPTR_DESTROY_FUNC_NAME(TypeName) glib_autoptr_destroy_##TypeName
1340
1345
  #define _GLIB_AUTOPTR_TYPENAME(TypeName) TypeName##_autoptr
1341
1346
  #define _GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName) glib_listautoptr_cleanup_##TypeName
1342
1347
  #define _GLIB_AUTOPTR_LIST_TYPENAME(TypeName) TypeName##_listautoptr
@@ -1356,12 +1361,14 @@
1356
1361
  { if (_ptr) (cleanup) ((ParentName *) _ptr); } \
1357
1362
  static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_FUNC_NAME(TypeName) (TypeName **_ptr) \
1358
1363
  { _GLIB_AUTOPTR_CLEAR_FUNC_NAME(TypeName) (*_ptr); } \
1364
+ static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_DESTROY_FUNC_NAME(TypeName) (void *_ptr) \
1365
+ { (cleanup) ((ParentName *) _ptr); } \
1359
1366
  static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName) (GList **_l) \
1360
- { g_list_free_full (*_l, (GDestroyNotify) (void(*)(void)) cleanup); } \
1367
+ { g_list_free_full (*_l, _GLIB_AUTOPTR_DESTROY_FUNC_NAME(TypeName)); } \
1361
1368
  static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_SLIST_FUNC_NAME(TypeName) (GSList **_l) \
1362
- { g_slist_free_full (*_l, (GDestroyNotify) (void(*)(void)) cleanup); } \
1369
+ { g_slist_free_full (*_l, _GLIB_AUTOPTR_DESTROY_FUNC_NAME(TypeName)); } \
1363
1370
  static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_QUEUE_FUNC_NAME(TypeName) (GQueue **_q) \
1364
- { if (*_q) g_queue_free_full (*_q, (GDestroyNotify) (void(*)(void)) cleanup); } \
1371
+ { if (*_q) g_queue_free_full (*_q, _GLIB_AUTOPTR_DESTROY_FUNC_NAME(TypeName)); } \
1365
1372
  G_GNUC_END_IGNORE_DEPRECATIONS
1366
1373
  #define _GLIB_DEFINE_AUTOPTR_CHAINUP(ModuleObjName, ParentName) \
1367
1374
  _GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(ModuleObjName, ParentName, _GLIB_AUTOPTR_CLEAR_FUNC_NAME(ParentName))