[flake8]
ignore=E127,E402,E501,E731,E128,W503,E741,W504
exclude=misc,subprojects
-builtins=DATADIR
+builtins=DATADIR,GIRDIR
noinst_PROGRAMS += glib-print
glib_print_SOURCES = examples/glib-print.c
-glib_print_CFLAGS = $(GOBJECT_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)/girepository
+glib_print_CFLAGS = $(GOBJECT_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
glib_print_LDFLAGS = $(WARN_LDFLAGS)
glib_print_LDADD = libgirepository-1.0.la $(GOBJECT_LIBS)
-I$(GOBJECT_INCLUDEDIR) \
-I$(GOBJECT_LIBDIR)/glib-2.0/include
GObject_2_0_gir_FILES = \
- $(filter-out $(GOBJECT_INCLUDEDIR)/gobject/glib-types.h, $(wildcard $(GOBJECT_INCLUDEDIR)/gobject/*.h)) \
+ $(filter-out $(GOBJECT_INCLUDEDIR)/gobject/glib-types.h $(GOBJECT_INCLUDEDIR)/gobject/gvaluecollector.h, \
+ $(wildcard $(GOBJECT_INCLUDEDIR)/gobject/*.h)) \
gir/gobject-2.0.c
BUILT_GIRSOURCES += GObject-2.0.gir
$(WARN_SCANNERFLAGS) \
--identifier-prefix=GI \
--symbol-prefix=g \
+ --symbol-prefix=gi \
--c-include="girepository.h" \
--add-include-path=.
GIRepository_2_0_gir_PACKAGES = gobject-2.0
GIRepository_2_0_gir_INCLUDES = GObject-2.0
GIRepository_2_0_gir_EXPORT_PACKAGES = gobject-introspection-1.0
GIRepository_2_0_gir_CFLAGS = \
- -I$(top_srcdir)/girepository -I$(top_srcdir) \
+ -I$(top_srcdir)/girepository \
+ -I$(top_srcdir) \
+ -I$(top_builddir)/girepository \
-DGI_COMPILATION
GIRepository_2_0_gir_FILES = \
$(top_srcdir)/girepository/girepository.h \
$(top_srcdir)/girepository/girepository.c \
$(top_srcdir)/girepository/gi*info.c \
$(top_srcdir)/girepository/gi*info.h \
+ $(top_builddir)/girepository/giversion.h \
$(top_srcdir)/girepository/gitypelib.h \
$(top_srcdir)/girepository/gitypes.h
girepository/gitypes.h \
girepository/giunioninfo.h \
girepository/giversionmacros.h \
- girepository/givfuncinfo.h
+ girepository/givfuncinfo.h \
+ $(top_builddir)/girepository/giversion.h
lib_LTLIBRARIES += libgirepository-1.0.la
noinst_LTLIBRARIES += libgirepository-internals.la libgirepository-gthash.la
$(WARN_CFLAGS) \
$(GIREPO_CFLAGS) \
$(GI_HIDDEN_VISIBILITY_CFLAGS) \
- -I$(top_srcdir)/girepository
+ -I$(top_srcdir)/girepository \
+ -I$(top_builddir)/girepository
libgirepository_gthash_la_LDFLAGS = \
$(WARN_LDFLAGS)
libgirepository_gthash_la_LIBADD = libcmph.la $(GIREPO_LIBS)
$(WARN_CFLAGS) \
$(GIREPO_CFLAGS) \
$(GI_HIDDEN_VISIBILITY_CFLAGS) \
- -I$(top_srcdir)/girepository
+ -I$(top_srcdir)/girepository \
+ -I$(top_builddir)/girepository
libgirepository_internals_la_LDFLAGS = \
$(WARN_LDFLAGS)
girepository/gitypelib.c \
girepository/gitypelib-internal.h \
girepository/giunioninfo.c \
+ girepository/giversion.c \
girepository/givfuncinfo.c
libgirepository_1_0_la_CPPFLAGS = \
$(GIREPO_CFLAGS) \
$(GI_HIDDEN_VISIBILITY_CFLAGS) \
-I$(top_srcdir)/girepository \
+ -I$(top_builddir)/girepository \
-DG_IREPOSITORY_COMPILATION
libgirepository_1_0_la_LIBADD = libgirepository-gthash.la $(GIREPO_LIBS)
libgirepository_1_0_la_LDFLAGS = \
TESTS += gthash-test
gthash_test_SOURCES = girepository/gthash.c girepository/gthash-test.c
-gthash_test_CFLAGS = -I$(top_srcdir)/girepository $(GOBJECT_CFLAGS)
+gthash_test_CFLAGS = -I$(top_srcdir)/girepository -I$(top_builddir)/girepository $(GOBJECT_CFLAGS)
gthash_test_LDADD = libcmph.la libgirepository-1.0.la $(GOBJECT_LIBS)
giscanner/sourcescanner.h \
giscanner/scannerlexer.l \
giscanner/scannerparser.y
-libgiscanner_la_CPPFLAGS = -I$(top_srcdir)/girepository -I$(top_srcdir)/giscanner
+libgiscanner_la_CPPFLAGS = -I$(top_srcdir)/girepository -I$(top_builddir)/girepository -I$(top_srcdir)/giscanner
libgiscanner_la_LIBADD = $(GOBJECT_LIBS) $(GIO_LIBS)
libgiscanner_la_CFLAGS = $(GOBJECT_CFLAGS) $(GIO_CFLAGS) $(WARN_CFLAGS_FLEX)
libgiscanner_la_LDFLAGS = $(WARN_LDFLAGS)
tools/g-ir-tool-template.in \
tools/meson.build
-TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON),
+TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -e s,@GIR_DIR\@,$(GIR_DIR),g
g-ir-scanner: tools/g-ir-tool-template.in _giscanner.la Makefile
$(AM_V_GEN) sed $(TOOL_SUBSTITUTIONS) -e s,@TOOL_MODULE\@,scannermain, -e s,@TOOL_FUNCTION\@,scanner_main, $< > $@.tmp && mv $@.tmp $@
@chmod a+x $@
g_ir_compiler_SOURCES = tools/compiler.c
-g_ir_compiler_CPPFLAGS = -I$(top_srcdir)/girepository
+g_ir_compiler_CPPFLAGS = -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
g_ir_compiler_CFLAGS = $(GIO_CFLAGS) $(WARN_CFLAGS)
g_ir_compiler_LDFLAGS = $(WARN_LDFLAGS)
g_ir_compiler_LDADD = \
$(GIREPO_LIBS)
g_ir_generate_SOURCES = tools/generate.c
-g_ir_generate_CPPFLAGS = -I$(top_srcdir)/girepository
+g_ir_generate_CPPFLAGS = -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
g_ir_generate_CFLAGS = $(GIO_CFLAGS) $(WARN_CFLAGS)
g_ir_generate_LDFLAGS = $(WARN_LDFLAGS)
g_ir_generate_LDADD = \
$(GIREPO_LIBS)
g_ir_inspect_SOURCES = tools/g-ir-inspect.c
-g_ir_inspect_CFLAGS = $(GIO_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)/girepository
+g_ir_inspect_CFLAGS = $(GIO_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
g_ir_inspect_LDFLAGS = $(WARN_LDFLAGS)
g_ir_inspect_LDADD = \
libgirepository-1.0.la \
$(m4_DATA) \
misc/update-glib-annotations.py \
misc/update-gtkdoc-tests.py \
- misc/verbump.py \
README.rst \
MSVC.README.rst \
meson.build \
check.quality:
(cd $(abs_top_srcdir) && $(PYTHON) -m flake8 --count);
-
-# Colin's handy Makefile bits for:
-# 1) stuffing tarballs with pre-generated scripts from your workstation
-# 2) bumping configure.ac version post-release
-# 3) tagging correctly in git
-# 4) uploading to gnome.org
-# To use:
-# $ make check
-# $ make dist
-# $ make prepare-minor-release
-
-# Customize to taste
-TAG_PREFIX=GOBJECT_INTROSPECTION_
-COMPRESSION=.xz
-
-
-PACKAGE=@PACKAGE@
-VERSION=@VERSION@
-DISTNAME=$(PACKAGE)-$(VERSION).tar$(COMPRESSION)
-TAG_VERSION=$(shell echo $(VERSION) |sed s/\\\./_/g)
-
-prepare-release-tag: Makefile
- git tag -m "Tag $(TAG_VERSION)" -a $(TAG_PREFIX)$(TAG_VERSION)
-
-prepare-minor-release: $(DISTNAME) prepare-release-tag Makefile
- env top_srcdir=$(top_srcdir) python $(top_srcdir)/misc/verbump.py
-
-upload-release: $(DISTNAME) Makefile
- git log origin/master..master
- @echo -n "Ok to push? [y/N] "; read ans; test x$$ans == xy || exit 1
- git push --tags origin master:master
- scp $(DISTNAME) master.gnome.org:
- ssh master.gnome.org install-module $(DISTNAME)
-
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = giscanner/_version.py \
+CONFIG_CLEAN_FILES = giscanner/_version.py girepository/giversion.h \
gobject-introspection-1.0.pc \
gobject-introspection-no-export-1.0.pc
CONFIG_CLEAN_VPATH_FILES =
girepository/libgirepository_1_0_la-gitypeinfo.lo \
girepository/libgirepository_1_0_la-gitypelib.lo \
girepository/libgirepository_1_0_la-giunioninfo.lo \
+ girepository/libgirepository_1_0_la-giversion.lo \
girepository/libgirepository_1_0_la-givfuncinfo.lo
libgirepository_1_0_la_OBJECTS = $(am_libgirepository_1_0_la_OBJECTS)
libgirepository_1_0_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
girepository/$(DEPDIR)/libgirepository_1_0_la-gitypeinfo.Plo \
girepository/$(DEPDIR)/libgirepository_1_0_la-gitypelib.Plo \
girepository/$(DEPDIR)/libgirepository_1_0_la-giunioninfo.Plo \
+ girepository/$(DEPDIR)/libgirepository_1_0_la-giversion.Plo \
girepository/$(DEPDIR)/libgirepository_1_0_la-givfuncinfo.Plo \
girepository/$(DEPDIR)/libgirepository_gthash_la-gthash.Plo \
girepository/$(DEPDIR)/libgirepository_internals_la-girmodule.Plo \
$(top_srcdir)/build-aux/py-compile \
$(top_srcdir)/build-aux/test-driver \
$(top_srcdir)/build-aux/ylwrap \
+ $(top_srcdir)/girepository/giversion.h.in \
$(top_srcdir)/giscanner/_version.py.in COPYING NEWS TODO \
build-aux/compile build-aux/config.guess build-aux/config.sub \
build-aux/depcomp build-aux/install-sh build-aux/ltmain.sh \
GIREPO_CFLAGS = @GIREPO_CFLAGS@
GIREPO_LIBS = @GIREPO_LIBS@
GIR_DIR = @GIR_DIR@
+GIR_PC_DIR = @GIR_PC_DIR@
GIR_SUFFIX = @GIR_SUFFIX@
GI_HIDDEN_VISIBILITY_CFLAGS = @GI_HIDDEN_VISIBILITY_CFLAGS@
+GI_MAJOR_VERSION = @GI_MAJOR_VERSION@
+GI_MICRO_VERSION = @GI_MICRO_VERSION@
+GI_MINOR_VERSION = @GI_MINOR_VERSION@
GI_VERSION = @GI_VERSION@
GLIBSRC = @GLIBSRC@
GLIB_CFLAGS = @GLIB_CFLAGS@
tools/meson.build COPYING.LGPL COPYING.GPL autogen.sh \
$(pkgconfig_DATA) $(man_MANS) $(m4_DATA) \
misc/update-glib-annotations.py misc/update-gtkdoc-tests.py \
- misc/verbump.py README.rst MSVC.README.rst meson.build \
- meson_options.txt .flake8
+ README.rst MSVC.README.rst meson.build meson_options.txt \
+ .flake8
lib_LTLIBRARIES = libgirepository-1.0.la
noinst_LTLIBRARIES = libgirepository-internals.la \
libgirepository-gthash.la libgiscanner.la
girepository/gitypes.h \
girepository/giunioninfo.h \
girepository/giversionmacros.h \
- girepository/givfuncinfo.h
+ girepository/givfuncinfo.h \
+ $(top_builddir)/girepository/giversion.h
libgirepository_gthash_la_SOURCES = \
girepository/gthash.c
$(WARN_CFLAGS) \
$(GIREPO_CFLAGS) \
$(GI_HIDDEN_VISIBILITY_CFLAGS) \
- -I$(top_srcdir)/girepository
+ -I$(top_srcdir)/girepository \
+ -I$(top_builddir)/girepository
libgirepository_gthash_la_LDFLAGS = \
$(WARN_LDFLAGS)
$(WARN_CFLAGS) \
$(GIREPO_CFLAGS) \
$(GI_HIDDEN_VISIBILITY_CFLAGS) \
- -I$(top_srcdir)/girepository
+ -I$(top_srcdir)/girepository \
+ -I$(top_builddir)/girepository
libgirepository_internals_la_LDFLAGS = \
$(WARN_LDFLAGS)
girepository/gitypelib.c \
girepository/gitypelib-internal.h \
girepository/giunioninfo.c \
+ girepository/giversion.c \
girepository/givfuncinfo.c
libgirepository_1_0_la_CPPFLAGS = \
$(GIREPO_CFLAGS) \
$(GI_HIDDEN_VISIBILITY_CFLAGS) \
-I$(top_srcdir)/girepository \
+ -I$(top_builddir)/girepository \
-DG_IREPOSITORY_COMPILATION
libgirepository_1_0_la_LIBADD = libgirepository-gthash.la $(GIREPO_LIBS)
@OS_WIN32_FALSE@gi_dump_types_LDFLAGS = $(WARN_LDFLAGS)
@OS_WIN32_FALSE@gi_dump_types_LDADD = $(GIO_UNIX_LIBS) $(GMODULE_LIBS)
gthash_test_SOURCES = girepository/gthash.c girepository/gthash-test.c
-gthash_test_CFLAGS = -I$(top_srcdir)/girepository $(GOBJECT_CFLAGS)
+gthash_test_CFLAGS = -I$(top_srcdir)/girepository -I$(top_builddir)/girepository $(GOBJECT_CFLAGS)
gthash_test_LDADD = libcmph.la libgirepository-1.0.la $(GOBJECT_LIBS)
AM_YFLAGS = -d -t
libgiscanner_la_SOURCES = \
giscanner/scannerlexer.l \
giscanner/scannerparser.y
-libgiscanner_la_CPPFLAGS = -I$(top_srcdir)/girepository -I$(top_srcdir)/giscanner
+libgiscanner_la_CPPFLAGS = -I$(top_srcdir)/girepository -I$(top_builddir)/girepository -I$(top_srcdir)/giscanner
libgiscanner_la_LIBADD = $(GOBJECT_LIBS) $(GIO_LIBS)
libgiscanner_la_CFLAGS = $(GOBJECT_CFLAGS) $(GIO_CFLAGS) $(WARN_CFLAGS_FLEX)
libgiscanner_la_LDFLAGS = $(WARN_LDFLAGS)
$(am__append_3)
_giscanner_la_SOURCES = giscanner/giscannermodule.c
glib_print_SOURCES = examples/glib-print.c
-glib_print_CFLAGS = $(GOBJECT_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)/girepository
+glib_print_CFLAGS = $(GOBJECT_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
glib_print_LDFLAGS = $(WARN_LDFLAGS)
glib_print_LDADD = libgirepository-1.0.la $(GOBJECT_LIBS)
BUILT_GIRSOURCES = GLib-2.0.gir GObject-2.0.gir GModule-2.0.gir \
-I$(GOBJECT_LIBDIR)/glib-2.0/include
GObject_2_0_gir_FILES = \
- $(filter-out $(GOBJECT_INCLUDEDIR)/gobject/glib-types.h, $(wildcard $(GOBJECT_INCLUDEDIR)/gobject/*.h)) \
+ $(filter-out $(GOBJECT_INCLUDEDIR)/gobject/glib-types.h $(GOBJECT_INCLUDEDIR)/gobject/gvaluecollector.h, \
+ $(wildcard $(GOBJECT_INCLUDEDIR)/gobject/*.h)) \
gir/gobject-2.0.c
$(WARN_SCANNERFLAGS) \
--identifier-prefix=GI \
--symbol-prefix=g \
+ --symbol-prefix=gi \
--c-include="girepository.h" \
--add-include-path=.
GIRepository_2_0_gir_INCLUDES = GObject-2.0
GIRepository_2_0_gir_EXPORT_PACKAGES = gobject-introspection-1.0
GIRepository_2_0_gir_CFLAGS = \
- -I$(top_srcdir)/girepository -I$(top_srcdir) \
+ -I$(top_srcdir)/girepository \
+ -I$(top_srcdir) \
+ -I$(top_builddir)/girepository \
-DGI_COMPILATION
GIRepository_2_0_gir_FILES = \
$(top_srcdir)/girepository/girepository.c \
$(top_srcdir)/girepository/gi*info.c \
$(top_srcdir)/girepository/gi*info.h \
+ $(top_builddir)/girepository/giversion.h \
$(top_srcdir)/girepository/gitypelib.h \
$(top_srcdir)/girepository/gitypes.h
gir_DATA = $(STATIC_GIRSOURCES) $(SUBSTITUTED_GIRSOURCES) $(BUILT_GIRSOURCES)
typelibsdir = $(libdir)/girepository-1.0
typelibs_DATA = $(gir_DATA:.gir=.typelib)
-TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON),
+TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -e s,@GIR_DIR\@,$(GIR_DIR),g
g_ir_compiler_SOURCES = tools/compiler.c
-g_ir_compiler_CPPFLAGS = -I$(top_srcdir)/girepository
+g_ir_compiler_CPPFLAGS = -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
g_ir_compiler_CFLAGS = $(GIO_CFLAGS) $(WARN_CFLAGS)
g_ir_compiler_LDFLAGS = $(WARN_LDFLAGS)
g_ir_compiler_LDADD = \
$(GIREPO_LIBS)
g_ir_generate_SOURCES = tools/generate.c
-g_ir_generate_CPPFLAGS = -I$(top_srcdir)/girepository
+g_ir_generate_CPPFLAGS = -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
g_ir_generate_CFLAGS = $(GIO_CFLAGS) $(WARN_CFLAGS)
g_ir_generate_LDFLAGS = $(WARN_LDFLAGS)
g_ir_generate_LDADD = \
$(GIREPO_LIBS)
g_ir_inspect_SOURCES = tools/g-ir-inspect.c
-g_ir_inspect_CFLAGS = $(GIO_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)/girepository
+g_ir_inspect_CFLAGS = $(GIO_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
g_ir_inspect_LDFLAGS = $(WARN_LDFLAGS)
g_ir_inspect_LDADD = \
libgirepository-1.0.la \
m4_DATA = m4/introspection.m4
makedir = $(datadir)/gobject-introspection-1.0
dist_make_DATA = Makefile.introspection
-
-# Colin's handy Makefile bits for:
-# 1) stuffing tarballs with pre-generated scripts from your workstation
-# 2) bumping configure.ac version post-release
-# 3) tagging correctly in git
-# 4) uploading to gnome.org
-# To use:
-# $ make check
-# $ make dist
-# $ make prepare-minor-release
-
-# Customize to taste
-TAG_PREFIX = GOBJECT_INTROSPECTION_
-COMPRESSION = .xz
-DISTNAME = $(PACKAGE)-$(VERSION).tar$(COMPRESSION)
-TAG_VERSION = $(shell echo $(VERSION) |sed s/\\\./_/g)
all: $(BUILT_SOURCES) config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
-rm -f config.h stamp-h1
giscanner/_version.py: $(top_builddir)/config.status $(top_srcdir)/giscanner/_version.py.in
cd $(top_builddir) && $(SHELL) ./config.status $@
+girepository/giversion.h: $(top_builddir)/config.status $(top_srcdir)/girepository/giversion.h.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
gobject-introspection-1.0.pc: $(top_builddir)/config.status $(srcdir)/gobject-introspection-1.0.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $@
gobject-introspection-no-export-1.0.pc: $(top_builddir)/config.status $(srcdir)/gobject-introspection-no-export-1.0.pc.in
girepository/libgirepository_1_0_la-giunioninfo.lo: \
girepository/$(am__dirstamp) \
girepository/$(DEPDIR)/$(am__dirstamp)
+girepository/libgirepository_1_0_la-giversion.lo: \
+ girepository/$(am__dirstamp) \
+ girepository/$(DEPDIR)/$(am__dirstamp)
girepository/libgirepository_1_0_la-givfuncinfo.lo: \
girepository/$(am__dirstamp) \
girepository/$(DEPDIR)/$(am__dirstamp)
@AMDEP_TRUE@@am__include@ @am__quote@girepository/$(DEPDIR)/libgirepository_1_0_la-gitypeinfo.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@girepository/$(DEPDIR)/libgirepository_1_0_la-gitypelib.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@girepository/$(DEPDIR)/libgirepository_1_0_la-giunioninfo.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@girepository/$(DEPDIR)/libgirepository_1_0_la-giversion.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@girepository/$(DEPDIR)/libgirepository_1_0_la-givfuncinfo.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@girepository/$(DEPDIR)/libgirepository_gthash_la-gthash.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@girepository/$(DEPDIR)/libgirepository_internals_la-girmodule.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgirepository_1_0_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o girepository/libgirepository_1_0_la-giunioninfo.lo `test -f 'girepository/giunioninfo.c' || echo '$(srcdir)/'`girepository/giunioninfo.c
+girepository/libgirepository_1_0_la-giversion.lo: girepository/giversion.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgirepository_1_0_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT girepository/libgirepository_1_0_la-giversion.lo -MD -MP -MF girepository/$(DEPDIR)/libgirepository_1_0_la-giversion.Tpo -c -o girepository/libgirepository_1_0_la-giversion.lo `test -f 'girepository/giversion.c' || echo '$(srcdir)/'`girepository/giversion.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) girepository/$(DEPDIR)/libgirepository_1_0_la-giversion.Tpo girepository/$(DEPDIR)/libgirepository_1_0_la-giversion.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='girepository/giversion.c' object='girepository/libgirepository_1_0_la-giversion.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgirepository_1_0_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o girepository/libgirepository_1_0_la-giversion.lo `test -f 'girepository/giversion.c' || echo '$(srcdir)/'`girepository/giversion.c
+
girepository/libgirepository_1_0_la-givfuncinfo.lo: girepository/givfuncinfo.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgirepository_1_0_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT girepository/libgirepository_1_0_la-givfuncinfo.lo -MD -MP -MF girepository/$(DEPDIR)/libgirepository_1_0_la-givfuncinfo.Tpo -c -o girepository/libgirepository_1_0_la-givfuncinfo.lo `test -f 'girepository/givfuncinfo.c' || echo '$(srcdir)/'`girepository/givfuncinfo.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) girepository/$(DEPDIR)/libgirepository_1_0_la-givfuncinfo.Tpo girepository/$(DEPDIR)/libgirepository_1_0_la-givfuncinfo.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_1_0_la-gitypeinfo.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_1_0_la-gitypelib.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_1_0_la-giunioninfo.Plo
+ -rm -f girepository/$(DEPDIR)/libgirepository_1_0_la-giversion.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_1_0_la-givfuncinfo.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_gthash_la-gthash.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_internals_la-girmodule.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_1_0_la-gitypeinfo.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_1_0_la-gitypelib.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_1_0_la-giunioninfo.Plo
+ -rm -f girepository/$(DEPDIR)/libgirepository_1_0_la-giversion.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_1_0_la-givfuncinfo.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_gthash_la-gthash.Plo
-rm -f girepository/$(DEPDIR)/libgirepository_internals_la-girmodule.Plo
check.quality:
(cd $(abs_top_srcdir) && $(PYTHON) -m flake8 --count);
-prepare-release-tag: Makefile
- git tag -m "Tag $(TAG_VERSION)" -a $(TAG_PREFIX)$(TAG_VERSION)
-
-prepare-minor-release: $(DISTNAME) prepare-release-tag Makefile
- env top_srcdir=$(top_srcdir) python $(top_srcdir)/misc/verbump.py
-
-upload-release: $(DISTNAME) Makefile
- git log origin/master..master
- @echo -n "Ok to push? [y/N] "; read ans; test x$$ans == xy || exit 1
- git push --tags origin master:master
- scp $(DISTNAME) master.gnome.org:
- ssh master.gnome.org install-module $(DISTNAME)
-
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
-1.58.3 - 2018-12-30
+1.59.1 - 2018-12-16
-------------------
-* docwriter: Support python-markdown 3.x. issue#250
-* scanner: Define grefcount and gatomicrefcount as aliases to gint. issue#254
- (Tomasz Miąsko <tomasz.miasko@gmail.com>)
-* scanner: make using bool without stdbool include work again. issue#247
-* gir: Update glib annotations for glib 2.58.2
-
-
-2.58.2 - 2018-12-09
+* Everything included in 1.58.2
+* build: Drop Python 2 support, require Python 3.4+ :mr:`69`
+* build: Add option to make .gir files installation paths configurable
+ :mr:`63` (:user:`Kai Kang <kai.7.kang>`)
+* build: Skip gobject/gvaluecollector.h when constructing GObject GIR
+ :mr:`20` (:user:`Tomasz Miąsko <tmiasko>`)
+* build: Port various tests to work with meson
+ :mr:`92` :mr:`94` :mr:`95` (:user:`Tomasz Miąsko <tmiasko>`)
+* regress: Add test for write-only property
+ :mr:`67` (:user:`Philip Chimento <ptomato>`)
+* regress: Implement interface and override properties
+ :mr:`59` (:user:`Philip Chimento <ptomato>`)
+* writer: Include documentation and symbol position in source files
+ :mr:`75` (:user:`Thibault Saunier <thiblahute>`)
+* giscanner: Print relative filename paths when warning
+ :mr:`74` (:user:`Jonas Ådahl <jadahl>`)
+* giscanner: Define grefcount and gatomicrefcount as aliases to gint
+ :mr:`76` (:user:`Tomasz Miąsko <tmiasko>`)
+* giscanner: Allow empty declarations. Fixes warnings with mingw headers.
+ :issue:`216` :mr:`89` (:user:`Christoph Reiter <creiter>`)
+* giscanner: Replace linked lists with arrays in source scanner
+ :mr:`90` (:user:`Tomasz Miąsko <tmiasko>`)
+* girepository: Various docs cleanups and fixes
+ :mr:`96` :mr:`97` :issue:`66` (:user:`Tomasz Miąsko <tmiasko>`,
+ :user:`Christoph Reiter <creiter>`, Jasper St. Pierre)
+* girepository: Don't abort when calling g_base_info_get_name() on a GITypeInfo
+ :issue:`96` :mr:`99` (:user:`Christoph Reiter <creiter>`)
+* girepository: Add version macros and functions
+ :issue:`200` :mr:`98` (:user:`Christoph Reiter <creiter>`)
+
+
+1.58.2 - 2018-12-09
-------------------
* meson: Fix random build errors (mostly MSVC)
- (Tomasz Miąsko <tomasz.miasko@gmail.com>)
+ :mr:`88` (:user:`Tomasz Miąsko <tmiasko>`)
* scanner: Fix parsing of __typeof__ that is part of a cast expression
- (Tomasz Miąsko <tomasz.miasko@gmail.com>)
+ :mr:`78` (:user:`Tomasz Miąsko <tmiasko>`)
* scanner: Ignore __pragma keyword used by MSVC
- (Tomasz Miąsko <tomasz.miasko@gmail.com>)
+ :mr:`87` (:user:`Tomasz Miąsko <tmiasko>`)
-2.58.1 - 2018-11-17
+1.58.1 - 2018-11-17
-------------------
-* meson: Install warnlib mr#62 (Jan Tojnar <jtojnar@gmail.com>)
+* meson: Install warnlib :mr:`62` (:user:`Jan Tojnar <jtojnar>`)
* scanner: Parse __typeof__ and discard it
- mr#71 (Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>)
+ :mr:`71` (:user:`Jan Alexander Steffens <heftig>`)
* meson: add back /usr/bin/env to the python-cmd
- issue#237 mr#70 (Havard Graff <havard@pexip.com>)
+ :issue:`237` :mr:`70` (:user:`Håvard Graff <hgr>`)
* Fix non libtool build
- mr#72 (Olivier Crête <olivier.crete@collabora.com>)
+ :mr:`72` (:user:`Olivier Crête <ocrete>`)
-=== 2.58 ======================================================================
+1.58.0 - 2018-08-31
+-------------------
+
+::
• Changes:
- Update annotations imported from GLib, and require GLib 2.58
Philip Chimento, Tom Schoonjans, Christoph Reiter, Ray Donnelly,
Marcus Calhoun-Lopez, Florian Müllner, Evan Welsh, Mathieu Duponchelle
-=== 2.56 ======================================================================
+1.56 - 2018-03-13
+-----------------
+
+::
• Changes:
- Add _Float128 to the base C types
Nicola Fontana, Tomasz Miąsko, Emmanuele Bassi, Philip Chimento,
Karl-Philipp Richter
----
-For older releases, see the Git log
----
-0.6.3 22-jun 2009
- Bugs resolved:
- - 551738 Association needed between records and classes/interfaces
- - 555960 Nested structs and unions
- - 555964 float #defined constants are ignored
- - 556475 support Shadows: annotation
- - 561360 do not fail for not-found GTypes
- - 561604 g-ir-compiler fails on gvariant
- - 563469 Arrays not treated correctly in struct offset calculation
- - 563682 Fails to build on Hurd/i386 because of undefined PATH_MAX
- - 564016 add nsprefix to gir and typelib
- - 566560 giscanner.transformer.SkipError
- - 567906 put pkg-config name in gir, use them by default in scanner
- - 568680 Scanner misses fields (at least in GObject.Object)
- - 569355 warning fixes
- - 569633 [PATCH] Typelib compiler fails with vararg callbacks.
- - 569930 g_registered_type_info_get_g_type does not handle GObject
- - 570594 everything you know about C syntax is wrong
- - 570903 Add information about -I flag to scanner manpage.
- - 571182 introspection.m4 issues
- - 571248 [patch] ignore unknown elements in gir parser
- - 571483 .gir should be sorted
- - 571548 generic typelib attributes
- - 571649 Rename Soup-2.0.gir to Soup-2.4.gir
- - 572075 Make the scanner work with static and convenience libraries
- - 572086 Parse doc-comment tags case-insensitive
- - 572423 Add c:header-filename or c:header-filenames where appropr...
- - 572434 Have glib:is-iface-struct-for attribute on *Iface structs
- - 572563 build failure in tests/everything
- - 572790 #defines should be parsed in .h files but not .c files
- - 572965 Allow generic marshaller to be called without parameters
- - 573306 Relax callback grouping detection rules
- - 573309 Adding an "--all" parameter to g-ir-generate
- - 573332 Allow annotation of enums as bitfields
- - 574139 There is no way to identify 'user_data' arguments in the ...
- - 574284 Add support for a 'closure' and 'destroy' annotations
- - 574501 build script looks for site-packages instead of dist-pack...
- - 575613 incorrect enum stripping
- - 576323 g-ir-compiler fails with constant in classes
- - 576605 Get rid of GI_SCOPE_TYPE_OBJECT
- - 576627 gir-repository: WebKit needs to include Soup-2.4
- - 577065 Fix 'Could not find GIR file ...' error to use right file...
- - 577534 use rename() to write out typelibs
- - 577546 Missing annotations for GLib, GObject and Gio
- - 579522 gobject-introspection fails to build when missing libsoup...
- - 579602 Annotation fixes for gdk, gdkpixbuf, gtk and notify
- - 581680 Leftover bogus text in g-object-introspection documentation
- - 581681 Allow the use of the "Rename To" annotation for literal m...
- - 581682 Improve "Everything" test library
- - 581684 Minor doc comment fix
- - 581685 Allow nested parameterized types for GList, GSList, and G...
- - 581689 Better handle classes with non-standard to_underscore names.
- - 583338 GIR annotations: gtk_init can take a null argv
- - 584423 Add short/ushort support
- - 584432 g-ir-compiler fails to find gir files installed by gobjec...
- - 584453 Default annotations value for const gchar* const *
- - 584816 Add GLclampf to the GL GIR
- - 584842 Add an Everything-1.0-expected.gir, test Everything versu...
- - 585081 libgirepository-everything is not linked against libglib,...
- - 585141 Incomplete gir generation for GdkPixbuf, Atk, Poppler
- - 585150 XPATH_TESTS are not run
- - 585328 g_type_info_is_zero_terminated returns TRUE unless (array...
- - 585373 Add annotations for g_spawn_* functions.
- - 585579 g-o-i: 'make check' doesn't check Everything-1.0-expected...
- - 585584 Fix warnings in girparser.c and compiler.c
- - 585908 make distcheck fails
- Contributors:
- C. Scott Ananian, Emmanuele Bassi, Johan Bilien, Robert Carr,
- Johan Dahlin, Holger Hans Peter Freyther, Marco Pesenti Gritti,
- David Ignacio, Mark Lee, Simon van der Linden, Xan Lopez,
- Didier 'Ptitjes, Chris Rivera, Andreas Rottmann, Owen W. Taylor,
- Colin Walters, Dan Winship, Tomeu Vizoso and Marina Zhurakhinskaya
-
-
-0.6.2 21-jan-2009
- Bugs resolved:
- - Bug 562622 – Errordomains missing
- - Bug 562615 – Struct methods missing
- - Bug 567813 – Everything should be versioned
- - Bug 555036 – put gtk-doc in GIR
- - Bug 562467 – Property annotation
- - Bug 546739 – Introspection should know precise signal parameter types
- - Bug 563591 – Flags not recognized when there is no introspection data
- - Bug 563386 – scanner ignores "const" on boxed return values
- - Bug 566404 – Annotations for GLib
- - Bug 566419 – Element type of arrays not properly handled in all cases
- - Bug 566560 – giscanner.transformer.SkipError
- - Bug 563794 - Redo annotation parsing & applying
- - Bug 563469 – Arrays not treated correctly in struct offset calculation
- - Bug 556489 – callback annotations
- - Bug 563998 – Cache the GIBaseInfo for GTypes
- - Bug 562545 – Add function taking / returning GValue
- - Bug 563742 – introspection should record the introduced version of
- - Bug 562971 – g-ir-scanner failure on libgpod headers
- - Bug 562289 – Race when removing invalid cache
- - Bug 559705 – Missing association between static methods and classes
- - Bug 562022 – gobject-introspection needs python headers
- - Bug 561617 – Return value array annotations
- - Bug 561296 - Add "storage type" to the typelib data for enums
- - Bug 559706 - Interface prerequisites
- - Bug 561087 - Respect is_pointer in serialize_type()
- - Bug 560825 – Add size and alignment to typelib
- Contributors:
- Johan Bilien, Jürg Billeter, Johan Dahlin, Christophe Fergeau
- Havoc Pennington, Andreas Rottmann, Owen Taylor, Tristan Van Berkom
- Colin Walters, Dan Winship
-
-0.6.1 25-nov-2008
- Bugs resolved:
- - Bug 552371 - implement struct field get/set
- - Bug 552568 - All the argv parameters in Gtk.gir map char*** to int8
- - Bug 557468 - Support for GI_TYPELIB_PATH
- - Bug 557788 - Return types for constructors in generated typelib bogus
- - Bug 557898 - Fails to build on OSX 10.4
- - Bug 558436 - avoid having scanner load app code
- - Bug 558848 - girparser.py: shared-library should be optional
- - Bug 558849 - girepository: extend X stubbing
- - Bug 559601 - Pointers in structs/unions unduly treated as arrays
- - Bug 559703 - Virtual functions miss throws attribute in .gir
- - Bug 559706 - Interface prerequisites missing
- - Bug 559736 - Show the right filename in error messages
- - Bug 559737 - Deal with continuations in macros
- - Bug 560241 - Out-arguments should not be marked as being pointers in a...
- - Bug 560248 - "disguised structures"
- - Bug 560250 - [PATCH] Fully parse included modules
- - Bug 560251 - [PATCH] Split g_ir_ffi_get_ffi_type() out from ginvoke.c
- - Bug 560252 - Compute field offsets before writing typelib
- - Bug 560253 - [PATCH] Add struture and boxed types to Everything test m...
- - Bug 560308 - g-ir-compiler goes in infinite loop on Gdk-2.0.gir
- - Bug 560326 - Fails to build Gtk-2.0.typelib with "Unexpected non-point...
- - Bug 560346 - Fix and install pkgconfig file
- - Bug 560404 - Prefix types when resolving aliases in included modules
- - Bug 560419 - Cache includes when parsing
- - Bug 560474 - g-ir-compiler crashes when compiling the glib gir
- - Bug 560708 - Don't treat arrays that have a length specified as zero-t...
- - Bug 560825 - Add size and alignment to typelib
- - Bug 561087 - Respect is_pointer in serialize_type()
- - Bug 561135 - hashtable element-type annotations broken
- - Bug 561137 - support multiple repos for GBaseInfo
- - Bug 561296 - Add "storage type" to the typelib data for enums
- - Bug 561568 - Add Gio Unix bits to the Gio.gir if available
- - Bug 561570 - Add TestObj with static methods
- - Bug 561617 - Return value array annotations
- - Bug 562022 - gobject-introspection needs python headers
- - Bug 562030 - gir repository fails to build DBus-1.0.typelib without db...
- - Bug 562031 - gir repository fails to libxml2 typelib without libxml2 i...
- Contributors: Étienne Bersac, Johan Bilien, Jürg Billeter, Johan Dahlin,
- Tommi Komulainen, Tom Parker, Lucas Rocha, Andreas Rottmann
- Colin Walters, Dan Winship, Owen Taylor
-
-0.6.0 31-oct-2008
- Bugs resolved:
- - Bug 551162 - giscanner does not recognize asm and __asm__
- - Bug 551737 - Fix strip_namespace_func to only strip prefix...
- - Bug 551744 - Non-GObject types aren't aggregating ctors and methods
- - Bug 552065 - Add deprecation annotation
- - Bug 552347 - Parse #defines constants
- - Bug 552370 - add one more test for unsigned as a type, not as a type qualifier
- - Bug 552370 - unsigned not scanned properly
- - Bug 552374 - Const strings should be identified in the gir
- - Bug 552380 - Array parameters should be marked in the gir
- - Bug 552384 - Use SHLIB_SUFFIX intead of G_MODULE_SUFFIX for Darwin
- - Bug 552390 - Handle capitialization like "DBus" more robustly
- - Bug 552393 - Note variadic functions
- - Bug 552566 - Add time_t type
- - Bug 552858 - versioning
- - Bug 554490 - g-ir-scanner gets confused by '\\'
- - Bug 554521 - scanner generates wrong names for enum members with...
- - Bug 554576 - scan problem with ev_selection_render_selection()
- - Bug 554632 - type tag for GType
- - Bug 554854 - The --typelib-xml and --inject options should reuse giscanner ...
- - Bug 555293 - append library_paths to LPATH env variable to workaround a...
- - Bug 555294 - Add support for multiple shared libraries per typelib.
- - Bug 555712 - Struct and union issues
- - Bug 555946 - Install a test module exercising all types, transfer rules, etc
- - Bug 556048 – Crash in g_irepository_find_by_gtype
- - Bug 556174 – parse types for lists etc
- - Bug 556185 - segfault on g_callable_info_get_return_type
- - Bug 556323 – transfer-ownership is wrong for functions returning const char *
- - Bug 556331 - clean up includes handling
- - Bug 556358 - don't use libtool internals
- - Bug 556400 – Fails to build on OS X 10.4
- - Bug 556432 - transfer annotations and defaults
- - Bug 556433 – assume direction = out for int * parameters
- - Bug 556434 – unhandled interface/object/... member types
- - Bug 556541 – access union members through UnionBlob rather than StructBlob
- - Bug 556543 – reduce compiler warnings
- - Bug 556579 - union and struct name misresolved
- - Bug 556610 – giscanner/girparser.py drops parameter options
- - Bug 556732 – generate gir files consistently
- - Bug 556739 - transfer ownership
- - Bug 556777 - validate properties
- - Bug 556783 - change namespace handling to be more consistent
- - Bug 556795 - char ** regression
- - Bug 557076 - move typelibs to $libdir
- - Bug 557092 – Callback annotations not used
- - Bug 557241 – "throws" flag for functions
- - Bug 557377 – Add test to ensure annotations survive the roundtrip via typelib
- - Bug 557379 – g-ir-generate not writing the 'abstract' attribute
- - Bug 557405 – Use 'allow-none' consistently
- - Bug 557468 – Support for GI_TYPELIB_PATH
- - Bug 557623 - Constructors shouldn't be flagged as methods
- - Bug 557786 - support fixed size arrays
- - Bug 557788 – Return types for constructors in generated typelib bogus
- - Bug 557791 – g_irepository_require() could return a GTypelib *
- - Bug 558062 – provide and use paths in the .pc file
- - Bug 558065 – gitesttypes should be installed
- - Bug 558068 – when invoking a method, offset the in arguments by one, not the out
- - Bug 558109 – _g_typelib_init fails to find shared libraries
- - Bug 558383 – builddir != srcdir build fails if giscanner python module not already installed
- Contributors: Johan Bilien, Jürg Billeter, Johan Dahlin, John Ehresman,
- Tommi Komulainen, Jani Monoses, Lucas Rocha, Andreas Rottmann
- Colin Walters, Dan Winship, Owen Taylor
+.. note::
-0.5.0 01-sep-2008
- - First public release
+ For older releases, see the Git log
/* config.h.in. Generated from configure.ac by autoheader. */
-/* Director prefix for gir installation */
+/* Directory prefix for gir installation */
#undef GIR_DIR
/* Name of the gir directory */
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gobject-introspection 1.58.3.
+# Generated by GNU Autoconf 2.69 for gobject-introspection 1.59.1.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection>.
#
# Identity of this package.
PACKAGE_NAME='gobject-introspection'
PACKAGE_TARNAME='gobject-introspection'
-PACKAGE_VERSION='1.58.3'
-PACKAGE_STRING='gobject-introspection 1.58.3'
+PACKAGE_VERSION='1.59.1'
+PACKAGE_STRING='gobject-introspection 1.59.1'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection'
PACKAGE_URL=''
GOBJECT_CFLAGS
GLIB_LIBS
GLIB_CFLAGS
+GIR_PC_DIR
GIR_DIR
GIR_SUFFIX
GOBJECT_INTROSPECTION_LIBDIR
build_vendor
build_cpu
build
+GI_MICRO_VERSION
+GI_MINOR_VERSION
+GI_MAJOR_VERSION
GI_VERSION
MAINT
MAINTAINER_MODE_FALSE
enable_libtool_lock
enable_compile_warnings
enable_Werror
+with_gir_dir_prefix
with_cairo
with_html_dir
enable_gtk_doc
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures gobject-introspection 1.58.3 to adapt to many kinds of systems.
+\`configure' configures gobject-introspection 1.59.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of gobject-introspection 1.58.3:";;
+ short | recursive ) echo "Configuration of gobject-introspection 1.59.1:";;
esac
cat <<\_ACEOF
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-sysroot[=DIR] Search for dependent libraries within DIR (or the
compiler's sysroot if not specified).
+ --with-gir-dir-prefix Directory prefix for gir installation
--with-cairo Use cairo [default=maybe]
--with-html-dir=PATH path to installed docs
--with-python=PATH Path to Python interpreter; searches $PATH if only a
- program name is given; if not given, searches for a
- few standard names such as "python3" or "python2"
+ program name, such as "python3" or "python3.4", is
+ given; if not given, searches for a few standard
+ names
--with-glib-src=PATH Source directory for glib - needed to add docs to gir
Some influential environment variables:
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-gobject-introspection configure 1.58.3
+gobject-introspection configure 1.59.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by gobject-introspection $as_me 1.58.3, which was
+It was created by gobject-introspection $as_me 1.59.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
# Define the identity of the package.
PACKAGE='gobject-introspection'
- VERSION='1.58.3'
+ VERSION='1.59.1'
cat >>confdefs.h <<_ACEOF
# Used in docs/reference/version.xml
-GI_VERSION=1.58.3
+GI_VERSION=1.59.1
+
+
+GI_MAJOR_VERSION=1
+GI_MINOR_VERSION=59
+GI_MICRO_VERSION=1
+
+
# Check for Win32
_ACEOF
-GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX"
+
+# Check whether --with-gir-dir-prefix was given.
+if test "${with_gir_dir_prefix+set}" = set; then :
+ withval=$with_gir_dir_prefix; GIR_DIR_PREFIX="$withval"
+fi
+
+
+if test -z $GIR_DIR_PREFIX; then
+ GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX"
+ GIR_PC_DIR="\${datadir}/$GIR_SUFFIX"
+else
+ GIR_DIR="$GIR_DIR_PREFIX/$GIR_SUFFIX"
+ GIR_PC_DIR="$GIR_DIR_PREFIX/$GIR_SUFFIX"
+fi
+
+
cat >>confdefs.h <<_ACEOF
if test x"$PYTHON" = xyes; then
as_fn_error $? "--with-python option requires a path or program argument" "$LINENO" 5
fi
-if test -n "$PYTHON" && ! which "$PYTHON"; then
- as_fn_error $? "Python interpreter $PYTHON does not exist" "$LINENO" 5
-fi
-
if test -n "$PYTHON"; then
# If the user set $PYTHON, use it and don't search something else.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 2.7" >&5
-$as_echo_n "checking whether $PYTHON version is >= 2.7... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.4" >&5
+$as_echo_n "checking whether $PYTHON version is >= 3.4... " >&6; }
prog="import sys
# split strings by '.' and convert to numeric. Append some zeros
# because we need at least 4 digits for the hex conversion.
# map returns an iterator in Python 3.0 and a list in 2.x
-minver = list(map(int, '2.7'.split('.'))) + [0, 0, 0]
+minver = list(map(int, '3.4'.split('.'))) + [0, 0, 0]
minverhex = 0
# xrange is not present in Python 3.0 and range returns an iterator
for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
else
# Otherwise, try each interpreter until we find one that satisfies
# VERSION.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.7" >&5
-$as_echo_n "checking for a Python interpreter with version >= 2.7... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.4" >&5
+$as_echo_n "checking for a Python interpreter with version >= 3.4... " >&6; }
if ${am_cv_pathless_PYTHON+:} false; then :
$as_echo_n "(cached) " >&6
else
# split strings by '.' and convert to numeric. Append some zeros
# because we need at least 4 digits for the hex conversion.
# map returns an iterator in Python 3.0 and a list in 2.x
-minver = list(map(int, '2.7'.split('.'))) + [0, 0, 0]
+minver = list(map(int, '3.4'.split('.'))) + [0, 0, 0]
minverhex = 0
# xrange is not present in Python 3.0 and range returns an iterator
for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
if test "$PYTHON" = :; then
- as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5
+ as_fn_error $? "Requires Python >=3.4" "$LINENO" 5
else
fi
+
case "$host" in
*-*-mingw*)
# Change backslashes to forward slashes in pyexecdir to avoid
fi
-ac_config_files="$ac_config_files Makefile tests/Makefile tests/offsets/Makefile tests/scanner/Makefile tests/scanner/annotationparser/Makefile tests/repository/Makefile tests/warn/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml giscanner/_version.py gobject-introspection-1.0.pc gobject-introspection-no-export-1.0.pc"
+ac_config_files="$ac_config_files Makefile tests/Makefile tests/offsets/Makefile tests/scanner/Makefile tests/scanner/annotationparser/Makefile tests/repository/Makefile tests/warn/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml giscanner/_version.py girepository/giversion.h gobject-introspection-1.0.pc gobject-introspection-no-export-1.0.pc"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by gobject-introspection $as_me 1.58.3, which was
+This file was extended by gobject-introspection $as_me 1.59.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-gobject-introspection config.status 1.58.3
+gobject-introspection config.status 1.59.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
"docs/reference/Makefile") CONFIG_FILES="$CONFIG_FILES docs/reference/Makefile" ;;
"docs/reference/version.xml") CONFIG_FILES="$CONFIG_FILES docs/reference/version.xml" ;;
"giscanner/_version.py") CONFIG_FILES="$CONFIG_FILES giscanner/_version.py" ;;
+ "girepository/giversion.h") CONFIG_FILES="$CONFIG_FILES girepository/giversion.h" ;;
"gobject-introspection-1.0.pc") CONFIG_FILES="$CONFIG_FILES gobject-introspection-1.0.pc" ;;
"gobject-introspection-no-export-1.0.pc") CONFIG_FILES="$CONFIG_FILES gobject-introspection-no-export-1.0.pc" ;;
dnl the gi version number
m4_define(gi_major_version, 1)
-m4_define(gi_minor_version, 58)
-m4_define(gi_micro_version, 3)
+m4_define(gi_minor_version, 59)
+m4_define(gi_micro_version, 1)
m4_define(gi_version, gi_major_version.gi_minor_version.gi_micro_version)
AC_PREREQ([2.63])
GI_VERSION=gi_version
AC_SUBST(GI_VERSION)
+GI_MAJOR_VERSION=gi_major_version
+GI_MINOR_VERSION=gi_minor_version
+GI_MICRO_VERSION=gi_micro_version
+AC_SUBST(GI_MAJOR_VERSION)
+AC_SUBST(GI_MINOR_VERSION)
+AC_SUBST(GI_MICRO_VERSION)
+
# Check for Win32
AC_CANONICAL_HOST
case "$host" in
AC_SUBST(GIR_SUFFIX)
AC_DEFINE_UNQUOTED(GIR_SUFFIX, "$GIR_SUFFIX", [Name of the gir directory])
-GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX"
+AC_ARG_WITH([gir-dir-prefix],
+ [AS_HELP_STRING([--with-gir-dir-prefix], [Directory prefix for gir installation])],
+ [GIR_DIR_PREFIX="$withval"], [])
+
+if test -z $GIR_DIR_PREFIX; then
+ GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX"
+ GIR_PC_DIR="\${datadir}/$GIR_SUFFIX"
+else
+ GIR_DIR="$GIR_DIR_PREFIX/$GIR_SUFFIX"
+ GIR_PC_DIR="$GIR_DIR_PREFIX/$GIR_SUFFIX"
+fi
+
AC_SUBST(GIR_DIR)
-AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Director prefix for gir installation])
+AC_SUBST(GIR_PC_DIR)
+AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Directory prefix for gir installation])
PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.58.0])
# we will fallback to reading $PYTHON if --with-python is not given, and
# python.m4 will get the expected input
AC_ARG_WITH(python,
- AS_HELP_STRING([--with-python=PATH],[Path to Python interpreter; searches $PATH if only a program name is given; if not given, searches for a few standard names such as "python3" or "python2"]),
+ AS_HELP_STRING([--with-python=PATH],[Path to Python interpreter; searches $PATH if only a program name, such as "python3" or "python3.4", is given; if not given, searches for a few standard names]),
[PYTHON="$withval"], [])
if test x"$PYTHON" = xyes; then
AC_MSG_ERROR([--with-python option requires a path or program argument])
fi
-if test -n "$PYTHON" && ! which "$PYTHON"; then
- AC_MSG_ERROR([Python interpreter $PYTHON does not exist])
-fi
+AM_PATH_PYTHON(3.4,,[AC_MSG_ERROR([Requires Python >=3.4])])
-AM_PATH_PYTHON([2.7])
case "$host" in
*-*-mingw*)
# Change backslashes to forward slashes in pyexecdir to avoid
docs/reference/Makefile
docs/reference/version.xml
giscanner/_version.py
+girepository/giversion.h
gobject-introspection-1.0.pc
gobject-introspection-no-export-1.0.pc])
AC_OUTPUT
GIREPO_CFLAGS = @GIREPO_CFLAGS@
GIREPO_LIBS = @GIREPO_LIBS@
GIR_DIR = @GIR_DIR@
+GIR_PC_DIR = @GIR_PC_DIR@
GIR_SUFFIX = @GIR_SUFFIX@
GI_HIDDEN_VISIBILITY_CFLAGS = @GI_HIDDEN_VISIBILITY_CFLAGS@
+GI_MAJOR_VERSION = @GI_MAJOR_VERSION@
+GI_MICRO_VERSION = @GI_MICRO_VERSION@
+GI_MINOR_VERSION = @GI_MINOR_VERSION@
GI_VERSION = @GI_VERSION@
GLIBSRC = @GLIBSRC@
GLIB_CFLAGS = @GLIB_CFLAGS@
& element doc {
attribute xml:space { "preserve" }?,
attribute xml:whitespace { "preserve" }?,
+ attribute filename { xsd:string },
+ attribute line { xsd:string },
+ attribute column { xsd:string },
text
}?
text
}?
+ & element source-position {
+ attribute filename { xsd:string },
+ attribute line { xsd:string },
+ attribute column { xsd:string },
+ }?
)
Info.elements = (
girmodule.h \
girepository-private.h
-# Images to copy into HTML directory.
-# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
-HTML_IMAGES= \
- images/overview.png
-
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
content_files= \
- overview-building.xml \
- overview-programming.xml \
- gi-gir-reference.xml \
gi-struct-hierarchy.xml \
version.xml
GIREPO_CFLAGS = @GIREPO_CFLAGS@
GIREPO_LIBS = @GIREPO_LIBS@
GIR_DIR = @GIR_DIR@
+GIR_PC_DIR = @GIR_PC_DIR@
GIR_SUFFIX = @GIR_SUFFIX@
GI_HIDDEN_VISIBILITY_CFLAGS = @GI_HIDDEN_VISIBILITY_CFLAGS@
+GI_MAJOR_VERSION = @GI_MAJOR_VERSION@
+GI_MICRO_VERSION = @GI_MICRO_VERSION@
+GI_MINOR_VERSION = @GI_MINOR_VERSION@
GI_VERSION = @GI_VERSION@
GLIBSRC = @GLIBSRC@
GLIB_CFLAGS = @GLIB_CFLAGS@
girepository-private.h
-# Images to copy into HTML directory.
-# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
-HTML_IMAGES = \
- images/overview.png
-
-
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
content_files = \
- overview-building.xml \
- overview-programming.xml \
- gi-gir-reference.xml \
gi-struct-hierarchy.xml \
version.xml
<!ENTITY version SYSTEM "xml/version.xml">
]>
<book id="index" lang="en" xmlns:xi="http://www.w3.org/2003/XInclude">
- <title>GObject Introspection Reference Manual</title>
+ <title>libgirepository API Reference</title>
<bookinfo>
- <title>GObject Introspection Reference Manual</title>
+ <title>libgirepository API Reference</title>
<releaseinfo>
- This document is for GObject Introspection version &version;.
+ This document is for libgirepository version &version;.
The latest version of this documentation can be found on-line at
- <ulink type="http" url="http://developer.gnome.org/gi/unstable/">http://developer.gnome.org/gi/unstable/</ulink>.
- </releaseinfo>
- </bookinfo>
-
- <part id="overview">
- <title>GObject-Introspection Overview</title>
- <para>
- GObject-Introspection is striving to provide a middleware layer between
- (GObject based) C libraries and language bindings. The primary goal of
- this project is to minimize duplicated effort in language binding
- projects by providing shared metadata files on bound C libraries.
- Language bindings can read these metadata files at runtime to learn
- how to interface with a bound C library.
- </para>
-
- <xi:include href="xml/overview-building.xml"/>
- <xi:include href="xml/overview-programming.xml"/>
- <!-- <chapter>
- <title>Introduction</title>
-
+ <ulink type="http" url="https://developer.gnome.org/gi/unstable/">https://developer.gnome.org/gi/unstable/</ulink>.
<para>
- Metadata provided by GObject-Introspection is represented by a
- number of structures:
- <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
- * <link linkend="gi-GICallableInfo">GICallableInfo</link>
- * <link linkend="gi-GIFunctionInfo">GIFunctionInfo</link>
- * <link linkend="gi-GISignalInfo">GISignalInfo</link>
- * <link linkend="gi-GIVFuncInfo">GIVFuncInfo</link>
- * <link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
- * <link linkend="gi-GIEnumInfo">GIEnumInfo</link>
- * <link linkend="gi-GIInterfaceInfo">GIInterfaceInfo</link>
- * <link linkend="gi-GIObjectInfo">GIObjectInfo</link>
- * <link linkend="gi-GIStructInfo">GIStructInfo</link>
- * <link linkend="gi-GIUnionInfo">GIUnionInfo</link>
- * <link linkend="gi-GIArgInfo">GIArgInfo</link>
- * <link linkend="gi-GIConstantInfo">GIConstantInfo</link>
- * <link linkend="gi-GIFieldInfo">GIFieldInfo</link>
- * <link linkend="gi-GIPropertyInfo">GIPropertyInfo</link>
- * <link linkend="gi-GITypeInfo">GITypeInfo</link>
- </synopsis>
+ For more information on how to build libgirepository, for how to build
+ bindings with it and for information on GObject Introspection in
+ general see
+ <ulink type="http" url="https://gi.readthedocs.io">https://gi.readthedocs.io</ulink>.
</para>
- </chapter> -->
-
-<!--
- <chapter id="tools">
- <title>GObject Introspection Tools</title>
-
- &g-ir-scanner;
- &g-ir-compiler;
- &g-ir-generator;
- </chapter>
--->
+ </releaseinfo>
+ </bookinfo>
- <para>
- The GObject-Introspection package contains of a few different parts:
- <itemizedlist>
- <listitem>
- <para>The GIR XML format - an XML format describing the exported C API including documentation</para>
- </listitem>
- <listitem>
- <para>The GTypelib format - a binary format optimized for fast disk access and low memory usage</para>
- </listitem>
- <listitem>
- <para>g-ir-scanner - parses C source code and gtk-doc comments and generates GIR XML files</para>
- </listitem>
- <listitem>
- <para>g-ir-compiler - compiles GIR XML files into typelibs</para>
- </listitem>
- <listitem>
- <para>libgirepository - library to access typelib from C</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>The following illustration shows how the different components fit together:</para>
- <inlinegraphic fileref="overview.png" format="PNG"></inlinegraphic>
- </part>
+ <xi:include href="xml/girepository.xml"/>
+ <xi:include href="xml/gitypelib.xml" />
+ <xi:include href="xml/giversion.xml"/>
+ <xi:include href="xml/gicommontypes.xml"/>
- <part id="gi">
- <title>API Reference</title>
<chapter>
- <title>GIRepository</title>
- <xi:include href="xml/girepository.xml"/>
+ <title>GIBaseInfo</title>
<xi:include href="xml/gi-struct-hierarchy.xml"/>
- <xi:include href="xml/gicommontypes.xml"/>
-
<xi:include href="xml/gibaseinfo.xml"/>
<xi:include href="xml/gicallableinfo.xml"/>
<xi:include href="xml/givalueinfo.xml"/>
</chapter>
- <chapter id="gi-typelib">
- <title>GITypelib</title>
- <xi:include href="xml/gitypelib.xml" />
- <xi:include href="xml/gitypelib-internal.xml"/>
- </chapter>
-
<chapter>
- <title>TODO</title>
+ <title>FFI Interface</title>
<xi:include href="xml/girffi.xml"/>
-
- <xi:include href="xml/gi-gir-reference.xml"/>
- <!--
- &gi-gir-creating;
- &gi-gir-parsing;
- &gi-gir-verifying;
- -->
</chapter>
- </part>
+ <chapter>
+ <title>Internals & Typelib Format</title>
+ <xi:include href="xml/gitypelib-internal.xml"/>
+ </chapter>
<index id="api-index-full">
<title id="index-all">Index</title>
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
- <index id="api-index-1-29-0" role="1.29.0">
- <title>Index of new symbols in 1.29.0</title>
- <xi:include href="xml/api-index-1.29.0.xml"><xi:fallback /></xi:include>
+ <index id="api-index-1-30" role="1.30">
+ <title>Index of new symbols in 1.30</title>
+ <xi:include href="xml/api-index-1.30.xml"><xi:fallback /></xi:include>
</index>
- <index id="api-index-1-29-17" role="1.29.17">
- <title>Index of new symbols in 1.29.17</title>
- <xi:include href="xml/api-index-1.29.17.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-30-1" role="1.30.1">
- <title>Index of new symbols in 1.30.1</title>
- <xi:include href="xml/api-index-1.30.1.xml"><xi:fallback /></xi:include>
+ <index id="api-index-1-32" role="1.32">
+ <title>Index of new symbols in 1.32</title>
+ <xi:include href="xml/api-index-1.32.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-1-34" role="1.34">
<title>Index of new symbols in 1.34</title>
<xi:include href="xml/api-index-1.34.xml"><xi:fallback /></xi:include>
</index>
- <index id="api-index-1-35-8" role="1.35.8">
- <title>Index of new symbols in 1.35.8</title>
- <xi:include href="xml/api-index-1.35.8.xml"><xi:fallback /></xi:include>
+ <index id="api-index-1-36" role="1.36">
+ <title>Index of new symbols in 1.36</title>
+ <xi:include href="xml/api-index-1.36.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-1-42" role="1.42">
+ <title>Index of new symbols in 1.42</title>
+ <xi:include href="xml/api-index-1.42.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-1-44" role="1.44">
+ <title>Index of new symbols in 1.44</title>
+ <xi:include href="xml/api-index-1.44.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-1-46" role="1.46">
+ <title>Index of new symbols in 1.46</title>
+ <xi:include href="xml/api-index-1.46.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-1-60" role="1.60">
+ <title>Index of new symbols in 1.60</title>
+ <xi:include href="xml/api-index-1.60.xml"><xi:fallback /></xi:include>
</index>
-
<xi:include href="xml/annotation-glossary.xml" />
</book>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
-<!ENTITY version SYSTEM "version.xml">
-]>
-<refentry id="gi-gir-reference">
- <refmeta>
- <refentrytitle role="top_of_page" id="gi-gir-reference.top_of_page">The GIR XML format</refentrytitle>
- <manvolnum>3</manvolnum>
- <refmiscinfo>The GIR XML format</refmiscinfo>
- </refmeta>
- <refnamediv>
- <refname>The GIR XML format</refname>
- <refpurpose>The GIR XML format</refpurpose>
- </refnamediv>
-
- <para>
- This chapter describes the GIR XML markup format. This describes exported C
- API, including documentation. It may contain installation-specific data,
- such as library filenames which may differ between platforms.
- </para>
-
- <refsect2 id="gi-gir-api-node">
- <title><emphasis>api</emphasis> node</title>
-
- The root node of all GIR documents is the api node.
-
- Possible children: <link linkend="gi-gir-namespace">namespace</link>.
-
- <example>
- <title>A GIR fragment showing an api node</title>
- <programlisting><![CDATA[
- <api version="1.0">
- <namespace/>
- </api>]]></programlisting>
- </example>
- </refsect2>
-
- <refsect2 id="gi-gir-namespace">
- <title><emphasis>namespace</emphasis> node</title>
-
- Parent node: <link linkend="gi-gir-api">api</link>.
- Possible children: <link linkend="gi-gir-callback">callback</link>,
- <link linkend="gi-gir-class">class</link>,
- <link linkend="gi-gir-function">function</link>.
- <link linkend="gi-gir-interface">interface</link>.
-
- <example>
- <title>A GIR fragment showing an namespace node</title>
- <programlisting><![CDATA[
- <api version="1.0">
- <namespace="Gtk">
- <class/>
- <function/>
- </namespace>
- </api>]]></programlisting>
- </example>
- </refsect2>
-
- <refsect2 id="gi-gir-class">
- <title><emphasis>class</emphasis> node</title>
-
- Parent node: <link linkend="gi-gir-namespace">namespace</link>.
- Possible children: <link linkend="gi-gir-class">constructor</link>,
- <link linkend="gi-gir-field">field</link>,
- <link linkend="gi-gir-method">method</link>,
- <link linkend="gi-gir-property">property</link>.
- <example>
- <title>A GIR fragment showing an class node</title>
- <programlisting><![CDATA[
- <api version="1.0">
- <namespace="Gtk">
- <class name="Widget">
- <constructor/>
- <field/>
- <method/>
- <property/>
- <class>
- </namespace>
- </api>]]></programlisting>
- </example>
- </refsect2>
-
- <refsect2 id="gi-gir-interface">
- <title><emphasis>interface</emphasis> node</title>
-
- Parent node: <link linkend="gi-gir-namespace">namespace</link>.
- Possible children: <link linkend="gi-gir-field">field</link>,
- <link linkend="gi-gir-method">method</link>,
- <link linkend="gi-gir-property">property</link>.
- <example>
- <title>A GIR fragment showing an interface node</title>
- <programlisting><![CDATA[
- <api version="1.0">
- <namespace="Gtk">
- <interface name="Buildable">
- <field/>
- <method/>
- <property/>
- <interface>
- </namespace>
- </api>]]></programlisting>
- </example>
- </refsect2>
-
- <refsect2 id="gi-gir-function">
- <title><emphasis>function</emphasis> node</title>
-
- Parent node: <link linkend="gi-gir-namespace">namespace</link>.
- <example>
- <title>A GIR fragment showing an function node</title>
- <programlisting><![CDATA[
- <api version="1.0">
- <namespace="Gtk">
- <function name="init">
- </function>
- </namespace>
- </api>]]></programlisting>
- </example>
- </refsect2>
-
-</refentry>
GIRepositoryPrivate
g_irepository_get_type
g_irepository_error_quark
+GI_AVAILABLE_IN_1_32
+GI_AVAILABLE_IN_1_34
+GI_AVAILABLE_IN_1_36
+GI_AVAILABLE_IN_1_38
+GI_AVAILABLE_IN_1_40
+GI_AVAILABLE_IN_1_42
+GI_AVAILABLE_IN_1_44
+GI_AVAILABLE_IN_1_46
+GI_AVAILABLE_IN_1_60
+GI_AVAILABLE_IN_ALL
+GI_DEPRECATED_IN_1_32
+GI_DEPRECATED_IN_1_32_FOR
+GI_DEPRECATED_IN_1_34
+GI_DEPRECATED_IN_1_34_FOR
+GI_DEPRECATED_IN_1_36
+GI_DEPRECATED_IN_1_36_FOR
+GI_DEPRECATED_IN_1_38
+GI_DEPRECATED_IN_1_38_FOR
+GI_DEPRECATED_IN_1_40
+GI_DEPRECATED_IN_1_40_FOR
+GI_DEPRECATED_IN_1_42
+GI_DEPRECATED_IN_1_42_FOR
+GI_DEPRECATED_IN_1_44
+GI_DEPRECATED_IN_1_44_FOR
+GI_DEPRECATED_IN_1_46
+GI_DEPRECATED_IN_1_46_FOR
+</SECTION>
+
+<SECTION>
+<FILE>giversion</FILE>
+GI_MAJOR_VERSION
+GI_MINOR_VERSION
+GI_MICRO_VERSION
+GI_CHECK_VERSION
+gi_get_major_version
+gi_get_minor_version
+gi_get_micro_version
</SECTION>
<SECTION>
<FILE>gibaseinfo</FILE>
+GIBaseInfo
GIInfoType
GIAttributeIter
g_info_new
g_base_info_iterate_attributes
g_base_info_get_container
g_base_info_is_deprecated
+g_info_type_to_string
<SUBSECTION Standard>
GI_TYPE_BASE_INFO
g_base_info_gtype_get_type
<SUBSECTION Private>
-GIBaseInfoStub
+GIUnresolvedInfo
</SECTION>
<SECTION>
g_callable_info_get_n_args
g_callable_info_get_arg
g_callable_info_get_caller_owns
+g_callable_info_get_instance_ownership_transfer
g_callable_info_get_return_attribute
g_callable_info_get_return_type
g_callable_info_invoke
<SECTION>
<FILE>gicommontypes</FILE>
GIArgument
-GIUnresolvedInfo
GITypeTag
GIArrayType
GI_TYPE_TAG_N_TYPES
G_TYPE_TAG_IS_BASIC
+g_type_tag_to_string
</SECTION>
<SECTION>
<FILE>gistructinfo</FILE>
GI_IS_STRUCT_INFO
GIStructInfo
+g_struct_info_find_field
g_struct_info_get_alignment
g_struct_info_get_size
g_struct_info_is_gtype_struct
<FILE>gitypeinfo</FILE>
GI_IS_TYPE_INFO
GITypeInfo
-g_type_tag_to_string
-g_info_type_to_string
g_type_info_is_pointer
g_type_info_get_tag
g_type_info_get_param_type
<title role="synopsis.title">Synopsis</title>
<synopsis>
-* <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+* <link linkend="GIBaseInfo">GIBaseInfo</link>
* <link linkend="gi-GICallableInfo">GICallableInfo</link>
* <link linkend="gi-GIFunctionInfo">GIFunctionInfo</link>
+ * <link linkend="gi-GICallbackInfo">GICallbackInfo</link>
* <link linkend="gi-GISignalInfo">GISignalInfo</link>
* <link linkend="gi-GIVFuncInfo">GIVFuncInfo</link>
* <link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
* <link linkend="gi-GIEnumInfo">GIEnumInfo</link>
- * <link linkend="gi-GIInterfaceInfo">GIInterfaceInfo</link>
- * <link linkend="gi-GIObjectInfo">GIObjectInfo</link>
* <link linkend="gi-GIStructInfo">GIStructInfo</link>
* <link linkend="gi-GIUnionInfo">GIUnionInfo</link>
+ * <link linkend="gi-GIObjectInfo">GIObjectInfo</link>
+ * <link linkend="gi-GIInterfaceInfo">GIInterfaceInfo</link>
* <link linkend="gi-GIArgInfo">GIArgInfo</link>
* <link linkend="gi-GIConstantInfo">GIConstantInfo</link>
* <link linkend="gi-GIFieldInfo">GIFieldInfo</link>
* <link linkend="gi-GIPropertyInfo">GIPropertyInfo</link>
* <link linkend="gi-GITypeInfo">GITypeInfo</link>
+ * <link linkend="gi-GIValueInfo">GIValueInfo</link>
</synopsis>
</refsynopsisdiv>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIBaseInfo: GObject Introspection Reference Manual</title>
+<title>GIBaseInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
-<link rel="prev" href="gi-common-types.html" title="common types">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
+<link rel="prev" href="gi-struct-hierarchy.html" title="Struct hierarchy">
<link rel="next" href="gi-GICallableInfo.html" title="GICallableInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
- <a href="#gi-GIBaseInfo.description" class="shortcut">Description</a></span>
+ <a href="#GIBaseInfo.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
+ <a href="#GIBaseInfo.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gi-common-types.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gi-struct-hierarchy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gi-GICallableInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
-<a name="gi-GIBaseInfo"></a><div class="titlepage"></div>
+<a name="GIBaseInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
-<h2><span class="refentrytitle"><a name="gi-GIBaseInfo.top_of_page"></a>GIBaseInfo</span></h2>
+<h2><span class="refentrytitle"><a name="GIBaseInfo.top_of_page"></a>GIBaseInfo</span></h2>
<p>GIBaseInfo — Base struct for all GITypelib structs</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="gi-GIBaseInfo.functions"></a><h2>Functions</h2>
+<a name="GIBaseInfo.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<tbody>
<tr>
<td class="function_type">
-<span class="returnvalue">GIBaseInfo</span> *
+<a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-info-new" title="g_info_new ()">g_info_new</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-info-new" title="g_info_new ()">g_info_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">GIBaseInfo</span> *
+<a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-ref" title="g_base_info_ref ()">g_base_info_ref</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-ref" title="g_base_info_ref ()">g_base_info_ref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()">g_base_info_unref</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()">g_base_info_unref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-equal" title="g_base_info_equal ()">g_base_info_equal</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-equal" title="g_base_info_equal ()">g_base_info_equal</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="returnvalue">GIInfoType</span></a>
+<a class="link" href="GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="returnvalue">GIInfoType</span></a>
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()">g_base_info_get_type</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()">g_base_info_get_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+<a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-typelib" title="g_base_info_get_typelib ()">g_base_info_get_typelib</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-typelib" title="g_base_info_get_typelib ()">g_base_info_get_typelib</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-namespace" title="g_base_info_get_namespace ()">g_base_info_get_namespace</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-namespace" title="g_base_info_get_namespace ()">g_base_info_get_namespace</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-name" title="g_base_info_get_name ()">g_base_info_get_name</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-name" title="g_base_info_get_name ()">g_base_info_get_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-attribute" title="g_base_info_get_attribute ()">g_base_info_get_attribute</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-attribute" title="g_base_info_get_attribute ()">g_base_info_get_attribute</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()">g_base_info_iterate_attributes</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()">g_base_info_iterate_attributes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">GIBaseInfo</span> *
+<a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-container" title="g_base_info_get_container ()">g_base_info_get_container</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-container" title="g_base_info_get_container ()">g_base_info_get_container</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-is-deprecated" title="g_base_info_is_deprecated ()">g_base_info_is_deprecated</a> <span class="c_punctuation">()</span>
+<a class="link" href="GIBaseInfo.html#g-base-info-is-deprecated" title="g_base_info_is_deprecated ()">g_base_info_is_deprecated</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIBaseInfo.html#g-info-type-to-string" title="g_info_type_to_string ()">g_info_type_to_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="gi-GIBaseInfo.other"></a><h2>Types and Values</h2>
+<a name="GIBaseInfo.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
</colgroup>
<tbody>
<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="GIBaseInfo.html#GIBaseInfo-struct" title="GIBaseInfo">GIBaseInfo</a></td>
+</tr>
+<tr>
<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType">GIInfoType</a></td>
+<td class="function_name"><a class="link" href="GIBaseInfo.html#GIInfoType" title="enum GIInfoType">GIInfoType</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter">GIAttributeIter</a></td>
+<td class="function_name"><a class="link" href="GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter">GIAttributeIter</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="gi-GIBaseInfo.description"></a><h2>Description</h2>
+<a name="GIBaseInfo.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
+ <span class="lineart">╰──</span> GIBaseInfo
+</pre>
+</div>
+<div class="refsect1">
+<a name="GIBaseInfo.description"></a><h2>Description</h2>
<p>GIBaseInfo is the common base struct of all other *Info structs
accessible through the <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> API.
-All other structs can be casted to a <span class="type">GIBaseInfo</span>, for instance:</p>
+All other structs can be casted to a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>, for instance:</p>
<div class="example">
-<a name="id-1.4.2.5.5.3"></a><p class="title"><b>Example 1. Casting a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> to <span class="type">GIBaseInfo</span></b></p>
+<a name="id-1.7.3.6.3"></a><p class="title"><b>Example 1. Casting a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> to <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
</div>
</div>
-<br class="example-break"><p>Most <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> APIs returning a <span class="type">GIBaseInfo</span> is actually creating a new struct, in other
-words, <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> has to be called when done accessing the data.
+<br class="example-break"><p>Most <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> APIs returning a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> is actually creating a new struct, in other
+words, <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> has to be called when done accessing the data.
GIBaseInfos are normally accessed by calling either
<a class="link" href="GIRepository.html#g-irepository-find-by-name" title="g_irepository_find_by_name ()"><code class="function">g_irepository_find_by_name()</code></a>, <a class="link" href="GIRepository.html#g-irepository-find-by-gtype" title="g_irepository_find_by_gtype ()"><code class="function">g_irepository_find_by_gtype()</code></a> or <a class="link" href="GIRepository.html#g-irepository-get-info" title="g_irepository_get_info ()"><code class="function">g_irepository_get_info()</code></a>.</p>
<div class="example">
-<a name="id-1.4.2.5.5.5"></a><p class="title"><b>Example 2. Getting the Button of the Gtk typelib</b></p>
+<a name="id-1.7.3.6.5"></a><p class="title"><b>Example 2. Getting the Button of the Gtk typelib</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
3</pre></td>
<td class="listing_code"><pre class="programlisting">GIBaseInfo <span class="gtkdoc opt">*</span>button_info <span class="gtkdoc opt">=</span> <span class="function"><a href="GIRepository.html#g-irepository-find-by-name">g_irepository_find_by_name</a></span><span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">,</span> <span class="string">"Gtk"</span><span class="gtkdoc opt">,</span> <span class="string">"Button"</span><span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">...</span> use button_info <span class="gtkdoc opt">...</span>
-<span class="function"><a href="gi-GIBaseInfo.html#g-base-info-unref">g_base_info_unref</a></span><span class="gtkdoc opt">(</span>button_info<span class="gtkdoc opt">);</span></pre></td>
+<span class="function"><a href="GIBaseInfo.html#g-base-info-unref">g_base_info_unref</a></span><span class="gtkdoc opt">(</span>button_info<span class="gtkdoc opt">);</span></pre></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="refsect1">
-<a name="gi-GIBaseInfo.functions_details"></a><h2>Functions</h2>
+<a name="GIBaseInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="g-info-new"></a><h3>g_info_new ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
-g_info_new (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>,
- <em class="parameter"><code><span class="type">GIBaseInfo</span> *container</code></em>,
- <em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+<pre class="programlisting"><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
+g_info_new (<em class="parameter"><code><a class="link" href="GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>,
+ <em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *container</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> offset</code></em>);</pre>
<p>TODO</p>
<div class="refsect3">
<hr>
<div class="refsect2">
<a name="g-base-info-ref"></a><h3>g_base_info_ref ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
-g_base_info_ref (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
+g_base_info_ref (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
<p>Increases the reference count of <em class="parameter"><code>info</code></em>
.</p>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
<div class="refsect2">
<a name="g-base-info-unref"></a><h3>g_base_info_unref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-g_base_info_unref (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+g_base_info_unref (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
<p>Decreases the reference count of <em class="parameter"><code>info</code></em>
. When its reference count
drops to 0, the info is freed.</p>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
<div class="refsect2">
<a name="g-base-info-equal"></a><h3>g_base_info_equal ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-g_base_info_equal (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info1</code></em>,
- <em class="parameter"><code><span class="type">GIBaseInfo</span> *info2</code></em>);</pre>
-<p>Compare two <span class="type">GIBaseInfo</span>.</p>
+g_base_info_equal (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info1</code></em>,
+ <em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info2</code></em>);</pre>
+<p>Compare two <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>.</p>
<p>Using pointer comparison is not practical since many functions return
-different instances of <span class="type">GIBaseInfo</span> that refers to the same part of the
-TypeLib; use this function instead to do <span class="type">GIBaseInfo</span> comparisons.</p>
+different instances of <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> that refers to the same part of the
+TypeLib; use this function instead to do <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> comparisons.</p>
<div class="refsect3">
<a name="g-base-info-equal.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<tbody>
<tr>
<td class="parameter_name"><p>info1</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>info2</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
<hr>
<div class="refsect2">
<a name="g-base-info-get-type"></a><h3>g_base_info_get_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="returnvalue">GIInfoType</span></a>
-g_base_info_get_type (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="returnvalue">GIInfoType</span></a>
+g_base_info_get_type (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
<p>Obtain the info type of the GIBaseInfo.</p>
<div class="refsect3">
<a name="g-base-info-get-type.parameters"></a><h4>Parameters</h4>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="g-base-info-get-typelib"></a><h3>g_base_info_get_typelib ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
-g_base_info_get_typelib (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+g_base_info_get_typelib (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
<p>Obtain the typelib this <em class="parameter"><code>info</code></em>
belongs to</p>
<div class="refsect3">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
<div class="refsect2">
<a name="g-base-info-get-namespace"></a><h3>g_base_info_get_namespace ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-g_base_info_get_namespace (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+g_base_info_get_namespace (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
<p>Obtain the namespace of <em class="parameter"><code>info</code></em>
.</p>
<div class="refsect3">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
<div class="refsect2">
<a name="g-base-info-get-name"></a><h3>g_base_info_get_name ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-g_base_info_get_name (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+g_base_info_get_name (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
<p>Obtain the name of the <em class="parameter"><code>info</code></em>
. What the name represents depends on
-the <a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> of the <em class="parameter"><code>info</code></em>
+the <a class="link" href="GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> of the <em class="parameter"><code>info</code></em>
. For instance for <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> it is
the name of the function.</p>
<div class="refsect3">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
<div class="refsect2">
<a name="g-base-info-get-attribute"></a><h3>g_base_info_get_attribute ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-g_base_info_get_attribute (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>,
+g_base_info_get_attribute (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
<p>Retrieve an arbitrary attribute associated with this node.</p>
<div class="refsect3">
<tbody>
<tr>
<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<div class="refsect2">
<a name="g-base-info-iterate-attributes"></a><h3>g_base_info_iterate_attributes ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-g_base_info_iterate_attributes (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
+g_base_info_iterate_attributes (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a class="link" href="GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
<em class="parameter"><code><span class="type">char</span> **name</code></em>,
<em class="parameter"><code><span class="type">char</span> **value</code></em>);</pre>
<p>Iterate over all attributes associated with this node. The iterator
should be treated as constants
and must not be freed.</p>
<div class="example">
-<a name="id-1.4.2.5.6.11.6"></a><p class="title"><b>Example 3. Iterating over attributes</b></p>
+<a name="id-1.7.3.7.11.6"></a><p class="title"><b>Example 3. Iterating over attributes</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
GIAttributeIter iter <span class="gtkdoc opt">= {</span> <span class="number">0</span><span class="gtkdoc opt">, };</span>
<span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">*</span>name<span class="gtkdoc opt">;</span>
<span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">*</span>value<span class="gtkdoc opt">;</span>
- <span class="keyword">while</span> <span class="gtkdoc opt">(</span><span class="function"><a href="gi-GIBaseInfo.html#g-base-info-iterate-attributes">g_base_info_iterate_attributes</a></span> <span class="gtkdoc opt">(</span>info<span class="gtkdoc opt">, &</span>iter<span class="gtkdoc opt">, &</span>name<span class="gtkdoc opt">, &</span>value<span class="gtkdoc opt">))</span>
+ <span class="keyword">while</span> <span class="gtkdoc opt">(</span><span class="function"><a href="GIBaseInfo.html#g-base-info-iterate-attributes">g_base_info_iterate_attributes</a></span> <span class="gtkdoc opt">(</span>info<span class="gtkdoc opt">, &</span>iter<span class="gtkdoc opt">, &</span>name<span class="gtkdoc opt">, &</span>value<span class="gtkdoc opt">))</span>
<span class="gtkdoc opt">{</span>
<span class="function"><a href="/usr/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">"attribute name: %s value: %s"</span><span class="gtkdoc opt">,</span> name<span class="gtkdoc opt">,</span> value<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>
<tbody>
<tr>
<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>iterator</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> structure, must be initialized; see below. </p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> structure, must be initialized; see below. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span></td>
</tr>
<tr>
<hr>
<div class="refsect2">
<a name="g-base-info-get-container"></a><h3>g_base_info_get_container ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
-g_base_info_get_container (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
+g_base_info_get_container (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
<p>Obtain the container of the <em class="parameter"><code>info</code></em>
. The container is the parent
GIBaseInfo. For instance, the parent of a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> is an
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
<div class="refsect2">
<a name="g-base-info-is-deprecated"></a><h3>g_base_info_is_deprecated ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-g_base_info_is_deprecated (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+g_base_info_is_deprecated (<em class="parameter"><code><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> *info</code></em>);</pre>
<p>Obtain whether the <em class="parameter"><code>info</code></em>
is represents a metadata which is
deprecated or not.</p>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if deprecated</p>
</div>
</div>
+<hr>
+<div class="refsect2">
+<a name="g-info-type-to-string"></a><h3>g_info_type_to_string ()</h3>
+<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_info_type_to_string (<em class="parameter"><code><a class="link" href="GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>);</pre>
+<p>Obtain a string representation of <em class="parameter"><code>type</code></em>
+</p>
+<div class="refsect3">
+<a name="g-info-type-to-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the info type</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-info-type-to-string.returns"></a><h4>Returns</h4>
+<p> the string</p>
+</div>
+</div>
</div>
<div class="refsect1">
-<a name="gi-GIBaseInfo.other_details"></a><h2>Types and Values</h2>
+<a name="GIBaseInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIBaseInfo-struct"></a><h3>GIBaseInfo</h3>
+<pre class="programlisting">typedef struct {
+} GIBaseInfo;
+</pre>
+</div>
+<hr>
<div class="refsect2">
<a name="GIInfoType"></a><h3>enum GIInfoType</h3>
<p>The type of a GIBaseInfo struct.</p>
} GIAttributeIter;
</pre>
<p>An opaque structure used to iterate over attributes
-in a <span class="type">GIBaseInfo</span> struct.</p>
+in a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> struct.</p>
</div>
</div>
</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIRepository: GObject Introspection Reference Manual</title>
+<title>GIRepository: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
-<link rel="prev" href="ch01.html" title="GIRepository">
-<link rel="next" href="gi-struct-hierarchy.html" title="Struct hierarchy">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="index.html" title="libgirepository API Reference">
+<link rel="next" href="gi-GITypelib.html" title="GITypelib">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<a href="#GIRepository.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi-struct-hierarchy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GITypelib.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GIRepository"></a><div class="titlepage"></div>
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">GIBaseInfo</span> *
+<a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
</td>
<td class="function_name">
<a class="link" href="GIRepository.html#g-irepository-get-info" title="g_irepository_get_info ()">g_irepository_get_info</a> <span class="c_punctuation">()</span>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+<a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
</td>
<td class="function_name">
<a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()">g_irepository_require</a> <span class="c_punctuation">()</span>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+<a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
</td>
<td class="function_name">
<a class="link" href="GIRepository.html#g-irepository-require-private" title="g_irepository_require_private ()">g_irepository_require_private</a> <span class="c_punctuation">()</span>
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">GIBaseInfo</span> *
+<a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
</td>
<td class="function_name">
<a class="link" href="GIRepository.html#g-irepository-find-by-gtype" title="g_irepository_find_by_gtype ()">g_irepository_find_by_gtype</a> <span class="c_punctuation">()</span>
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">GIBaseInfo</span> *
+<a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
</td>
<td class="function_name">
<a class="link" href="GIRepository.html#g-irepository-find-by-name" title="g_irepository_find_by_name ()">g_irepository_find_by_name</a> <span class="c_punctuation">()</span>
dependencies. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
-<p class="since">Since: 1.44</p>
+<p class="since">Since: <a class="link" href="api-index-1-44.html#api-index-1.44">1.44</a></p>
</div>
<hr>
<div class="refsect2">
<hr>
<div class="refsect2">
<a name="g-irepository-get-info"></a><h3>g_irepository_get_info ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+<pre class="programlisting"><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
g_irepository_get_info (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
</div>
<div class="refsect3">
<a name="g-irepository-get-info.returns"></a><h4>Returns</h4>
-<p><span class="type">GIBaseInfo</span> containing metadata. </p>
+<p><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> containing metadata. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
</tr></tbody>
</table></div>
</div>
-<p class="since">Since: <a class="link" href="api-index-1-35-8.html#api-index-1.35.8">1.35.8</a></p>
+<p class="since">Since: <a class="link" href="api-index-1-36.html#api-index-1.36">1.36</a></p>
</div>
<hr>
<div class="refsect2">
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
g_irepository_get_search_path (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Returns the current search path <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> will use when loading
-typelib files. The list is internal to <span class="type">GIRespository</span> and should not
+typelib files. The list is internal to <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> and should not
be freed, nor should its string elements.</p>
<div class="refsect3">
<a name="g-irepository-get-search-path.returns"></a><h4>Returns</h4>
<a name="g-irepository-load-typelib"></a><h3>g_irepository_load_typelib ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
g_irepository_load_typelib (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
<em class="parameter"><code><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>TODO</p>
<hr>
<div class="refsect2">
<a name="g-irepository-require"></a><h3>g_irepository_require ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+<pre class="programlisting"><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
g_irepository_require (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</code></em>,
</div>
<div class="refsect3">
<a name="g-irepository-require.returns"></a><h4>Returns</h4>
-<p>a pointer to the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. </p>
+<p>a pointer to the <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-irepository-require-private"></a><h3>g_irepository_require_private ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+<pre class="programlisting"><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
g_irepository_require_private (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *typelib_dir</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
</div>
<div class="refsect3">
<a name="g-irepository-require-private.returns"></a><h4>Returns</h4>
-<p>a pointer to the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. </p>
+<p>a pointer to the <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-irepository-find-by-gtype"></a><h3>g_irepository_find_by_gtype ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+<pre class="programlisting"><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
g_irepository_find_by_gtype (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
<p>Searches all loaded namespaces for a particular <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a>. Note that
</div>
<div class="refsect3">
<a name="g-irepository-find-by-gtype.returns"></a><h4>Returns</h4>
-<p><span class="type">GIBaseInfo</span> representing metadata about <em class="parameter"><code>type</code></em>
+<p><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> representing metadata about <em class="parameter"><code>type</code></em>
, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
enum type, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
-<p class="since">Since: <a class="link" href="api-index-1-29-17.html#api-index-1.29.17">1.29.17</a></p>
+<p class="since">Since: <a class="link" href="api-index-1-30.html#api-index-1.30">1.30</a></p>
</div>
<hr>
<div class="refsect2">
<a name="g-irepository-find-by-name"></a><h3>g_irepository_find_by_name ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+<pre class="programlisting"><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
g_irepository_find_by_name (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
</div>
<div class="refsect3">
<a name="g-irepository-find-by-name.returns"></a><h4>Returns</h4>
-<p><span class="type">GIBaseInfo</span> representing metadata about <em class="parameter"><code>name</code></em>
+<p><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> representing metadata about <em class="parameter"><code>name</code></em>
, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Annotation Glossary: GObject Introspection Reference Manual</title>
+<title>Annotation Glossary: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="prev" href="api-index-1-35-8.html" title="Index of new symbols in 1.35.8">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="api-index-1-60.html" title="Index of new symbols in 1.60">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<a class="shortcut" href="#glsT">T</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="api-index-1-35-8.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="api-index-1-60.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
</tr></table>
<div class="glossary">
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.29.0: GObject Introspection Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="prev" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<link rel="next" href="api-index-1-29-17.html" title="Index of new symbols in 1.29.17">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="api-index-deprecated.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-29-17.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h1 class="title">
-<a name="api-index-1-29-0"></a>Index of new symbols in 1.29.0</h1></div></div></div>
-<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
-<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-skip" title="g_arg_info_is_skip ()">g_arg_info_is_skip</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
-</body>
-</html>
\ No newline at end of file
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.29.17: GObject Introspection Reference Manual</title>
+<title>Index of new symbols in 1.30: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="prev" href="api-index-1-29-0.html" title="Index of new symbols in 1.29.0">
-<link rel="next" href="api-index-1-30-1.html" title="Index of new symbols in 1.30.1">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="api-index-deprecated.html" title="Index of deprecated symbols">
+<link rel="next" href="api-index-1-32.html" title="Index of new symbols in 1.32">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxE">E</a>
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a>
+ <span class="dim">|</span>
+ <a class="shortcut" href="#idxE">E</a>
<span class="dim">|</span>
<a class="shortcut" href="#idxI">I</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="api-index-1-29-0.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-30-1.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="api-index-deprecated.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-1-32.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
-<a name="api-index-1-29-17"></a>Index of new symbols in 1.29.17</h1></div></div></div>
-<a name="idx"></a><a name="idxE"></a><h3 class="title">E</h3>
+<a name="api-index-1-30"></a>Index of new symbols in 1.30</h1></div></div></div>
+<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
+<dt>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-skip" title="g_arg_info_is_skip ()">g_arg_info_is_skip</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+</dt>
+<dd></dd>
+<a name="idxE"></a><h3 class="title">E</h3>
<dt>
<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-error-domain" title="g_enum_info_get_error_domain ()">g_enum_info_get_error_domain</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.30.1: GObject Introspection Reference Manual</title>
+<title>Index of new symbols in 1.32: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="prev" href="api-index-1-29-17.html" title="Index of new symbols in 1.29.17">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="api-index-1-30.html" title="Index of new symbols in 1.30">
<link rel="next" href="api-index-1-34.html" title="Index of new symbols in 1.34">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxC">C</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="api-index-1-29-17.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="api-index-1-30.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="api-index-1-34.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
-<a name="api-index-1-30-1"></a>Index of new symbols in 1.30.1</h1></div></div></div>
+<a name="api-index-1-32"></a>Index of new symbols in 1.32</h1></div></div></div>
<a name="idx"></a><a name="idxC"></a><h3 class="title">C</h3>
<dt>
<a class="link" href="gi-GIConstantInfo.html#g-constant-info-free-value" title="g_constant_info_free_value ()">g_constant_info_free_value</a>, function in <a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.34: GObject Introspection Reference Manual</title>
+<title>Index of new symbols in 1.34: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="prev" href="api-index-1-30-1.html" title="Index of new symbols in 1.30.1">
-<link rel="next" href="api-index-1-35-8.html" title="Index of new symbols in 1.35.8">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="api-index-1-32.html" title="Index of new symbols in 1.32">
+<link rel="next" href="api-index-1-36.html" title="Index of new symbols in 1.36">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<a class="shortcut" href="#idxI">I</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="api-index-1-30-1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-35-8.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="api-index-1-32.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-1-36.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.35.8: GObject Introspection Reference Manual</title>
+<title>Index of new symbols in 1.36: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
<link rel="prev" href="api-index-1-34.html" title="Index of new symbols in 1.34">
-<link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
+<link rel="next" href="api-index-1-42.html" title="Index of new symbols in 1.42">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="api-index-1-34.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="api-index-1-42.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
-<a name="api-index-1-35-8"></a>Index of new symbols in 1.35.8</h1></div></div></div>
+<a name="api-index-1-36"></a>Index of new symbols in 1.36</h1></div></div></div>
<a name="idx"></a><a name="idxI"></a><h3 class="title">I</h3>
<dt>
<a class="link" href="GIRepository.html#g-irepository-prepend-library-path" title="g_irepository_prepend_library_path ()">g_irepository_prepend_library_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index of new symbols in 1.42: libgirepository API Reference</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="api-index-1-36.html" title="Index of new symbols in 1.36">
+<link rel="next" href="api-index-1-44.html" title="Index of new symbols in 1.44">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxC">C</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-1-36.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-1-44.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-1-42"></a>Index of new symbols in 1.42</h1></div></div></div>
+<a name="idx"></a><a name="idxC"></a><h3 class="title">C</h3>
+<dt>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-instance-ownership-transfer" title="g_callable_info_get_instance_ownership_transfer ()">g_callable_info_get_instance_ownership_transfer</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+</dt>
+<dd></dd>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.28</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index of new symbols in 1.44: libgirepository API Reference</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="api-index-1-42.html" title="Index of new symbols in 1.42">
+<link rel="next" href="api-index-1-46.html" title="Index of new symbols in 1.46">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxI">I</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-1-42.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-1-46.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-1-44"></a>Index of new symbols in 1.44</h1></div></div></div>
+<a name="idx"></a><a name="idxI"></a><h3 class="title">I</h3>
+<dt>
+<a class="link" href="GIRepository.html#g-irepository-get-immediate-dependencies" title="g_irepository_get_immediate_dependencies ()">g_irepository_get_immediate_dependencies</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+</dt>
+<dd></dd>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.28</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index of new symbols in 1.46: libgirepository API Reference</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="api-index-1-44.html" title="Index of new symbols in 1.44">
+<link rel="next" href="api-index-1-60.html" title="Index of new symbols in 1.60">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxS">S</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-1-44.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-1-60.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-1-46"></a>Index of new symbols in 1.46</h1></div></div></div>
+<a name="idx"></a><a name="idxS"></a><h3 class="title">S</h3>
+<dt>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-find-field" title="g_struct_info_find_field ()">g_struct_info_find_field</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
+</dt>
+<dd></dd>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.28</div>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index of new symbols in 1.60: libgirepository API Reference</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="api-index-1-46.html" title="Index of new symbols in 1.46">
+<link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxI">I</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-1-46.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-1-60"></a>Index of new symbols in 1.60</h1></div></div></div>
+<a name="idx"></a><a name="idxI"></a><h3 class="title">I</h3>
+<dt>
+<a class="link" href="gi-Version-Information.html#GI-CHECK-VERSION:CAPS" title="GI_CHECK_VERSION()">GI_CHECK_VERSION</a>, macro in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#gi-get-major-version" title="gi_get_major_version ()">gi_get_major_version</a>, function in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#gi-get-micro-version" title="gi_get_micro_version ()">gi_get_micro_version</a>, function in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#gi-get-minor-version" title="gi_get_minor_version ()">gi_get_minor_version</a>, function in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#GI-MAJOR-VERSION:CAPS" title="GI_MAJOR_VERSION">GI_MAJOR_VERSION</a>, macro in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#GI-MICRO-VERSION:CAPS" title="GI_MICRO_VERSION">GI_MICRO_VERSION</a>, macro in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#GI-MINOR-VERSION:CAPS" title="GI_MINOR_VERSION">GI_MINOR_VERSION</a>, macro in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.28</div>
+</body>
+</html>
\ No newline at end of file
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of deprecated symbols: GObject Introspection Reference Manual</title>
+<title>Index of deprecated symbols: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
<link rel="prev" href="api-index-full.html" title="Index">
-<link rel="next" href="api-index-1-29-0.html" title="Index of new symbols in 1.29.0">
+<link rel="next" href="api-index-1-30.html" title="Index of new symbols in 1.30">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-29-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="api-index-1-30.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index: GObject Introspection Reference Manual</title>
+<title>Index: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="prev" href="gi-gir-reference.html" title="The GIR XML format">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="gi-GITypelib-Internals.html" title="GITypelib Internals">
<link rel="next" href="api-index-deprecated.html" title="Index of deprecated symbols">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<a class="shortcut" href="#idxV">V</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="gi-gir-reference.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gi-GITypelib-Internals.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="api-index-deprecated.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<a name="api-index-full"></a>Index</h1></div></div></div>
<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#ArgBlob" title="ArgBlob">ArgBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#ArgBlob" title="ArgBlob">ArgBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#ArrayTypeBlob" title="ArrayTypeBlob">ArrayTypeBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#ArrayTypeBlob" title="ArrayTypeBlob">ArrayTypeBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#ArrayTypeDimension" title="ArrayTypeDimension">ArrayTypeDimension</a>, union in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#ArrayTypeDimension" title="ArrayTypeDimension">ArrayTypeDimension</a>, union in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#AttributeBlob" title="AttributeBlob">AttributeBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#AttributeBlob" title="AttributeBlob">AttributeBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<a name="idxB"></a><h3 class="title">B</h3>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-equal" title="g_base_info_equal ()">g_base_info_equal</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-equal" title="g_base_info_equal ()">g_base_info_equal</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-attribute" title="g_base_info_get_attribute ()">g_base_info_get_attribute</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-attribute" title="g_base_info_get_attribute ()">g_base_info_get_attribute</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-container" title="g_base_info_get_container ()">g_base_info_get_container</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-container" title="g_base_info_get_container ()">g_base_info_get_container</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-name" title="g_base_info_get_name ()">g_base_info_get_name</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-name" title="g_base_info_get_name ()">g_base_info_get_name</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-namespace" title="g_base_info_get_namespace ()">g_base_info_get_namespace</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-namespace" title="g_base_info_get_namespace ()">g_base_info_get_namespace</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()">g_base_info_get_type</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()">g_base_info_get_type</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-typelib" title="g_base_info_get_typelib ()">g_base_info_get_typelib</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-get-typelib" title="g_base_info_get_typelib ()">g_base_info_get_typelib</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-is-deprecated" title="g_base_info_is_deprecated ()">g_base_info_is_deprecated</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-is-deprecated" title="g_base_info_is_deprecated ()">g_base_info_is_deprecated</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()">g_base_info_iterate_attributes</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()">g_base_info_iterate_attributes</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-ref" title="g_base_info_ref ()">g_base_info_ref</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-ref" title="g_base_info_ref ()">g_base_info_ref</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()">g_base_info_unref</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()">g_base_info_unref</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<a name="idxC"></a><h3 class="title">C</h3>
</dt>
<dd></dd>
<dt>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-instance-ownership-transfer" title="g_callable_info_get_instance_ownership_transfer ()">g_callable_info_get_instance_ownership_transfer</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-n-args" title="g_callable_info_get_n_args ()">g_callable_info_get_n_args</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#CallbackBlob" title="CallbackBlob">CallbackBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#CallbackBlob" title="CallbackBlob">CallbackBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#CommonBlob" title="CommonBlob">CommonBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#CommonBlob" title="CommonBlob">CommonBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#ConstantBlob" title="ConstantBlob">ConstantBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#ConstantBlob" title="ConstantBlob">ConstantBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
<dd></dd>
<a name="idxD"></a><h3 class="title">D</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry">DirEntry</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#DirEntry" title="DirEntry">DirEntry</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<a name="idxE"></a><h3 class="title">E</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#EnumBlob" title="EnumBlob">EnumBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#EnumBlob" title="EnumBlob">EnumBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#ErrorTypeBlob" title="ErrorTypeBlob">ErrorTypeBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#ErrorTypeBlob" title="ErrorTypeBlob">ErrorTypeBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<a name="idxF"></a><h3 class="title">F</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#FieldBlob" title="FieldBlob">FieldBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#FieldBlob" title="FieldBlob">FieldBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#FunctionBlob" title="FunctionBlob">FunctionBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#FunctionBlob" title="FunctionBlob">FunctionBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
<dd></dd>
<a name="idxH"></a><h3 class="title">H</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#Header" title="Header">Header</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#Header" title="Header">Header</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<a name="idxI"></a><h3 class="title">I</h3>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-common-types.html#GIArgument" title="GIArgument">GIArgument</a>, union in <a class="link" href="gi-common-types.html" title="common types">common types</a>
+<a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument">GIArgument</a>, union in <a class="link" href="gi-Common-Types.html" title="Common Types">Common Types</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType">GIArrayType</a>, enum in <a class="link" href="gi-common-types.html" title="common types">common types</a>
+<a class="link" href="gi-Common-Types.html#GIArrayType" title="enum GIArrayType">GIArrayType</a>, enum in <a class="link" href="gi-Common-Types.html" title="Common Types">Common Types</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter">GIAttributeIter</a>, struct in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter">GIAttributeIter</a>, struct in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GIBaseInfo.html#GIBaseInfo-struct" title="GIBaseInfo">GIBaseInfo</a>, struct in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType">GIInfoType</a>, enum in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#GIInfoType" title="enum GIInfoType">GIInfoType</a>, enum in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-info-new" title="g_info_new ()">g_info_new</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="GIBaseInfo.html#g-info-new" title="g_info_new ()">g_info_new</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-info-type-to-string" title="g_info_type_to_string ()">g_info_type_to_string</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="GIBaseInfo.html#g-info-type-to-string" title="g_info_type_to_string ()">g_info_type_to_string</a>, function in <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#InterfaceBlob" title="InterfaceBlob">InterfaceBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#InterfaceBlob" title="InterfaceBlob">InterfaceBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#InterfaceTypeBlob" title="InterfaceTypeBlob">InterfaceTypeBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#InterfaceTypeBlob" title="InterfaceTypeBlob">InterfaceTypeBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#G-IR-MAGIC:CAPS" title="G_IR_MAGIC">G_IR_MAGIC</a>, macro in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#G-IR-MAGIC:CAPS" title="G_IR_MAGIC">G_IR_MAGIC</a>, macro in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib">GITypelib</a>, struct in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib">GITypelib</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#GITypelibError" title="enum GITypelibError">GITypelibError</a>, enum in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#GITypelibError" title="enum GITypelibError">GITypelibError</a>, enum in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#GITypelibHashBuilder" title="GITypelibHashBuilder">GITypelibHashBuilder</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#GITypelibHashBuilder" title="GITypelibHashBuilder">GITypelibHashBuilder</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag">GITypeTag</a>, enum in <a class="link" href="gi-common-types.html" title="common types">common types</a>
+<a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag">GITypeTag</a>, enum in <a class="link" href="gi-Common-Types.html" title="Common Types">Common Types</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-common-types.html#GIUnresolvedInfo" title="GIUnresolvedInfo">GIUnresolvedInfo</a>, struct in <a class="link" href="gi-common-types.html" title="common types">common types</a>
-</dt>
-<dd></dd>
-<dt>
<a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo">GIValueInfo</a>, typedef in <a class="link" href="gi-GIValueInfo.html" title="GIValueInfo">GIValueInfo</a>
</dt>
<dd></dd>
</dt>
<dd></dd>
<dt>
+<a class="link" href="gi-Version-Information.html#GI-CHECK-VERSION:CAPS" title="GI_CHECK_VERSION()">GI_CHECK_VERSION</a>, macro in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#gi-get-major-version" title="gi_get_major_version ()">gi_get_major_version</a>, function in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#gi-get-micro-version" title="gi_get_micro_version ()">gi_get_micro_version</a>, function in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#gi-get-minor-version" title="gi_get_minor_version ()">gi_get_minor_version</a>, function in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gi-GIArgInfo.html#GI-IS-ARG-INFO:CAPS" title="GI_IS_ARG_INFO()">GI_IS_ARG_INFO</a>, macro in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
</dt>
<dd></dd>
<dt>
+<a class="link" href="gi-Version-Information.html#GI-MAJOR-VERSION:CAPS" title="GI_MAJOR_VERSION">GI_MAJOR_VERSION</a>, macro in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#GI-MICRO-VERSION:CAPS" title="GI_MICRO_VERSION">GI_MICRO_VERSION</a>, macro in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-Version-Information.html#GI-MINOR-VERSION:CAPS" title="GI_MINOR_VERSION">GI_MINOR_VERSION</a>, macro in <a class="link" href="gi-Version-Information.html" title="Version Information">Version Information</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="gi-girffi.html#gi-type-info-extract-ffi-return-value" title="gi_type_info_extract_ffi_return_value ()">gi_type_info_extract_ffi_return_value</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
</dt>
<dd></dd>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-common-types.html#GI-TYPE-TAG-N-TYPES:CAPS" title="GI_TYPE_TAG_N_TYPES">GI_TYPE_TAG_N_TYPES</a>, macro in <a class="link" href="gi-common-types.html" title="common types">common types</a>
+<a class="link" href="gi-Common-Types.html#GI-TYPE-TAG-N-TYPES:CAPS" title="GI_TYPE_TAG_N_TYPES">GI_TYPE_TAG_N_TYPES</a>, macro in <a class="link" href="gi-Common-Types.html" title="Common Types">Common Types</a>
</dt>
<dd></dd>
<a name="idxO"></a><h3 class="title">O</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#ObjectBlob" title="ObjectBlob">ObjectBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#ObjectBlob" title="ObjectBlob">ObjectBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
<dd></dd>
<a name="idxP"></a><h3 class="title">P</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#ParamTypeBlob" title="ParamTypeBlob">ParamTypeBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#ParamTypeBlob" title="ParamTypeBlob">ParamTypeBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#PropertyBlob" title="PropertyBlob">PropertyBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#PropertyBlob" title="PropertyBlob">PropertyBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
<dd></dd>
<a name="idxR"></a><h3 class="title">R</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#RegisteredTypeBlob" title="RegisteredTypeBlob">RegisteredTypeBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#RegisteredTypeBlob" title="RegisteredTypeBlob">RegisteredTypeBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
<dd></dd>
<a name="idxS"></a><h3 class="title">S</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#Section" title="Section">Section</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#Section" title="Section">Section</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#SectionType" title="enum SectionType">SectionType</a>, enum in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#SectionType" title="enum SectionType">SectionType</a>, enum in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#SignalBlob" title="SignalBlob">SignalBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#SignalBlob" title="SignalBlob">SignalBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob">SignatureBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#SignatureBlob" title="SignatureBlob">SignatureBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlob" title="SimpleTypeBlob">SimpleTypeBlob</a>, union in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob">SimpleTypeBlob</a>, union in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags">SimpleTypeBlobFlags</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags">SimpleTypeBlobFlags</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#StructBlob" title="StructBlob">StructBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#StructBlob" title="StructBlob">StructBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-find-field" title="g_struct_info_find_field ()">g_struct_info_find_field</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
</dt>
<dd></dd>
<dt>
<dd></dd>
<a name="idxT"></a><h3 class="title">T</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#GTypelibBlobType" title="enum GTypelibBlobType">GTypelibBlobType</a>, enum in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#GTypelibBlobType" title="enum GTypelibBlobType">GTypelibBlobType</a>, enum in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-check-sanity" title="g_typelib_check_sanity ()">g_typelib_check_sanity</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-check-sanity" title="g_typelib_check_sanity ()">g_typelib_check_sanity</a>, function in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#G-TYPELIB-ERROR:CAPS" title="G_TYPELIB_ERROR">G_TYPELIB_ERROR</a>, macro in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#G-TYPELIB-ERROR:CAPS" title="G_TYPELIB_ERROR">G_TYPELIB_ERROR</a>, macro in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-error-quark" title="g_typelib_error_quark ()">g_typelib_error_quark</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-error-quark" title="g_typelib_error_quark ()">g_typelib_error_quark</a>, function in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-free" title="g_typelib_free ()">g_typelib_free</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-free" title="g_typelib_free ()">g_typelib_free</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry" title="g_typelib_get_dir_entry ()">g_typelib_get_dir_entry</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-get-dir-entry" title="g_typelib_get_dir_entry ()">g_typelib_get_dir_entry</a>, function in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-error-domain" title="g_typelib_get_dir_entry_by_error_domain ()">g_typelib_get_dir_entry_by_error_domain</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-get-dir-entry-by-error-domain" title="g_typelib_get_dir_entry_by_error_domain ()">g_typelib_get_dir_entry_by_error_domain</a>, function in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-gtype-name" title="g_typelib_get_dir_entry_by_gtype_name ()">g_typelib_get_dir_entry_by_gtype_name</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-get-dir-entry-by-gtype-name" title="g_typelib_get_dir_entry_by_gtype_name ()">g_typelib_get_dir_entry_by_gtype_name</a>, function in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-name" title="g_typelib_get_dir_entry_by_name ()">g_typelib_get_dir_entry_by_name</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-get-dir-entry-by-name" title="g_typelib_get_dir_entry_by_name ()">g_typelib_get_dir_entry_by_name</a>, function in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-get-namespace" title="g_typelib_get_namespace ()">g_typelib_get_namespace</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-get-namespace" title="g_typelib_get_namespace ()">g_typelib_get_namespace</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-get-string" title="g_typelib_get_string()">g_typelib_get_string</a>, macro in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-get-string" title="g_typelib_get_string()">g_typelib_get_string</a>, macro in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-matches-gtype-name-prefix" title="g_typelib_matches_gtype_name_prefix ()">g_typelib_matches_gtype_name_prefix</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-matches-gtype-name-prefix" title="g_typelib_matches_gtype_name_prefix ()">g_typelib_matches_gtype_name_prefix</a>, function in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-new-from-const-memory" title="g_typelib_new_from_const_memory ()">g_typelib_new_from_const_memory</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-new-from-const-memory" title="g_typelib_new_from_const_memory ()">g_typelib_new_from_const_memory</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-new-from-mapped-file" title="g_typelib_new_from_mapped_file ()">g_typelib_new_from_mapped_file</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-new-from-mapped-file" title="g_typelib_new_from_mapped_file ()">g_typelib_new_from_mapped_file</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-new-from-memory" title="g_typelib_new_from_memory ()">g_typelib_new_from_memory</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-new-from-memory" title="g_typelib_new_from_memory ()">g_typelib_new_from_memory</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-symbol" title="g_typelib_symbol ()">g_typelib_symbol</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-symbol" title="g_typelib_symbol ()">g_typelib_symbol</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-validate" title="g_typelib_validate ()">g_typelib_validate</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-validate" title="g_typelib_validate ()">g_typelib_validate</a>, function in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-common-types.html#G-TYPE-TAG-IS-BASIC:CAPS" title="G_TYPE_TAG_IS_BASIC()">G_TYPE_TAG_IS_BASIC</a>, macro in <a class="link" href="gi-common-types.html" title="common types">common types</a>
+<a class="link" href="gi-Common-Types.html#G-TYPE-TAG-IS-BASIC:CAPS" title="G_TYPE_TAG_IS_BASIC()">G_TYPE_TAG_IS_BASIC</a>, macro in <a class="link" href="gi-Common-Types.html" title="Common Types">Common Types</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-type-tag-to-string" title="g_type_tag_to_string ()">g_type_tag_to_string</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-Common-Types.html#g-type-tag-to-string" title="g_type_tag_to_string ()">g_type_tag_to_string</a>, function in <a class="link" href="gi-Common-Types.html" title="Common Types">Common Types</a>
</dt>
<dd></dd>
<a name="idxU"></a><h3 class="title">U</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#UnionBlob" title="UnionBlob">UnionBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#UnionBlob" title="UnionBlob">UnionBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
<dd></dd>
<a name="idxV"></a><h3 class="title">V</h3>
<dt>
-<a class="link" href="gi-GITypelib.html#ValueBlob" title="ValueBlob">ValueBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#ValueBlob" title="ValueBlob">ValueBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#VFuncBlob" title="VFuncBlob">VFuncBlob</a>, struct in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib-Internals.html#VFuncBlob" title="VFuncBlob">VFuncBlob</a>, struct in <a class="link" href="gi-GITypelib-Internals.html" title="GITypelib Internals">GITypelib Internals</a>
</dt>
<dd></dd>
<dt>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIRepository: GObject Introspection Reference Manual</title>
+<title>GIBaseInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="gi.html" title="Part II. API Reference">
-<link rel="prev" href="gi.html" title="Part II. API Reference">
-<link rel="next" href="GIRepository.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="gi-Common-Types.html" title="Common Types">
+<link rel="next" href="gi-struct-hierarchy.html" title="Struct hierarchy">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="gi.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gi.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="GIRepository.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="gi-Common-Types.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-struct-hierarchy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="id-1.4.2"></a>GIRepository</h2></div></div></div>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="id-1.7"></a>GIBaseInfo</h1></div></div></div>
<div class="toc"><dl class="toc">
<dt>
-<span class="refentrytitle"><a href="GIRepository.html">GIRepository</a></span><span class="refpurpose"> — GObject Introspection repository manager</span>
-</dt>
-<dt>
<span class="refentrytitle"><a href="gi-struct-hierarchy.html">Struct hierarchy</a></span><span class="refpurpose"> — Struct hierarchy description for GIBaseInfo and all its sub structs</span>
</dt>
<dt>
-<span class="refentrytitle"><a href="gi-common-types.html">common types</a></span><span class="refpurpose"> — TODO</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIBaseInfo.html">GIBaseInfo</a></span><span class="refpurpose"> — Base struct for all GITypelib structs</span>
+<span class="refentrytitle"><a href="GIBaseInfo.html">GIBaseInfo</a></span><span class="refpurpose"> — Base struct for all GITypelib structs</span>
</dt>
<dt>
<span class="refentrytitle"><a href="gi-GICallableInfo.html">GICallableInfo</a></span><span class="refpurpose"> — Struct representing a callable</span>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GITypelib: GObject Introspection Reference Manual</title>
+<title>FFI Interface: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="gi.html" title="Part II. API Reference">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
<link rel="prev" href="gi-GIValueInfo.html" title="GIValueInfo">
-<link rel="next" href="gi-gitypelib.html" title="gitypelib">
+<link rel="next" href="gi-girffi.html" title="girffi">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="gi.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="gi-GIValueInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi-gitypelib.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gi-girffi.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="gi-typelib"></a>GITypelib</h2></div></div></div>
-<div class="toc"><dl class="toc">
-<dt>
-<span class="refentrytitle"><a href="gi-gitypelib.html">gitypelib</a></span><span class="refpurpose"> — TODO</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GITypelib.html">GITypelib</a></span><span class="refpurpose"> — Layout and accessors for typelib</span>
-</dt>
-</dl></div>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="id-1.8"></a>FFI Interface</h1></div></div></div>
+<div class="toc"><dl class="toc"><dt>
+<span class="refentrytitle"><a href="gi-girffi.html">girffi</a></span><span class="refpurpose"> — TODO</span>
+</dt></dl></div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TODO: GObject Introspection Reference Manual</title>
+<title>Internals & Typelib Format: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="gi.html" title="Part II. API Reference">
-<link rel="prev" href="gi-GITypelib.html" title="GITypelib">
-<link rel="next" href="gi-girffi.html" title="girffi">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="gi-girffi.html" title="girffi">
+<link rel="next" href="gi-GITypelib-Internals.html" title="GITypelib Internals">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="gi.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gi-GITypelib.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi-girffi.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="gi-girffi.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GITypelib-Internals.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="id-1.4.4"></a>TODO</h2></div></div></div>
-<div class="toc"><dl class="toc">
-<dt>
-<span class="refentrytitle"><a href="gi-girffi.html">girffi</a></span><span class="refpurpose"> — TODO</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-gir-reference.html">The GIR XML format</a></span><span class="refpurpose"> — The GIR XML format</span>
-</dt>
-</dl></div>
+<div class="titlepage"><div><div><h1 class="title">
+<a name="id-1.9"></a>Internals & Typelib Format</h1></div></div></div>
+<div class="toc"><dl class="toc"><dt>
+<span class="refentrytitle"><a href="gi-GITypelib-Internals.html">GITypelib Internals</a></span><span class="refpurpose"> — Layout and accessors for typelib</span>
+</dt></dl></div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>common types: GObject Introspection Reference Manual</title>
+<title>Common Types: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
-<link rel="prev" href="gi-struct-hierarchy.html" title="Struct hierarchy">
-<link rel="next" href="gi-GIBaseInfo.html" title="GIBaseInfo">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="gi-Version-Information.html" title="Version Information">
+<link rel="next" href="ch01.html" title="GIBaseInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
- <a href="#gi-common-types.description" class="shortcut">Description</a></span>
+ <a href="#gi-Common-Types.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gi-struct-hierarchy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi-GIBaseInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="gi-Version-Information.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch01.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
-<a name="gi-common-types"></a><div class="titlepage"></div>
+<a name="gi-Common-Types"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
-<h2><span class="refentrytitle"><a name="gi-common-types.top_of_page"></a>common types</span></h2>
-<p>common types — TODO</p>
+<h2><span class="refentrytitle"><a name="gi-Common-Types.top_of_page"></a>Common Types</span></h2>
+<p>Common Types — TODO</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="gi-common-types.functions"></a><h2>Functions</h2>
+<a name="gi-Common-Types.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
-<tbody><tr>
+<tbody>
+<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
-<a class="link" href="gi-common-types.html#G-TYPE-TAG-IS-BASIC:CAPS" title="G_TYPE_TAG_IS_BASIC()">G_TYPE_TAG_IS_BASIC</a><span class="c_punctuation">()</span>
+<a class="link" href="gi-Common-Types.html#G-TYPE-TAG-IS-BASIC:CAPS" title="G_TYPE_TAG_IS_BASIC()">G_TYPE_TAG_IS_BASIC</a><span class="c_punctuation">()</span>
</td>
-</tr></tbody>
+</tr>
+<tr>
+<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-Common-Types.html#g-type-tag-to-string" title="g_type_tag_to_string ()">g_type_tag_to_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="gi-common-types.other"></a><h2>Types and Values</h2>
+<a name="gi-Common-Types.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<tbody>
<tr>
<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument">GIArgument</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-common-types.html#GIUnresolvedInfo" title="GIUnresolvedInfo">GIUnresolvedInfo</a></td>
+<td class="function_name"><a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument">GIArgument</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag">GITypeTag</a></td>
+<td class="function_name"><a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag">GITypeTag</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType">GIArrayType</a></td>
+<td class="function_name"><a class="link" href="gi-Common-Types.html#GIArrayType" title="enum GIArrayType">GIArrayType</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gi-common-types.html#GI-TYPE-TAG-N-TYPES:CAPS" title="GI_TYPE_TAG_N_TYPES">GI_TYPE_TAG_N_TYPES</a></td>
+<td class="function_name"><a class="link" href="gi-Common-Types.html#GI-TYPE-TAG-N-TYPES:CAPS" title="GI_TYPE_TAG_N_TYPES">GI_TYPE_TAG_N_TYPES</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="gi-common-types.description"></a><h2>Description</h2>
+<a name="gi-Common-Types.description"></a><h2>Description</h2>
<p>TODO</p>
</div>
<div class="refsect1">
-<a name="gi-common-types.functions_details"></a><h2>Functions</h2>
+<a name="gi-Common-Types.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="G-TYPE-TAG-IS-BASIC:CAPS"></a><h3>G_TYPE_TAG_IS_BASIC()</h3>
<pre class="programlisting">#define G_TYPE_TAG_IS_BASIC(tag) (tag < GI_TYPE_TAG_ARRAY || tag == GI_TYPE_TAG_UNICHAR)
</table></div>
</div>
</div>
+<hr>
+<div class="refsect2">
+<a name="g-type-tag-to-string"></a><h3>g_type_tag_to_string ()</h3>
+<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_type_tag_to_string (<em class="parameter"><code><a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> type</code></em>);</pre>
+<p>Obtain a string representation of <em class="parameter"><code>type</code></em>
+</p>
+<div class="refsect3">
+<a name="g-type-tag-to-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the type_tag</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-type-tag-to-string.returns"></a><h4>Returns</h4>
+<p> the string</p>
+</div>
+</div>
</div>
<div class="refsect1">
-<a name="gi-common-types.other_details"></a><h2>Types and Values</h2>
+<a name="gi-Common-Types.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GIArgument"></a><h3>GIArgument</h3>
<p>Stores an argument of varying type</p>
</div>
<hr>
<div class="refsect2">
-<a name="GIUnresolvedInfo"></a><h3>GIUnresolvedInfo</h3>
-<pre class="programlisting">typedef struct _GIUnresolvedInfo GIUnresolvedInfo;</pre>
-<p>Represents a unresolved type in a typelib.</p>
-</div>
-<hr>
-<div class="refsect2">
<a name="GITypeTag"></a><h3>enum GITypeTag</h3>
<p>The type tag of a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.</p>
<div class="refsect3">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIArgInfo: GObject Introspection Reference Manual</title>
+<title>GIArgInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">
<link rel="next" href="gi-GIConstantInfo.html" title="GIConstantInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-giarginfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----GIArgInfo
</pre>
</div>
<a name="g-arg-info-get-type.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> holding the type
information for <em class="parameter"><code>info</code></em>
-, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+, free it with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<a name="g-arg-info-is-skip.returns"></a><h4>Returns</h4>
<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if argument is only useful in C.</p>
</div>
-<p class="since">Since: <a class="link" href="api-index-1-29-0.html#api-index-1.29.0">1.29.0</a></p>
+<p class="since">Since: <a class="link" href="api-index-1-30.html#api-index-1.30">1.30</a></p>
</div>
</div>
<div class="refsect1">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GICallableInfo: GObject Introspection Reference Manual</title>
+<title>GICallableInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
-<link rel="prev" href="gi-GIBaseInfo.html" title="GIBaseInfo">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
+<link rel="prev" href="GIBaseInfo.html" title="GIBaseInfo">
<link rel="next" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gi-GIBaseInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="GIBaseInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gi-GIFunctionInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
</td>
</tr>
<tr>
+<td class="function_type">
+<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-instance-ownership-transfer" title="g_callable_info_get_instance_ownership_transfer ()">g_callable_info_get_instance_ownership_transfer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<div class="refsect1">
<a name="gi-gicallableinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----GICallableInfo
+----<a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+----<a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
<div class="refsect3">
<a name="g-callable-info-get-arg.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
</div>
<hr>
<div class="refsect2">
+<a name="g-callable-info-get-instance-ownership-transfer"></a><h3>g_callable_info_get_instance_ownership_transfer ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>
+g_callable_info_get_instance_ownership_transfer
+ (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
+<p>Obtains the ownership transfer for the instance argument.
+<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> contains a list of possible transfer values.</p>
+<div class="refsect3">
+<a name="g-callable-info-get-instance-ownership-transfer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-callable-info-get-instance-ownership-transfer.returns"></a><h4>Returns</h4>
+<p> the transfer mode of the instance argument</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-42.html#api-index-1.42">1.42</a></p>
+</div>
+<hr>
+<div class="refsect2">
<a name="g-callable-info-get-return-attribute"></a><h3>g_callable_info_get_return_attribute ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
g_callable_info_get_return_attribute (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
<div class="refsect3">
<a name="g-callable-info-get-return-type.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_callable_info_invoke (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> function</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
<em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
<em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_method</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> throws</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_callable_info_iterate_return_attributes
(<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
+ <em class="parameter"><code><a class="link" href="GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
<em class="parameter"><code><span class="type">char</span> **name</code></em>,
<em class="parameter"><code><span class="type">char</span> **value</code></em>);</pre>
<p>Iterate over all attributes associated with the return value. The
and <em class="parameter"><code>value</code></em>
should be treated as constants
and must not be freed.</p>
-<p>See <a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()"><code class="function">g_base_info_iterate_attributes()</code></a> for an example of how to use a
+<p>See <a class="link" href="GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()"><code class="function">g_base_info_iterate_attributes()</code></a> for an example of how to use a
similar API.</p>
<div class="refsect3">
<a name="g-callable-info-iterate-return-attributes.parameters"></a><h4>Parameters</h4>
</tr>
<tr>
<td class="parameter_name"><p>iterator</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> structure, must be initialized; see below. </p></td>
+<td class="parameter_description"><p>a <a class="link" href="GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> structure, must be initialized; see below. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span></td>
</tr>
<tr>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GICallbackInfo: GObject Introspection Reference Manual</title>
+<title>GICallbackInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">
<link rel="next" href="gi-GISignalInfo.html" title="GISignalInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-gicallbackinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+----GIFunctionInfo
+----<a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIConstantInfo: GObject Introspection Reference Manual</title>
+<title>GIConstantInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIArgInfo.html" title="GIArgInfo">
<link rel="next" href="gi-GIFieldInfo.html" title="GIFieldInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-giconstantinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----GIConstantInfo
</pre>
</div>
<a name="g-constant-info-free-value"></a><h3>g_constant_info_free_value ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
g_constant_info_free_value (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
<p>Free the value returned from <a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-value" title="g_constant_info_get_value ()"><code class="function">g_constant_info_get_value()</code></a>.</p>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
</tbody>
</table></div>
</div>
-<p class="since">Since: <a class="link" href="api-index-1-30-1.html#api-index-1.30.1">1.30.1</a></p>
+<p class="since">Since: <a class="link" href="api-index-1-32.html#api-index-1.32">1.32</a></p>
</div>
<hr>
<div class="refsect2">
<div class="refsect3">
<a name="g-constant-info-get-type.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<a name="g-constant-info-get-value"></a><h3>g_constant_info_get_value ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
g_constant_info_get_value (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
<p>Obtain the value associated with the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> and store it in the
<em class="parameter"><code>value</code></em>
parameter. <em class="parameter"><code>argument</code></em>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIEnumInfo: GObject Introspection Reference Manual</title>
+<title>GIEnumInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">
<link rel="next" href="gi-GIStructInfo.html" title="GIStructInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
</tr>
<tr>
<td class="function_type">
-<a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
+<a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
</td>
<td class="function_name">
<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-storage-type" title="g_enum_info_get_storage_type ()">g_enum_info_get_storage_type</a> <span class="c_punctuation">()</span>
<div class="refsect1">
<a name="gi-gienuminfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----<a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
+----GIEnumInfo
</pre>
<div class="refsect3">
<a name="g-enum-info-get-value.returns"></a><h4>Returns</h4>
<p>the enumeration value or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if type tag is wrong,
-free the struct with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+free the struct with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<a name="g-enum-info-get-n-methods.returns"></a><h4>Returns</h4>
<p> number of methods</p>
</div>
-<p class="since">Since: <a class="link" href="api-index-1-29-17.html#api-index-1.29.17">1.29.17</a></p>
+<p class="since">Since: <a class="link" href="api-index-1-30.html#api-index-1.30">1.30</a></p>
</div>
<hr>
<div class="refsect2">
<div class="refsect3">
<a name="g-enum-info-get-method.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
-<p class="since">Since: <a class="link" href="api-index-1-29-17.html#api-index-1.29.17">1.29.17</a></p>
+<p class="since">Since: <a class="link" href="api-index-1-30.html#api-index-1.30">1.30</a></p>
</div>
<hr>
<div class="refsect2">
<a name="g-enum-info-get-storage-type"></a><h3>g_enum_info_get_storage_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
+<pre class="programlisting"><a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
g_enum_info_get_storage_type (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);</pre>
<p>Obtain the tag of the type used for the enum in the C ABI. This will
will be a signed or unsigned integral type.</p>
with this enum, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
-<p class="since">Since: <a class="link" href="api-index-1-29-17.html#api-index-1.29.17">1.29.17</a></p>
+<p class="since">Since: <a class="link" href="api-index-1-30.html#api-index-1.30">1.30</a></p>
</div>
<hr>
<div class="refsect2">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIFieldInfo: GObject Introspection Reference Manual</title>
+<title>GIFieldInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIConstantInfo.html" title="GIConstantInfo">
<link rel="next" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-gifieldinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----GIFieldInfo
</pre>
</div>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_field_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *field_info</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> mem</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
<p>Reads a field identified by a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> from a C structure or
union. This only handles fields of simple C types. It will fail
for a field of a composite type like a nested structure or union
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> into which to store the value retrieved</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> into which to store the value retrieved</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_field_info_set_field (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *field_info</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> mem</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+ <em class="parameter"><code>const <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
<p>Writes a field identified by a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> to a C structure or
union. This only handles fields of simple C types. It will fail
for a field of a composite type like a nested structure or union
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> holding the value to store</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> holding the value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
<a name="g-field-info-get-offset"></a><h3>g_field_info_get_offset ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
g_field_info_get_offset (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);</pre>
-<p>Obtain the offset in bits of the field member, this is relative
+<p>Obtain the offset in bytes of the field member, this is relative
to the beginning of the struct or union.</p>
<div class="refsect3">
<a name="g-field-info-get-offset.parameters"></a><h4>Parameters</h4>
<div class="refsect3">
<a name="g-field-info-get-type.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIFunctionInfo: GObject Introspection Reference Manual</title>
+<title>GIFunctionInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GICallableInfo.html" title="GICallableInfo">
<link rel="next" href="gi-GICallbackInfo.html" title="GICallbackInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-gifunctioninfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+----GIFunctionInfo
+----<a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
<div class="refsect3">
<a name="g-function-info-get-property.returns"></a><h4>Returns</h4>
<p>the property or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-function-info-get-vfunc.returns"></a><h4>Returns</h4>
<p>the virtual function or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set.
-Free it by calling <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+Free it by calling <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<a name="g-function-info-invoke"></a><h3>g_function_info_invoke ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_function_info_invoke (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
<em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
<em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Invokes the function described in <em class="parameter"><code>info</code></em>
with the given
</tr>
<tr>
<td class="parameter_name"><p>in_args</p></td>
-<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each in
+<td class="parameter_description"><p>an array of <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each in
parameter of <em class="parameter"><code>info</code></em>
. If there are no in parameter, <em class="parameter"><code>in_args</code></em>
can be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
</tr>
<tr>
<td class="parameter_name"><p>out_args</p></td>
-<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each out
+<td class="parameter_description"><p>an array of <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each out
parameter of <em class="parameter"><code>info</code></em>
. If there are no out parameters, <em class="parameter"><code>out_args</code></em>
may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIInterfaceInfo: GObject Introspection Reference Manual</title>
+<title>GIInterfaceInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIObjectInfo.html" title="GIObjectInfo">
<link rel="next" href="gi-GIArgInfo.html" title="GIArgInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">GIBaseInfo</span> *
+<a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
</td>
<td class="function_name">
<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-prerequisite" title="g_interface_info_get_prerequisite ()">g_interface_info_get_prerequisite</a> <span class="c_punctuation">()</span>
<div class="refsect1">
<a name="gi-giinterfaceinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----<a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
+----GIInterfaceInfo
</pre>
<hr>
<div class="refsect2">
<a name="g-interface-info-get-prerequisite"></a><h3>g_interface_info_get_prerequisite ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+<pre class="programlisting"><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
g_interface_info_get_prerequisite (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
<p>Obtain an interface type prerequisites index <em class="parameter"><code>n</code></em>
</div>
<div class="refsect3">
<a name="g-interface-info-get-prerequisite.returns"></a><h4>Returns</h4>
-<p>the prerequisites as a <span class="type">GIBaseInfo</span>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p>the prerequisites as a <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>. Free the struct by calling
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-interface-info-get-property.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-interface-info-get-method.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-interface-info-find-method.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none found.
-Free the struct by calling <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+Free the struct by calling <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-interface-info-get-signal.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-interface-info-get-vfunc.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-interface-info-find-vfunc.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-interface-info-get-constant.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-interface-info-get-iface-struct.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIObjectInfo: GObject Introspection Reference Manual</title>
+<title>GIObjectInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIUnionInfo.html" title="GIUnionInfo">
<link rel="next" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-giobjectinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----<a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
+----GIObjectInfo
</pre>
<div class="refsect3">
<a name="g-object-info-get-parent.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-get-constant.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-get-field.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-get-interface.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-get-method.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-find-method.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-find-method-using-interfaces.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-get-property.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-get-signal.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-get-vfunc.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-find-vfunc.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p>name of method to obtain</p></td>
+<td class="parameter_description"><p>name of vfunc to obtain</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
</div>
<div class="refsect3">
<a name="g-object-info-find-vfunc-using-interfaces.returns"></a><h4>Returns</h4>
-<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>. Free the struct by calling
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-object-info-get-class-struct.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIPropertyInfo: GObject Introspection Reference Manual</title>
+<title>GIPropertyInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIFieldInfo.html" title="GIFieldInfo">
<link rel="next" href="gi-GITypeInfo.html" title="GITypeInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-gipropertyinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----GIPropertyInfo
</pre>
</div>
<div class="refsect3">
<a name="g-property-info-get-type.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>, free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIRegisteredTypeInfo: GObject Introspection Reference Manual</title>
+<title>GIRegisteredTypeInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">
<link rel="next" href="gi-GIEnumInfo.html" title="GIEnumInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-giregisteredtypeinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----GIRegisteredTypeInfo
+----<a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+----<a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GISignalInfo: GObject Introspection Reference Manual</title>
+<title>GISignalInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GICallbackInfo.html" title="GICallbackInfo">
<link rel="next" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-gisignalinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+----<a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+----GISignalInfo
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIStructInfo: GObject Introspection Reference Manual</title>
+<title>GIStructInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIEnumInfo.html" title="GIEnumInfo">
<link rel="next" href="gi-GIUnionInfo.html" title="GIUnionInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
</tr>
<tr>
<td class="function_type">
+<a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-find-field" title="g_struct_info_find_field ()">g_struct_info_find_field</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
</td>
<td class="function_name">
<div class="refsect1">
<a name="gi-giobjectinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----<a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
+----GIStructInfo
</pre>
</div>
<hr>
<div class="refsect2">
+<a name="g-struct-info-find-field"></a><h3>g_struct_info_find_field ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> *
+g_struct_info_find_field (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Obtain the type information for field named <em class="parameter"><code>name</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-struct-info-find-field.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>a field name</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-struct-info-find-field.returns"></a><h4>Returns</h4>
+<p>the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found,
+free it with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-46.html#api-index-1.46">1.46</a></p>
+</div>
+<hr>
+<div class="refsect2">
<a name="g-struct-info-get-alignment"></a><h3>g_struct_info_get_alignment ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
g_struct_info_get_alignment (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
</div>
<div class="refsect3">
<a name="g-struct-info-get-field.returns"></a><h4>Returns</h4>
-<p>the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+<p>the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>, free it with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-struct-info-get-method.returns"></a><h4>Returns</h4>
-<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-struct-info-find-method.returns"></a><h4>Returns</h4>
-<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GITypeInfo: GObject Introspection Reference Manual</title>
+<title>GITypeInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">
<link rel="next" href="gi-GIValueInfo.html" title="GIValueInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
</td>
</tr>
<tr>
-<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gi-GITypeInfo.html#g-type-tag-to-string" title="g_type_tag_to_string ()">g_type_tag_to_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gi-GITypeInfo.html#g-info-type-to-string" title="g_info_type_to_string ()">g_info_type_to_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
+<a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
</td>
<td class="function_name">
<a class="link" href="gi-GITypeInfo.html#g-type-info-get-tag" title="g_type_info_get_tag ()">g_type_info_get_tag</a> <span class="c_punctuation">()</span>
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">GIBaseInfo</span> *
+<a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
</td>
<td class="function_name">
<a class="link" href="gi-GITypeInfo.html#g-type-info-get-interface" title="g_type_info_get_interface ()">g_type_info_get_interface</a> <span class="c_punctuation">()</span>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType"><span class="returnvalue">GIArrayType</span></a>
+<a class="link" href="gi-Common-Types.html#GIArrayType" title="enum GIArrayType"><span class="returnvalue">GIArrayType</span></a>
</td>
<td class="function_name">
<a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-type" title="g_type_info_get_array_type ()">g_type_info_get_array_type</a> <span class="c_punctuation">()</span>
<div class="refsect1">
<a name="gi-gitypeinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----GITypeInfo
</pre>
</div>
</div>
<hr>
<div class="refsect2">
-<a name="g-type-tag-to-string"></a><h3>g_type_tag_to_string ()</h3>
-<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-g_type_tag_to_string (<em class="parameter"><code><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> type</code></em>);</pre>
-<p>Obtain a string representation of <em class="parameter"><code>type</code></em>
-</p>
-<div class="refsect3">
-<a name="g-type-tag-to-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the type_tag</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="g-type-tag-to-string.returns"></a><h4>Returns</h4>
-<p> the string</p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-info-type-to-string"></a><h3>g_info_type_to_string ()</h3>
-<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-g_info_type_to_string (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>);</pre>
-<p>Obtain a string representation of <em class="parameter"><code>type</code></em>
-</p>
-<div class="refsect3">
-<a name="g-info-type-to-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the info type</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="g-info-type-to-string.returns"></a><h4>Returns</h4>
-<p> the string</p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
<a name="g-type-info-is-pointer"></a><h3>g_type_info_is_pointer ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_type_info_is_pointer (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
<hr>
<div class="refsect2">
<a name="g-type-info-get-tag"></a><h3>g_type_info_get_tag ()</h3>
-<pre class="programlisting"><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
+<pre class="programlisting"><a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
g_type_info_get_tag (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>Obtain the type tag for the type. See <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> for a list
+<p>Obtain the type tag for the type. See <a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> for a list
of type tags.</p>
<div class="refsect3">
<a name="g-type-info-get-tag.parameters"></a><h4>Parameters</h4>
<hr>
<div class="refsect2">
<a name="g-type-info-get-interface"></a><h3>g_type_info_get_interface ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+<pre class="programlisting"><a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="returnvalue">GIBaseInfo</span></a> *
g_type_info_get_interface (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>For types which have <a class="link" href="gi-common-types.html#GI-TYPE-TAG-INTERFACE:CAPS"><span class="type">GI_TYPE_TAG_INTERFACE</span></a> such as GObjects and boxed values,
+<p>For types which have <a class="link" href="gi-Common-Types.html#GI-TYPE-TAG-INTERFACE:CAPS"><span class="type">GI_TYPE_TAG_INTERFACE</span></a> such as GObjects and boxed values,
this function returns full information about the referenced type. You can then
-inspect the type of the returned <span class="type">GIBaseInfo</span> to further query whether it is
-a concrete GObject, a GInterface, a structure, etc. using <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()"><code class="function">g_base_info_get_type()</code></a>.</p>
+inspect the type of the returned <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a> to further query whether it is
+a concrete GObject, a GInterface, a structure, etc. using <a class="link" href="GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()"><code class="function">g_base_info_get_type()</code></a>.</p>
<div class="refsect3">
<a name="g-type-info-get-interface.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
</div>
<div class="refsect3">
<a name="g-type-info-get-interface.returns"></a><h4>Returns</h4>
-<p>the <span class="type">GIBaseInfo</span>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p>the <a class="link" href="GIBaseInfo.html" title="GIBaseInfo"><span class="type">GIBaseInfo</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
g_type_info_get_array_length (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
<p>Obtain the array length of the type. The type tag must be a
-<a class="link" href="gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or -1 will returned.</p>
+<a class="link" href="gi-Common-Types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or -1 will returned.</p>
<div class="refsect3">
<a name="g-type-info-get-array-length.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
g_type_info_get_array_fixed_size (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
<p>Obtain the fixed array size of the type. The type tag must be a
-<a class="link" href="gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or -1 will returned.</p>
+<a class="link" href="gi-Common-Types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or -1 will returned.</p>
<div class="refsect3">
<a name="g-type-info-get-array-fixed-size.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_type_info_is_zero_terminated (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
<p>Obtain if the last element of the array is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. The type tag must be a
-<a class="link" href="gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will returned.</p>
+<a class="link" href="gi-Common-Types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will returned.</p>
<div class="refsect3">
<a name="g-type-info-is-zero-terminated.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<hr>
<div class="refsect2">
<a name="g-type-info-get-array-type"></a><h3>g_type_info_get_array_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType"><span class="returnvalue">GIArrayType</span></a>
+<pre class="programlisting"><a class="link" href="gi-Common-Types.html#GIArrayType" title="enum GIArrayType"><span class="returnvalue">GIArrayType</span></a>
g_type_info_get_array_type (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>Obtain the array type for this type. See <a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType"><span class="type">GIArrayType</span></a> for a list of
+<p>Obtain the array type for this type. See <a class="link" href="gi-Common-Types.html#GIArrayType" title="enum GIArrayType"><span class="type">GIArrayType</span></a> for a list of
possible values. If the type tag of this type is not array, -1 will be
returned.</p>
<div class="refsect3">
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GITypelib Internals: libgirepository API Reference</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch03.html" title="Internals & Typelib Format">
+<link rel="prev" href="ch03.html" title="Internals & Typelib Format">
+<link rel="next" href="api-index-full.html" title="Index">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#gi-GITypelib-Internals.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gi-GITypelib-Internals"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gi-GITypelib-Internals.top_of_page"></a>GITypelib Internals</span></h2>
+<p>GITypelib Internals — Layout and accessors for typelib</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gi-GITypelib-Internals.stability-level"></a><h2>Stability Level</h2>
+<acronym title="The intention of a Stable interface is to enable arbitrary third parties to
+develop applications to these interfaces, release them, and have confidence that
+they will run on all minor releases of the product (after the one in which the
+interface was introduced, and within the same major release). Even at a major
+release, incompatible changes are expected to be rare, and to have strong
+justifications.
+"><span class="acronym">Stable</span></acronym>, unless otherwise indicated
+</div>
+<div class="refsect1">
+<a name="gi-GITypelib-Internals.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypelib-Internals.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-get-dir-entry" title="g_typelib_get_dir_entry ()">g_typelib_get_dir_entry</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypelib-Internals.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-get-dir-entry-by-name" title="g_typelib_get_dir_entry_by_name ()">g_typelib_get_dir_entry_by_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypelib-Internals.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-get-dir-entry-by-gtype-name" title="g_typelib_get_dir_entry_by_gtype_name ()">g_typelib_get_dir_entry_by_gtype_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypelib-Internals.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-get-dir-entry-by-error-domain" title="g_typelib_get_dir_entry_by_error_domain ()">g_typelib_get_dir_entry_by_error_domain</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-matches-gtype-name-prefix" title="g_typelib_matches_gtype_name_prefix ()">g_typelib_matches_gtype_name_prefix</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-check-sanity" title="g_typelib_check_sanity ()">g_typelib_check_sanity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-get-string" title="g_typelib_get_string()">g_typelib_get_string</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-error-quark" title="g_typelib_error_quark ()">g_typelib_error_quark</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib-Internals.html#g-typelib-validate" title="g_typelib_validate ()">g_typelib_validate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GITypelib-Internals.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#G-IR-MAGIC:CAPS" title="G_IR_MAGIC">G_IR_MAGIC</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#GTypelibBlobType" title="enum GTypelibBlobType">GTypelibBlobType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#Header" title="Header">Header</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#SectionType" title="enum SectionType">SectionType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#Section" title="Section">Section</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#DirEntry" title="DirEntry">DirEntry</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags">SimpleTypeBlobFlags</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlob" title="SimpleTypeBlob">SimpleTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#ArgBlob" title="ArgBlob">ArgBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#SignatureBlob" title="SignatureBlob">SignatureBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#CommonBlob" title="CommonBlob">CommonBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#FunctionBlob" title="FunctionBlob">FunctionBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#CallbackBlob" title="CallbackBlob">CallbackBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#InterfaceTypeBlob" title="InterfaceTypeBlob">InterfaceTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#ArrayTypeDimension" title="ArrayTypeDimension">ArrayTypeDimension</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#ArrayTypeBlob" title="ArrayTypeBlob">ArrayTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#ParamTypeBlob" title="ParamTypeBlob">ParamTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#ErrorTypeBlob" title="ErrorTypeBlob">ErrorTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#ValueBlob" title="ValueBlob">ValueBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#FieldBlob" title="FieldBlob">FieldBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#RegisteredTypeBlob" title="RegisteredTypeBlob">RegisteredTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#StructBlob" title="StructBlob">StructBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#UnionBlob" title="UnionBlob">UnionBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#EnumBlob" title="EnumBlob">EnumBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#PropertyBlob" title="PropertyBlob">PropertyBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#SignalBlob" title="SignalBlob">SignalBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#VFuncBlob" title="VFuncBlob">VFuncBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#ObjectBlob" title="ObjectBlob">ObjectBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#InterfaceBlob" title="InterfaceBlob">InterfaceBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#ConstantBlob" title="ConstantBlob">ConstantBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#AttributeBlob" title="AttributeBlob">AttributeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#GITypelibError" title="enum GITypelibError">GITypelibError</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#G-TYPELIB-ERROR:CAPS" title="G_TYPELIB_ERROR">G_TYPELIB_ERROR</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib-Internals.html#GITypelibHashBuilder" title="GITypelibHashBuilder">GITypelibHashBuilder</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GITypelib-Internals.description"></a><h2>Description</h2>
+<p>The "typelib" is a binary, readonly, memory-mappable database
+containing reflective information about a GObject library.
+What the typelib describes and the types used are the same for every
+platform so, apart the endianness of its scalar values, the typelib
+database must be considered architecture-independent.</p>
+<p>The format of GObject typelib is strongly influenced by the Mozilla XPCOM
+format.</p>
+<p>Some of the differences to XPCOM include:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>Type information is stored not quite as compactly (XPCOM stores it inline
+in function descriptions in variable-sized blobs of 1 to n bytes. We store
+16 bits of type information for each parameter, which is enough to encode
+simple types inline. Complex (e.g. recursive) types are stored out of line
+in a separate list of types.</p></li>
+<li class="listitem"><p>String and complex type data is stored outside of typelib entry blobs,
+references are stored as offsets relative to the start of the typelib.
+One possibility is to store the strings and types in a pools at the end
+of the typelib.</p></li>
+</ul></div>
+<p>The typelib has the following general format:</p>
+<p> typelib ::= header, section-index, directory, blobs, attributes, attributedata</p>
+<p> directory ::= list of entries</p>
+<p> entry ::= blob type, name, namespace, offset
+ blob ::= function|callback|struct|boxed|enum|flags|object|interface|constant|union
+ attribute ::= offset, key, value
+ attributedata ::= string data for attributes</p>
+<p>Details</p>
+<p>We describe the fragments that make up the typelib in the form of C structs
+(although some fall short of being valid C structs since they contain
+multiple flexible arrays).</p>
+</div>
+<div class="refsect1">
+<a name="gi-GITypelib-Internals.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="g-typelib-get-dir-entry"></a><h3>g_typelib_get_dir_entry ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib-Internals.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+g_typelib_get_dir_entry (<em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> index</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>index</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-get-dir-entry-by-name"></a><h3>g_typelib_get_dir_entry_by_name ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib-Internals.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+g_typelib_get_dir_entry_by_name (<em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-name.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-get-dir-entry-by-gtype-name"></a><h3>g_typelib_get_dir_entry_by_gtype_name ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib-Internals.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+g_typelib_get_dir_entry_by_gtype_name (<em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gtype_name</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-gtype-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gtype_name</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-gtype-name.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-get-dir-entry-by-error-domain"></a><h3>g_typelib_get_dir_entry_by_error_domain ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib-Internals.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+g_typelib_get_dir_entry_by_error_domain
+ (<em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> error_domain</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-error-domain.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error_domain</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-error-domain.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-matches-gtype-name-prefix"></a><h3>g_typelib_matches_gtype_name_prefix ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_typelib_matches_gtype_name_prefix (<em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gtype_name</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-matches-gtype-name-prefix.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gtype_name</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-matches-gtype-name-prefix.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-check-sanity"></a><h3>g_typelib_check_sanity ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_typelib_check_sanity (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>TODO</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-get-string"></a><h3>g_typelib_get_string()</h3>
+<pre class="programlisting">#define g_typelib_get_string(typelib,offset)</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>offset</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-get-string.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-error-quark"></a><h3>g_typelib_error_quark ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
+g_typelib_error_quark (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-error-quark.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-validate"></a><h3>g_typelib_validate ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_typelib_validate (<em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-validate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-validate.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GITypelib-Internals.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="G-IR-MAGIC:CAPS"></a><h3>G_IR_MAGIC</h3>
+<pre class="programlisting">#define G_IR_MAGIC "GOBJ\nMETADATA\r\n\032"
+</pre>
+<p>Identifying prefix for the typelib. This was inspired by XPCOM,
+which in turn borrowed from PNG.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GTypelibBlobType"></a><h3>enum GTypelibBlobType</h3>
+<p>The integral value of this enumeration appears in each "Blob" component of
+a typelib to identify its type.</p>
+<div class="refsect3">
+<a name="GTypelibBlobType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-INVALID:CAPS"></a>BLOB_TYPE_INVALID</p></td>
+<td class="enum_member_description">
+<p>Should not appear in code</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-FUNCTION:CAPS"></a>BLOB_TYPE_FUNCTION</p></td>
+<td class="enum_member_description">
+<p>A <a class="link" href="gi-GITypelib-Internals.html#FunctionBlob" title="FunctionBlob"><span class="type">FunctionBlob</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-CALLBACK:CAPS"></a>BLOB_TYPE_CALLBACK</p></td>
+<td class="enum_member_description">
+<p>A <a class="link" href="gi-GITypelib-Internals.html#CallbackBlob" title="CallbackBlob"><span class="type">CallbackBlob</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-STRUCT:CAPS"></a>BLOB_TYPE_STRUCT</p></td>
+<td class="enum_member_description">
+<p>A <a class="link" href="gi-GITypelib-Internals.html#StructBlob" title="StructBlob"><span class="type">StructBlob</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-BOXED:CAPS"></a>BLOB_TYPE_BOXED</p></td>
+<td class="enum_member_description">
+<p>Can be either a <a class="link" href="gi-GITypelib-Internals.html#StructBlob" title="StructBlob"><span class="type">StructBlob</span></a> or <a class="link" href="gi-GITypelib-Internals.html#UnionBlob" title="UnionBlob"><span class="type">UnionBlob</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-ENUM:CAPS"></a>BLOB_TYPE_ENUM</p></td>
+<td class="enum_member_description">
+<p>An <a class="link" href="gi-GITypelib-Internals.html#EnumBlob" title="EnumBlob"><span class="type">EnumBlob</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-FLAGS:CAPS"></a>BLOB_TYPE_FLAGS</p></td>
+<td class="enum_member_description">
+<p>An <a class="link" href="gi-GITypelib-Internals.html#EnumBlob" title="EnumBlob"><span class="type">EnumBlob</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-OBJECT:CAPS"></a>BLOB_TYPE_OBJECT</p></td>
+<td class="enum_member_description">
+<p>An <a class="link" href="gi-GITypelib-Internals.html#ObjectBlob" title="ObjectBlob"><span class="type">ObjectBlob</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-INTERFACE:CAPS"></a>BLOB_TYPE_INTERFACE</p></td>
+<td class="enum_member_description">
+<p>An <a class="link" href="gi-GITypelib-Internals.html#InterfaceBlob" title="InterfaceBlob"><span class="type">InterfaceBlob</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-CONSTANT:CAPS"></a>BLOB_TYPE_CONSTANT</p></td>
+<td class="enum_member_description">
+<p>A <a class="link" href="gi-GITypelib-Internals.html#ConstantBlob" title="ConstantBlob"><span class="type">ConstantBlob</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-INVALID-0:CAPS"></a>BLOB_TYPE_INVALID_0</p></td>
+<td class="enum_member_description">
+<p>Deleted, used to be ErrorDomain.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-UNION:CAPS"></a>BLOB_TYPE_UNION</p></td>
+<td class="enum_member_description">
+<p>A <a class="link" href="gi-GITypelib-Internals.html#UnionBlob" title="UnionBlob"><span class="type">UnionBlob</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Header"></a><h3>Header</h3>
+<pre class="programlisting">typedef struct {
+ gchar magic[16];
+ guint8 major_version;
+ guint8 minor_version;
+ guint16 reserved;
+ guint16 n_entries;
+ guint16 n_local_entries;
+ guint32 directory;
+ guint32 n_attributes;
+ guint32 attributes;
+
+ guint32 dependencies;
+
+ guint32 size;
+ guint32 namespace;
+ guint32 nsversion;
+ guint32 shared_library;
+ guint32 c_prefix;
+
+ guint16 entry_blob_size;
+ guint16 function_blob_size;
+ guint16 callback_blob_size;
+ guint16 signal_blob_size;
+ guint16 vfunc_blob_size;
+ guint16 arg_blob_size;
+ guint16 property_blob_size;
+ guint16 field_blob_size;
+ guint16 value_blob_size;
+ guint16 attribute_blob_size;
+ guint16 constant_blob_size;
+ guint16 error_domain_blob_size;
+
+ guint16 signature_blob_size;
+ guint16 enum_blob_size;
+ guint16 struct_blob_size;
+ guint16 object_blob_size;
+ guint16 interface_blob_size;
+ guint16 union_blob_size;
+
+ guint32 sections;
+
+ guint16 padding[6];
+} Header;
+</pre>
+<p>The header structure appears exactly once at the beginning of a typelib. It is a
+collection of meta-information, such as the number of entries and dependencies.</p>
+<div class="refsect3">
+<a name="Header.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> <em class="structfield"><code><a name="Header.magic"></a>magic</code></em>[16];</p></td>
+<td class="struct_member_description"><p>See <a class="link" href="gi-GITypelib-Internals.html#G-IR-MAGIC:CAPS" title="G_IR_MAGIC"><span class="type">G_IR_MAGIC</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="Header.major-version"></a>major_version</code></em>;</p></td>
+<td class="struct_member_description"><p>The major version number of the typelib format. Major version
+number changes indicate incompatible changes to the tyeplib format.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="Header.minor-version"></a>minor_version</code></em>;</p></td>
+<td class="struct_member_description"><p>The minor version number of the typelib format. Minor version
+number changes indicate compatible changes and should still allow the
+typelib to be parsed by a parser designed for the same <em class="parameter"><code>major_version</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.reserved"></a>reserved</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.n-entries"></a>n_entries</code></em>;</p></td>
+<td class="struct_member_description"><p>The number of entries in the directory.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.n-local-entries"></a>n_local_entries</code></em>;</p></td>
+<td class="struct_member_description"><p>The number of entries referring to blobs in this typelib.
+The local entries must occur before the unresolved entries.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.directory"></a>directory</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the directory in the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.n-attributes"></a>n_attributes</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of attribute blocks</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.attributes"></a>attributes</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the list of attributes in the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.dependencies"></a>dependencies</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of a single string, which is the list of immediate
+dependencies, separated by the '|' character. The dependencies are
+required in order to avoid having programs consuming a typelib check for
+an "Unresolved" type return from every API call.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>The size in bytes of the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.namespace"></a>namespace</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the namespace string in the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.nsversion"></a>nsversion</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the namespace version string in the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.shared-library"></a>shared_library</code></em>;</p></td>
+<td class="struct_member_description"><p>This field is the set of shared libraries associated with
+the typelib. The entries are separated by the '|' (pipe) character.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.c-prefix"></a>c_prefix</code></em>;</p></td>
+<td class="struct_member_description"><p>The prefix for the function names of the library</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.entry-blob-size"></a>entry_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>The sizes of fixed-size blobs. Recording this information
+here allows to write parser which continue to work if the format is
+extended by adding new fields to the end of the fixed-size blobs.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.function-blob-size"></a>function_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.callback-blob-size"></a>callback_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.signal-blob-size"></a>signal_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.vfunc-blob-size"></a>vfunc_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.arg-blob-size"></a>arg_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.property-blob-size"></a>property_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.field-blob-size"></a>field_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.value-blob-size"></a>value_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.attribute-blob-size"></a>attribute_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.constant-blob-size"></a>constant_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.error-domain-blob-size"></a>error_domain_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.signature-blob-size"></a>signature_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.enum-blob-size"></a>enum_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.struct-blob-size"></a>struct_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.object-blob-size"></a>object_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.interface-blob-size"></a>interface_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>For variable-size blobs, the size of the struct up to
+the first flexible array member. Recording this information here allows
+to write parser which continue to work if the format is extended by
+adding new fields before the first flexible array member in
+variable-size blobs.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.union-blob-size"></a>union_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.sections"></a>sections</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of section blob array</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.padding"></a>padding</code></em>[6];</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="SectionType"></a><h3>enum SectionType</h3>
+<p>TODO</p>
+<div class="refsect3">
+<a name="SectionType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GI-SECTION-END:CAPS"></a>GI_SECTION_END</p></td>
+<td class="enum_member_description">
+<p>TODO</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-SECTION-DIRECTORY-INDEX:CAPS"></a>GI_SECTION_DIRECTORY_INDEX</p></td>
+<td class="enum_member_description">
+<p>TODO</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="Section"></a><h3>Section</h3>
+<pre class="programlisting">typedef struct {
+ guint32 id;
+ guint32 offset;
+} Section;
+</pre>
+<p>A section is a blob of data that's (at least theoretically) optional,
+and may or may not be present in the typelib. Presently, just used
+for the directory index. This allows a form of dynamic extensibility
+with different tradeoffs from the format minor version.</p>
+<div class="refsect3">
+<a name="Section.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Section.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-GITypelib-Internals.html#SectionType" title="enum SectionType"><span class="type">SectionType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Section.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>Integer offset for this section</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DirEntry"></a><h3>DirEntry</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type;
+
+ guint16 local : 1;
+ guint16 reserved :15;
+ guint32 name;
+ guint32 offset;
+} DirEntry;
+</pre>
+<p>References to directory entries are stored as 1-based 16-bit indexes.</p>
+<p>All blobs pointed to by a directory entry start with the same layout for
+the first 8 bytes (the reserved flags may be used by some blob types)</p>
+<div class="refsect3">
+<a name="DirEntry.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-GITypelib-Internals.html#GTypelibBlobType" title="enum GTypelibBlobType"><span class="type">GTypelibBlobType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.local"></a>local</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether this entry refers to a blob in this typelib.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.reserved"></a>reserved</code></em> :15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="DirEntry.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the entry.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="DirEntry.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>If is_local is set, this is the offset of the blob in the typelib.
+Otherwise, it is the offset of the namespace in which the blob has to be
+looked up by name.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="SimpleTypeBlobFlags"></a><h3>SimpleTypeBlobFlags</h3>
+<pre class="programlisting">typedef struct {
+ guint reserved : 8;
+ guint reserved2 :16;
+ guint pointer : 1;
+ guint reserved3 : 2;
+ guint tag : 5;
+} SimpleTypeBlobFlags;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="SimpleTypeBlobFlags.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved"></a>reserved</code></em> : 8;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved2"></a>reserved2</code></em> :16;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.pointer"></a>pointer</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved3"></a>reserved3</code></em> : 2;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.tag"></a>tag</code></em> : 5;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="SimpleTypeBlob"></a><h3>SimpleTypeBlob</h3>
+<p>The SimpleTypeBlob is the general purpose "reference to a type" construct,
+used in method parameters, returns, callback definitions, fields, constants,
+etc. It's actually just a 32 bit integer which you can see from the union
+definition. This is for efficiency reasons, since there are so many
+references to types.</p>
+<p>SimpleTypeBlob is divided into two cases; first, if "reserved" and
+"reserved2", the type tag for a basic type is embedded in the "tag" bits.
+This allows e.g. GI_TYPE_TAG_UTF8, GI_TYPE_TAG_INT and the like to be
+embedded directly without taking up extra space.</p>
+<p>References to "interfaces" (objects, interfaces) are more complicated;
+In this case, the integer is actually an offset into the directory (see
+above). Because the header is larger than 2^8=256 bits, all offsets will
+have one of the upper 24 bits set.</p>
+<div class="refsect3">
+<a name="SimpleTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="union_members_name">
+<col class="union_members_description">
+<col width="200px" class="union_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="union_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags"><span class="type">SimpleTypeBlobFlags</span></a> <em class="structfield"><code><a name="SimpleTypeBlob.flags"></a>flags</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
+</tr>
+<tr>
+<td class="union_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SimpleTypeBlob.offset"></a>offset</code></em>;</p></td>
+<td class="union_member_description"><p>Offset relative to header->types that points to a TypeBlob.
+Unlike other offsets, this is in words (ie 32bit units) rather
+than bytes.</p></td>
+<td class="union_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ArgBlob"></a><h3>ArgBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint32 name;
+
+ guint in : 1;
+ guint out : 1;
+ guint caller_allocates : 1;
+ guint nullable : 1;
+ guint optional : 1;
+ guint transfer_ownership : 1;
+ guint transfer_container_ownership : 1;
+ guint return_value : 1;
+ guint scope : 3;
+ guint skip : 1;
+ guint reserved :20;
+ gint8 closure;
+ gint8 destroy;
+
+ guint16 padding;
+
+ SimpleTypeBlob arg_type;
+} ArgBlob;
+</pre>
+<p>Types are specified by four bytes. If the three high bytes are zero,
+the low byte describes a basic type, otherwise the 32bit number is an
+offset which points to a TypeBlob.</p>
+<div class="refsect3">
+<a name="ArgBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ArgBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>A suggested name for the parameter.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.in"></a>in</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The parameter is an input to the function</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.out"></a>out</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The parameter is used to return an output of the function. Parameters
+can be both in and out. Out parameters implicitly add another level of
+indirection to the parameter type. Ie if the type is uint32 in an out
+parameter, the function actually takes an uint32*.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.caller-allocates"></a>caller_allocates</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The parameter is a pointer to a struct or object that
+will receive an output of the function.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.nullable"></a>nullable</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Only meaningful for types which are passed as pointers. For an
+in parameter, indicates if it is ok to pass NULL in. Gor an out
+parameter, indicates whether it may return NULL. Note that NULL is a
+valid GList and GSList value, thus allow_none will normally be set
+for parameters of these types.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.optional"></a>optional</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>For an out parameter, indicates that NULL may be passed in
+if the value is not needed.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.transfer-ownership"></a>transfer_ownership</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>For an in parameter, indicates that the function takes
+over ownership of the parameter value. For an out parameter, it indicates
+that the caller is responsible for freeing the return value.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.transfer-container-ownership"></a>transfer_container_ownership</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>For container types, indicates that the
+ownership of the container, but not of its contents is transferred.
+This is typically the case for out parameters returning lists of
+statically allocated things.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.return-value"></a>return_value</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The parameter should be considered the return value of the
+function. Only out parameters can be marked as return value, and there
+can be at most one per function call. If an out parameter is marked as
+return value, the actual return value of the function should be either
+void or a boolean indicating the success of the call.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.scope"></a>scope</code></em> : 3;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="type">GIScopeType</span></a>. If the parameter is of a callback type, this denotes
+the scope of the user_data and the callback function pointer itself
+(for languages that emit code at run-time).</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.skip"></a>skip</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Indicates that the parameter is only useful in C and should be skipped.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.reserved"></a>reserved</code></em> :20;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint8"><span class="type">gint8</span></a> <em class="structfield"><code><a name="ArgBlob.closure"></a>closure</code></em>;</p></td>
+<td class="struct_member_description"><p>Index of the closure (user_data) parameter associated with the
+callback, or -1.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint8"><span class="type">gint8</span></a> <em class="structfield"><code><a name="ArgBlob.destroy"></a>destroy</code></em>;</p></td>
+<td class="struct_member_description"><p>Index of the destroy notfication callback parameter associated
+with the callback, or -1.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArgBlob.padding"></a>padding</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArgBlob.arg-type"></a>arg_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Describes the type of the parameter. See details below.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="SignatureBlob"></a><h3>SignatureBlob</h3>
+<pre class="programlisting">typedef struct {
+ SimpleTypeBlob return_type;
+
+ guint16 may_return_null : 1;
+ guint16 caller_owns_return_value : 1;
+ guint16 caller_owns_return_container : 1;
+ guint16 skip_return : 1;
+ guint16 instance_transfer_ownership : 1;
+ guint16 throws : 1;
+ guint16 reserved :10;
+
+ guint16 n_arguments;
+
+ ArgBlob arguments[];
+} SignatureBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="SignatureBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="SignatureBlob.return-type"></a>return_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Describes the type of the return value. See details below.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.may-return-null"></a>may_return_null</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Only relevant for pointer types. Indicates whether the
+caller must expect NULL as a return value.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.caller-owns-return-value"></a>caller_owns_return_value</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If set, the caller is responsible for freeing
+the return value if it is no longer needed.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.caller-owns-return-container"></a>caller_owns_return_container</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>This flag is only relevant if the return type
+is a container type. If the flag is set, the caller is resonsible for
+freeing the container, but not its contents.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.skip-return"></a>skip_return</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Indicates that the return value is only useful in C and should
+be skipped.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.instance-transfer-ownership"></a>instance_transfer_ownership</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>When calling, the function assumes ownership of
+the instance parameter.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.throws"></a>throws</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Denotes the signature takes an additional <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> argument beyond
+the annotated arguments.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.reserved"></a>reserved</code></em> :10;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.n-arguments"></a>n_arguments</code></em>;</p></td>
+<td class="struct_member_description"><p>The number of arguments that this function expects, also the
+length of the array of ArgBlobs.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#ArgBlob" title="ArgBlob"><span class="type">ArgBlob</span></a> <em class="structfield"><code><a name="SignatureBlob.arguments"></a>arguments</code></em>[];</p></td>
+<td class="struct_member_description"><p>An array of ArgBlob for the arguments of the function.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="CommonBlob"></a><h3>CommonBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type; /* 1 */
+
+ guint16 deprecated : 1;
+ guint16 reserved :15;
+ guint32 name;
+} CommonBlob;
+</pre>
+<p>The <a class="link" href="gi-GITypelib-Internals.html#CommonBlob" title="CommonBlob"><span class="type">CommonBlob</span></a> is shared between <a class="link" href="gi-GITypelib-Internals.html#FunctionBlob" title="FunctionBlob"><span class="type">FunctionBlob</span></a>,
+<a class="link" href="gi-GITypelib-Internals.html#CallbackBlob" title="CallbackBlob"><span class="type">CallbackBlob</span></a>, <a class="link" href="gi-GITypelib-Internals.html#SignalBlob" title="SignalBlob"><span class="type">SignalBlob</span></a>.</p>
+<p>TODO</p>
+<div class="refsect3">
+<a name="CommonBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-GITypelib-Internals.html#GTypelibBlobType" title="enum GTypelibBlobType"><span class="type">GTypelibBlobType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether the blob is deprecated.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.reserved"></a>reserved</code></em> :15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CommonBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the blob.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="FunctionBlob"></a><h3>FunctionBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type; /* 1 */
+
+ guint16 deprecated : 1;
+ guint16 setter : 1;
+ guint16 getter : 1;
+ guint16 constructor : 1;
+ guint16 wraps_vfunc : 1;
+ guint16 throws : 1;
+ guint16 index :10;
+ /* Note the bits above need to match CommonBlob
+ * and are thus exhausted, extend things using
+ * the reserved block below. */
+
+ guint32 name;
+ guint32 symbol;
+ guint32 signature;
+
+ guint16 is_static : 1;
+ guint16 reserved : 15;
+ guint16 reserved2 : 16;
+} FunctionBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="FunctionBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p><a class="link" href="gi-GITypelib-Internals.html#BLOB-TYPE-FUNCTION:CAPS"><span class="type">BLOB_TYPE_FUNCTION</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function is deprecated.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.setter"></a>setter</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function is a setter for a property. Language bindings may
+prefer to not bind individual setters and rely on the generic
+<a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-set"><code class="function">g_object_set()</code></a>.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.getter"></a>getter</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function is a getter for a property. Language bindings may
+prefer to not bind individual getters and rely on the generic
+<a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-get"><code class="function">g_object_get()</code></a>.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.constructor"></a>constructor</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function acts as a constructor for the object it is
+contained in.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.wraps-vfunc"></a>wraps_vfunc</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function is a simple wrapper for a virtual function.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.throws"></a>throws</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>This is now additionally stored in the <a class="link" href="gi-GITypelib-Internals.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a>. (deprecated)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.index"></a>index</code></em> :10;</p></td>
+<td class="struct_member_description"><p>Index of the property that this function is a setter or getter of
+in the array of properties of the containing interface, or index
+of the virtual function that this function wraps.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.symbol"></a>symbol</code></em>;</p></td>
+<td class="struct_member_description"><p>The symbol which can be used to obtain the function pointer with
+<code class="function">dlsym()</code>.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.signature"></a>signature</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the SignatureBlob describing the parameter types and the
+return value type.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.is-static"></a>is_static</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function is a "static method"; in other words it's a pure
+function whose name is conceptually scoped to the object.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.reserved"></a>reserved</code></em> : 15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.reserved2"></a>reserved2</code></em> : 16;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="CallbackBlob"></a><h3>CallbackBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type; /* 2 */
+
+ guint16 deprecated : 1;
+ guint16 reserved :15;
+ guint32 name;
+ guint32 signature;
+} CallbackBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="CallbackBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.reserved"></a>reserved</code></em> :15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CallbackBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CallbackBlob.signature"></a>signature</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the <a class="link" href="gi-GITypelib-Internals.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a> describing the parameter types and
+the return value type.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="InterfaceTypeBlob"></a><h3>InterfaceTypeBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint8 pointer :1;
+ guint8 reserved :2;
+ guint8 tag :5;
+ guint8 reserved2;
+ guint16 interface;
+} InterfaceTypeBlob;
+</pre>
+<p>If the interface is an enum of flags type, is_pointer is 0, otherwise it is 1.</p>
+<div class="refsect3">
+<a name="InterfaceTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
+<td class="struct_member_description"><p>Whether this type represents an indirection</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.tag"></a>tag</code></em> :5;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.interface"></a>interface</code></em>;</p></td>
+<td class="struct_member_description"><p>Index of the directory entry for the interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ArrayTypeDimension"></a><h3>ArrayTypeDimension</h3>
+<p>TODO</p>
+<div class="refsect3">
+<a name="ArrayTypeDimension.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="union_members_name">
+<col class="union_members_description">
+<col width="200px" class="union_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="union_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeDimension.length"></a>length</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
+</tr>
+<tr>
+<td class="union_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeDimension.size"></a>size</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ArrayTypeBlob"></a><h3>ArrayTypeBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 pointer :1;
+ guint16 reserved :2;
+ guint16 tag :5;
+
+ guint16 zero_terminated :1;
+ guint16 has_length :1;
+ guint16 has_size :1;
+ guint16 array_type :2;
+ guint16 reserved2 :3;
+
+ ArrayTypeDimension dimensions;
+
+ SimpleTypeBlob type;
+} ArrayTypeBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="ArrayTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.tag"></a>tag</code></em> :5;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.zero-terminated"></a>zero_terminated</code></em> :1;</p></td>
+<td class="struct_member_description"><p>Indicates that the array must be terminated by a suitable
+<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> value.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.has-length"></a>has_length</code></em> :1;</p></td>
+<td class="struct_member_description"><p>Indicates that length points to a parameter specifying the
+length of the array. If both has_length and zero_terminated are set, the
+convention is to pass -1 for the length if the array is zero-terminated.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.has-size"></a>has_size</code></em> :1;</p></td>
+<td class="struct_member_description"><p>Indicates that size is the fixed size of the array.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.array-type"></a>array_type</code></em> :2;</p></td>
+<td class="struct_member_description"><p>Indicates whether this is a C array, GArray, GPtrArray, or
+GByteArray. If something other than a C array, the length and element
+size are implicit in the structure.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.reserved2"></a>reserved2</code></em> :3;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#ArrayTypeDimension" title="ArrayTypeDimension"><span class="type">ArrayTypeDimension</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.dimensions"></a>dimensions</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ParamTypeBlob"></a><h3>ParamTypeBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint8 pointer :1;
+ guint8 reserved :2;
+ guint8 tag :5;
+
+ guint8 reserved2;
+ guint16 n_types;
+
+ SimpleTypeBlob type[];
+} ParamTypeBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="ParamTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.tag"></a>tag</code></em> :5;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ParamTypeBlob.n-types"></a>n_types</code></em>;</p></td>
+<td class="struct_member_description"><p>The number of parameter types to follow.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ParamTypeBlob.type"></a>type</code></em>[];</p></td>
+<td class="struct_member_description"><p>Describes the type of the list elements.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ErrorTypeBlob"></a><h3>ErrorTypeBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint8 pointer :1;
+ guint8 reserved :2;
+ guint8 tag :5;
+
+ guint8 reserved2;
+
+ guint16 n_domains; /* Must be 0 */
+ guint16 domains[];
+} ErrorTypeBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="ErrorTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.tag"></a>tag</code></em> :5;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.n-domains"></a>n_domains</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO: must be 0</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.domains"></a>domains</code></em>[];</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ValueBlob"></a><h3>ValueBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint32 deprecated : 1;
+ guint32 unsigned_value : 1;
+ guint32 reserved :30;
+ guint32 name;
+ gint32 value;
+} ValueBlob;
+</pre>
+<p>Values commonly occur in enums and flags.</p>
+<div class="refsect3">
+<a name="ValueBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether this value is deprecated</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.unsigned-value"></a>unsigned_value</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>if set, value is a 32-bit unsigned integer cast to gint32</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.reserved"></a>reserved</code></em> :30;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>Name of blob</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="ValueBlob.value"></a>value</code></em>;</p></td>
+<td class="struct_member_description"><p>The numerical value</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="FieldBlob"></a><h3>FieldBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint32 name;
+
+ guint8 readable :1;
+ guint8 writable :1;
+ guint8 has_embedded_type :1;
+ guint8 reserved :5;
+ guint8 bits;
+
+ guint16 struct_offset;
+
+ guint32 reserved2;
+
+ SimpleTypeBlob type;
+} FieldBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="FieldBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FieldBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the field.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.readable"></a>readable</code></em> :1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.writable"></a>writable</code></em> :1;</p></td>
+<td class="struct_member_description"><p>How the field may be accessed.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.has-embedded-type"></a>has_embedded_type</code></em> :1;</p></td>
+<td class="struct_member_description"><p>An anonymous type follows the FieldBlob.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.reserved"></a>reserved</code></em> :5;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.bits"></a>bits</code></em>;</p></td>
+<td class="struct_member_description"><p>If this field is part of a bitfield, the number of bits which it
+uses, otherwise 0.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FieldBlob.struct-offset"></a>struct_offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset of the field in the struct. The value 0xFFFF
+indicates that the struct offset is unknown.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FieldBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="FieldBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>The type of the field.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="RegisteredTypeBlob"></a><h3>RegisteredTypeBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type;
+ guint16 deprecated : 1;
+ guint16 unregistered : 1;
+ guint16 reserved :14;
+ guint32 name;
+
+ guint32 gtype_name;
+ guint32 gtype_init;
+} RegisteredTypeBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="RegisteredTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.reserved"></a>reserved</code></em> :14;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name under which the type is registered with GType.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>The symbol name of the get_type() function which registers the
+type.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="StructBlob"></a><h3>StructBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type;
+
+ guint16 deprecated : 1;
+ guint16 unregistered : 1;
+ guint16 is_gtype_struct : 1;
+ guint16 alignment : 6;
+ guint16 foreign : 1;
+ guint16 reserved : 6;
+
+ guint32 name;
+
+ guint32 gtype_name;
+ guint32 gtype_init;
+
+ guint32 size;
+
+ guint16 n_fields;
+ guint16 n_methods;
+
+ guint32 reserved2;
+ guint32 reserved3;
+} StructBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="StructBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p><a class="link" href="gi-GITypelib-Internals.html#BLOB-TYPE-STRUCT:CAPS"><span class="type">BLOB_TYPE_STRUCT</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether this structure is deprecated</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If this is set, the type is not registered with GType.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.is-gtype-struct"></a>is_gtype_struct</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether this structure is the class or interface layout
+for a GObject</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.alignment"></a>alignment</code></em> : 6;</p></td>
+<td class="struct_member_description"><p>The byte boundary that the struct is aligned to in memory</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.foreign"></a>foreign</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If the type is foreign, eg if it's expected to be overridden by
+a native language binding instead of relying of introspected bindings.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.reserved"></a>reserved</code></em> : 6;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>String name of the associated <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>The size of the struct in bytes.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.n-fields"></a>n_fields</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.n-methods"></a>n_methods</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.reserved3"></a>reserved3</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="UnionBlob"></a><h3>UnionBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type;
+ guint16 deprecated : 1;
+ guint16 unregistered : 1;
+ guint16 discriminated : 1;
+ guint16 alignment : 6;
+ guint16 reserved : 7;
+ guint32 name;
+
+ guint32 gtype_name;
+ guint32 gtype_init;
+
+ guint32 size;
+
+ guint16 n_fields;
+ guint16 n_functions;
+
+ guint32 reserved2;
+ guint32 reserved3;
+
+ gint32 discriminator_offset;
+ SimpleTypeBlob discriminator_type;
+} UnionBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="UnionBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If this is set, the type is not registered with GType.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.discriminated"></a>discriminated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Is set if the union is discriminated</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.alignment"></a>alignment</code></em> : 6;</p></td>
+<td class="struct_member_description"><p>The byte boundary that the union is aligned to in memory</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.reserved"></a>reserved</code></em> : 7;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>String name of the associated <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.n-fields"></a>n_fields</code></em>;</p></td>
+<td class="struct_member_description"><p>Length of the arrays</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.n-functions"></a>n_functions</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.reserved3"></a>reserved3</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="UnionBlob.discriminator-offset"></a>discriminator_offset</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset from the beginning of the union where the
+discriminator of a discriminated union is located. The value 0xFFFF
+indicates that the discriminator offset is unknown.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="UnionBlob.discriminator-type"></a>discriminator_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Type of the discriminator</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="EnumBlob"></a><h3>EnumBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type;
+
+ guint16 deprecated : 1;
+ guint16 unregistered : 1;
+ guint16 storage_type : 5;
+ guint16 reserved : 9;
+
+ guint32 name;
+
+ guint32 gtype_name;
+ guint32 gtype_init;
+
+ guint16 n_values;
+ guint16 n_methods;
+
+ guint32 error_domain;
+
+ ValueBlob values[];
+} EnumBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="EnumBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If this is set, the type is not registered with GType.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.storage-type"></a>storage_type</code></em> : 5;</p></td>
+<td class="struct_member_description"><p>The tag of the type used for the enum in the C ABI
+(will be a signed or unsigned integral type)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.reserved"></a>reserved</code></em> : 9;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>String name of the associated <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.n-values"></a>n_values</code></em>;</p></td>
+<td class="struct_member_description"><p>The length of the values array.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.n-methods"></a>n_methods</code></em>;</p></td>
+<td class="struct_member_description"><p>The length of the methods array.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.error-domain"></a>error_domain</code></em>;</p></td>
+<td class="struct_member_description"><p>String naming the <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> domain this enum is associated with</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#ValueBlob" title="ValueBlob"><span class="type">ValueBlob</span></a> <em class="structfield"><code><a name="EnumBlob.values"></a>values</code></em>[];</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="PropertyBlob"></a><h3>PropertyBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint32 name;
+
+ guint32 deprecated : 1;
+ guint32 readable : 1;
+ guint32 writable : 1;
+ guint32 construct : 1;
+ guint32 construct_only : 1;
+ guint32 transfer_ownership : 1;
+ guint32 transfer_container_ownership : 1;
+ guint32 reserved :25;
+
+ guint32 reserved2;
+
+ SimpleTypeBlob type;
+} PropertyBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="PropertyBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.readable"></a>readable</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.writable"></a>writable</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.construct"></a>construct</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.construct-only"></a>construct_only</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The ParamFlags used when registering the property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.transfer-ownership"></a>transfer_ownership</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>When writing, the type containing the property takes
+ownership of the value. When reading, the returned value needs to be
+released by the caller.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.transfer-container-ownership"></a>transfer_container_ownership</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>For container types indicates that the
+ownership of the container, but not of its contents, is transferred.
+This is typically the case when reading lists of statically allocated
+things.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.reserved"></a>reserved</code></em> :25;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="PropertyBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>Describes the type of the property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="SignalBlob"></a><h3>SignalBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 deprecated : 1;
+ guint16 run_first : 1;
+ guint16 run_last : 1;
+ guint16 run_cleanup : 1;
+ guint16 no_recurse : 1;
+ guint16 detailed : 1;
+ guint16 action : 1;
+ guint16 no_hooks : 1;
+ guint16 has_class_closure : 1;
+ guint16 true_stops_emit : 1;
+ guint16 reserved : 6;
+
+ guint16 class_closure;
+
+ guint32 name;
+
+ guint32 reserved2;
+
+ guint32 signature;
+} SignalBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="SignalBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.run-first"></a>run_first</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.run-last"></a>run_last</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.run-cleanup"></a>run_cleanup</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.no-recurse"></a>no_recurse</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.detailed"></a>detailed</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.action"></a>action</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.no-hooks"></a>no_hooks</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The flags used when registering the signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.has-class-closure"></a>has_class_closure</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Set if the signal has a class closure.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.true-stops-emit"></a>true_stops_emit</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether the signal has true-stops-emit semantics</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.reserved"></a>reserved</code></em> : 6;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.class-closure"></a>class_closure</code></em>;</p></td>
+<td class="struct_member_description"><p>The index of the class closure in the list of virtual
+functions of the object or interface on which the signal is defined.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.signature"></a>signature</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the SignatureBlob describing the parameter types
+and the return value type.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="VFuncBlob"></a><h3>VFuncBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint32 name;
+
+ guint16 must_chain_up : 1;
+ guint16 must_be_implemented : 1;
+ guint16 must_not_be_implemented : 1;
+ guint16 class_closure : 1;
+ guint16 throws : 1;
+ guint16 reserved :11;
+ guint16 signal;
+
+ guint16 struct_offset;
+ guint16 invoker : 10; /* Number of bits matches @index in FunctionBlob */
+ guint16 reserved2 : 6;
+
+ guint32 reserved3;
+ guint32 signature;
+} VFuncBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="VFuncBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the virtual function.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.must-chain-up"></a>must_chain_up</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If set, every implementation of this virtual function must
+chain up to the implementation of the parent class.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.must-be-implemented"></a>must_be_implemented</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If set, every derived class must override this virtual
+function.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.must-not-be-implemented"></a>must_not_be_implemented</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If set, derived class must not override this
+virtual function.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.class-closure"></a>class_closure</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Set if this virtual function is the class closure of a
+signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.throws"></a>throws</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>This is now additionally stored in the <a class="link" href="gi-GITypelib-Internals.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a>. (deprecated)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved"></a>reserved</code></em> :11;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.signal"></a>signal</code></em>;</p></td>
+<td class="struct_member_description"><p>The index of the signal in the list of signals of the object or
+interface to which this virtual function belongs.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.struct-offset"></a>struct_offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset of the function pointer in the class struct.
+The value 0xFFFF indicates that the struct offset is unknown.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.invoker"></a>invoker</code></em> : 10;</p></td>
+<td class="struct_member_description"><p>If a method invoker for this virtual exists, this is the offset
+in the class structure of the method. If no method is known, this value
+will be 0x3ff.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved2"></a>reserved2</code></em> : 6;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved3"></a>reserved3</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.signature"></a>signature</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the SignatureBlob describing the parameter types and
+the return value type.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ObjectBlob"></a><h3>ObjectBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type; /* 7 */
+ guint16 deprecated : 1;
+ guint16 abstract : 1;
+ guint16 fundamental : 1;
+ guint16 reserved :13;
+ guint32 name;
+
+ guint32 gtype_name;
+ guint32 gtype_init;
+
+ guint16 parent;
+ guint16 gtype_struct;
+
+ guint16 n_interfaces;
+ guint16 n_fields;
+ guint16 n_properties;
+ guint16 n_methods;
+ guint16 n_signals;
+ guint16 n_vfuncs;
+ guint16 n_constants;
+ guint16 n_field_callbacks;
+
+ guint32 ref_func;
+ guint32 unref_func;
+ guint32 set_value_func;
+ guint32 get_value_func;
+
+ guint32 reserved3;
+ guint32 reserved4;
+
+ guint16 interfaces[];
+} ObjectBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="ObjectBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p><a class="link" href="gi-GITypelib-Internals.html#BLOB-TYPE-OBJECT:CAPS"><span class="type">BLOB_TYPE_OBJECT</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.abstract"></a>abstract</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.fundamental"></a>fundamental</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>this object is not a GObject derived type, instead it's
+an additional fundamental type.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved"></a>reserved</code></em> :13;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>String name of the associated <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.parent"></a>parent</code></em>;</p></td>
+<td class="struct_member_description"><p>The directory index of the parent type. This is only set for
+objects. If an object does not have a parent, it is zero.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.gtype-struct"></a>gtype_struct</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-interfaces"></a>n_interfaces</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-fields"></a>n_fields</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-properties"></a>n_properties</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-methods"></a>n_methods</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-signals"></a>n_signals</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-vfuncs"></a>n_vfuncs</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-constants"></a>n_constants</code></em>;</p></td>
+<td class="struct_member_description"><p>The lengths of the arrays.Up to 16bits of padding may be
+inserted between the arrays to ensure that they start on a 32bit
+boundary.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-field-callbacks"></a>n_field_callbacks</code></em>;</p></td>
+<td class="struct_member_description"><p>The number of n_fields which are also callbacks.
+This is used to calculate the fields section size in constant time.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.ref-func"></a>ref_func</code></em>;</p></td>
+<td class="struct_member_description"><p>String pointing to a function which can be called to increase
+the reference count for an instance of this object type.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.unref-func"></a>unref_func</code></em>;</p></td>
+<td class="struct_member_description"><p>String pointing to a function which can be called to decrease
+the reference count for an instance of this object type.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.set-value-func"></a>set_value_func</code></em>;</p></td>
+<td class="struct_member_description"><p>String pointing to a function which can be called to
+convert a pointer of this object to a GValue</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.get-value-func"></a>get_value_func</code></em>;</p></td>
+<td class="struct_member_description"><p>String pointing to a function which can be called to
+convert extract a pointer to this object from a GValue</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved3"></a>reserved3</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved4"></a>reserved4</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.interfaces"></a>interfaces</code></em>[];</p></td>
+<td class="struct_member_description"><p>An array of indices of directory entries for the implemented
+interfaces.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="InterfaceBlob"></a><h3>InterfaceBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type;
+ guint16 deprecated : 1;
+ guint16 reserved :15;
+ guint32 name;
+
+ guint32 gtype_name;
+ guint32 gtype_init;
+ guint16 gtype_struct;
+
+ guint16 n_prerequisites;
+ guint16 n_properties;
+ guint16 n_methods;
+ guint16 n_signals;
+ guint16 n_vfuncs;
+ guint16 n_constants;
+
+ guint16 padding;
+
+ guint32 reserved2;
+ guint32 reserved3;
+
+ guint16 prerequisites[];
+} InterfaceBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="InterfaceBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved"></a>reserved</code></em> :15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.gtype-struct"></a>gtype_struct</code></em>;</p></td>
+<td class="struct_member_description"><p>Name of the interface "class" C structure</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-prerequisites"></a>n_prerequisites</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of prerequisites</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-properties"></a>n_properties</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of properties</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-methods"></a>n_methods</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of methods</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-signals"></a>n_signals</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of signals</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-vfuncs"></a>n_vfuncs</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of virtual functions</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-constants"></a>n_constants</code></em>;</p></td>
+<td class="struct_member_description"><p>The lengths of the arrays. Up to 16bits of padding may be
+inserted between the arrays to ensure that they start on a 32bit
+boundary.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.padding"></a>padding</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved3"></a>reserved3</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.prerequisites"></a>prerequisites</code></em>[];</p></td>
+<td class="struct_member_description"><p>An array of indices of directory entries for required
+interfaces.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ConstantBlob"></a><h3>ConstantBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint16 blob_type;
+ guint16 deprecated : 1;
+ guint16 reserved :15;
+ guint32 name;
+
+ SimpleTypeBlob type;
+
+ guint32 size;
+ guint32 offset;
+
+ guint32 reserved2;
+} ConstantBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="ConstantBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.reserved"></a>reserved</code></em> :15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib-Internals.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ConstantBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>The type of the value. In most cases this should be a numeric type
+or string.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>The size of the value in bytes.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset of the value in the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="AttributeBlob"></a><h3>AttributeBlob</h3>
+<pre class="programlisting">typedef struct {
+ guint32 offset;
+ guint32 name;
+ guint32 value;
+} AttributeBlob;
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="AttributeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset of the typelib entry to which this attribute refers.
+Attributes are kept sorted by offset, so that the attributes of an
+entry can be found by a binary search.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the attribute, a string.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.value"></a>value</code></em>;</p></td>
+<td class="struct_member_description"><p>The value of the attribute (also a string)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GITypelibError"></a><h3>enum GITypelibError</h3>
+<p>A error set while validating the <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
+<div class="refsect3">
+<a name="GITypelibError.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID:CAPS"></a>G_TYPELIB_ERROR_INVALID</p></td>
+<td class="enum_member_description">
+<p>the typelib is invalid</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-HEADER:CAPS"></a>G_TYPELIB_ERROR_INVALID_HEADER</p></td>
+<td class="enum_member_description">
+<p>the typelib header is invalid</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-DIRECTORY:CAPS"></a>G_TYPELIB_ERROR_INVALID_DIRECTORY</p></td>
+<td class="enum_member_description">
+<p>the typelib directory is invalid</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-ENTRY:CAPS"></a>G_TYPELIB_ERROR_INVALID_ENTRY</p></td>
+<td class="enum_member_description">
+<p>a typelib entry is invalid</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-BLOB:CAPS"></a>G_TYPELIB_ERROR_INVALID_BLOB</p></td>
+<td class="enum_member_description">
+<p>a typelib blob is invalid</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="G-TYPELIB-ERROR:CAPS"></a><h3>G_TYPELIB_ERROR</h3>
+<pre class="programlisting">#define G_TYPELIB_ERROR (g_typelib_error_quark ())
+</pre>
+<p>TODO</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GITypelibHashBuilder"></a><h3>GITypelibHashBuilder</h3>
+<pre class="programlisting">typedef struct _GITypelibHashBuilder GITypelibHashBuilder;</pre>
+<p>TODO</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.28</div>
+</body>
+</html>
\ No newline at end of file
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GITypelib: GObject Introspection Reference Manual</title>
+<title>GITypelib: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="gi-typelib.html" title="GITypelib">
-<link rel="prev" href="gi-gitypelib.html" title="gitypelib">
-<link rel="next" href="ch03.html" title="TODO">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="GIRepository.html" title="GIRepository">
+<link rel="next" href="gi-Version-Information.html" title="Version Information">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<a href="#gi-GITypelib.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="gi-typelib.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gi-gitypelib.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="ch03.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="GIRepository.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-Version-Information.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gi-GITypelib"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gi-GITypelib.top_of_page"></a>GITypelib</span></h2>
-<p>GITypelib — Layout and accessors for typelib</p>
+<p>GITypelib — TODO</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="gi-GITypelib.stability-level"></a><h2>Stability Level</h2>
-<acronym title="The intention of a Stable interface is to enable arbitrary third parties to
-develop applications to these interfaces, release them, and have confidence that
-they will run on all minor releases of the product (after the one in which the
-interface was introduced, and within the same major release). Even at a major
-release, incompatible changes are expected to be rare, and to have strong
-justifications.
-"><span class="acronym">Stable</span></acronym>, unless otherwise indicated
-</div>
-<div class="refsect1">
<a name="gi-GITypelib.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<tbody>
<tr>
<td class="function_type">
-<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry" title="g_typelib_get_dir_entry ()">g_typelib_get_dir_entry</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+<a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-name" title="g_typelib_get_dir_entry_by_name ()">g_typelib_get_dir_entry_by_name</a> <span class="c_punctuation">()</span>
+<a class="link" href="gi-GITypelib.html#g-typelib-new-from-memory" title="g_typelib_new_from_memory ()">g_typelib_new_from_memory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+<a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-gtype-name" title="g_typelib_get_dir_entry_by_gtype_name ()">g_typelib_get_dir_entry_by_gtype_name</a> <span class="c_punctuation">()</span>
+<a class="link" href="gi-GITypelib.html#g-typelib-new-from-const-memory" title="g_typelib_new_from_const_memory ()">g_typelib_new_from_const_memory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+<a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-error-domain" title="g_typelib_get_dir_entry_by_error_domain ()">g_typelib_get_dir_entry_by_error_domain</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="gi-GITypelib.html#g-typelib-matches-gtype-name-prefix" title="g_typelib_matches_gtype_name_prefix ()">g_typelib_matches_gtype_name_prefix</a> <span class="c_punctuation">()</span>
+<a class="link" href="gi-GITypelib.html#g-typelib-new-from-mapped-file" title="g_typelib_new_from_mapped_file ()">g_typelib_new_from_mapped_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<span class="returnvalue">void</span>
</td>
<td class="function_name">
-<a class="link" href="gi-GITypelib.html#g-typelib-check-sanity" title="g_typelib_check_sanity ()">g_typelib_check_sanity</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gi-GITypelib.html#g-typelib-get-string" title="g_typelib_get_string()">g_typelib_get_string</a><span class="c_punctuation">()</span>
+<a class="link" href="gi-GITypelib.html#g-typelib-free" title="g_typelib_free ()">g_typelib_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
+<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
-<a class="link" href="gi-GITypelib.html#g-typelib-error-quark" title="g_typelib_error_quark ()">g_typelib_error_quark</a> <span class="c_punctuation">()</span>
+<a class="link" href="gi-GITypelib.html#g-typelib-symbol" title="g_typelib_symbol ()">g_typelib_symbol</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
-<a class="link" href="gi-GITypelib.html#g-typelib-validate" title="g_typelib_validate ()">g_typelib_validate</a> <span class="c_punctuation">()</span>
+<a class="link" href="gi-GITypelib.html#g-typelib-get-namespace" title="g_typelib_get_namespace ()">g_typelib_get_namespace</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
<col width="150px" class="name">
<col class="description">
</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#G-IR-MAGIC:CAPS" title="G_IR_MAGIC">G_IR_MAGIC</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#GTypelibBlobType" title="enum GTypelibBlobType">GTypelibBlobType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#Header" title="Header">Header</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#SectionType" title="enum SectionType">SectionType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#Section" title="Section">Section</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry">DirEntry</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags">SimpleTypeBlobFlags</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob">SimpleTypeBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#ArgBlob" title="ArgBlob">ArgBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob">SignatureBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#CommonBlob" title="CommonBlob">CommonBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#FunctionBlob" title="FunctionBlob">FunctionBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#CallbackBlob" title="CallbackBlob">CallbackBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#InterfaceTypeBlob" title="InterfaceTypeBlob">InterfaceTypeBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#ArrayTypeDimension" title="ArrayTypeDimension">ArrayTypeDimension</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#ArrayTypeBlob" title="ArrayTypeBlob">ArrayTypeBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#ParamTypeBlob" title="ParamTypeBlob">ParamTypeBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#ErrorTypeBlob" title="ErrorTypeBlob">ErrorTypeBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#ValueBlob" title="ValueBlob">ValueBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#FieldBlob" title="FieldBlob">FieldBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#RegisteredTypeBlob" title="RegisteredTypeBlob">RegisteredTypeBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#StructBlob" title="StructBlob">StructBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#UnionBlob" title="UnionBlob">UnionBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#EnumBlob" title="EnumBlob">EnumBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#PropertyBlob" title="PropertyBlob">PropertyBlob</a></td>
-</tr>
-<tr>
+<tbody><tr>
<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#SignalBlob" title="SignalBlob">SignalBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#VFuncBlob" title="VFuncBlob">VFuncBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#ObjectBlob" title="ObjectBlob">ObjectBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#InterfaceBlob" title="InterfaceBlob">InterfaceBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#ConstantBlob" title="ConstantBlob">ConstantBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#AttributeBlob" title="AttributeBlob">AttributeBlob</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#GITypelibError" title="enum GITypelibError">GITypelibError</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#G-TYPELIB-ERROR:CAPS" title="G_TYPELIB_ERROR">G_TYPELIB_ERROR</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-GITypelib.html#GITypelibHashBuilder" title="GITypelibHashBuilder">GITypelibHashBuilder</a></td>
-</tr>
-</tbody>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib">GITypelib</a></td>
+</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gi-GITypelib.description"></a><h2>Description</h2>
-<p>The "typelib" is a binary, readonly, memory-mappable database
-containing reflective information about a GObject library.
-What the typelib describes and the types used are the same for every
-platform so, apart the endianness of its scalar values, the typelib
-database must be considered architecture-independent.</p>
-<p>The format of GObject typelib is strongly influenced by the Mozilla XPCOM
-format.</p>
-<p>Some of the differences to XPCOM include:</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>Type information is stored not quite as compactly (XPCOM stores it inline
-in function descriptions in variable-sized blobs of 1 to n bytes. We store
-16 bits of type information for each parameter, which is enough to encode
-simple types inline. Complex (e.g. recursive) types are stored out of line
-in a separate list of types.</p></li>
-<li class="listitem"><p>String and complex type data is stored outside of typelib entry blobs,
-references are stored as offsets relative to the start of the typelib.
-One possibility is to store the strings and types in a pools at the end
-of the typelib.</p></li>
-</ul></div>
-<p>The typelib has the following general format:</p>
-<p> typelib ::= header, section-index, directory, blobs, attributes, attributedata</p>
-<p> directory ::= list of entries</p>
-<p> entry ::= blob type, name, namespace, offset
- blob ::= function|callback|struct|boxed|enum|flags|object|interface|constant|union
- attribute ::= offset, key, value
- attributedata ::= string data for attributes</p>
-<p>Details</p>
-<p>We describe the fragments that make up the typelib in the form of C structs
-(although some fall short of being valid C structs since they contain
-multiple flexible arrays).</p>
+<p>TODO</p>
</div>
<div class="refsect1">
<a name="gi-GITypelib.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="g-typelib-get-dir-entry"></a><h3>g_typelib_get_dir_entry ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
-g_typelib_get_dir_entry (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> index</code></em>);</pre>
-<p>TODO</p>
+<a name="g-typelib-new-from-memory"></a><h3>g_typelib_new_from_memory ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+g_typelib_new_from_memory (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *memory</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Creates a new <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a memory location. The memory block
+pointed to by <em class="parameter"><code>typelib</code></em>
+ will be automatically <a href="/usr/share/gtk-doc/html/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>d when the
+repository is destroyed.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
-<a name="g-typelib-get-dir-entry.parameters"></a><h4>Parameters</h4>
+<a name="g-typelib-new-from-memory.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
</colgroup>
<tbody>
<tr>
-<td class="parameter_name"><p>typelib</p></td>
-<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_name"><p>memory</p></td>
+<td class="parameter_description"><p>address of memory chunk containing the typelib</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>index</p></td>
-<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>length of memory chunk containing the typelib</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
-<a name="g-typelib-get-dir-entry.returns"></a><h4>Returns</h4>
-<p> TODO</p>
+<a name="g-typelib-new-from-memory.returns"></a><h4>Returns</h4>
+<p> the new <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
</div>
</div>
<hr>
<div class="refsect2">
-<a name="g-typelib-get-dir-entry-by-name"></a><h3>g_typelib_get_dir_entry_by_name ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
-g_typelib_get_dir_entry_by_name (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
-<p>TODO</p>
+<a name="g-typelib-new-from-const-memory"></a><h3>g_typelib_new_from_const_memory ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+g_typelib_new_from_const_memory (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *memory</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Creates a new <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a memory location.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
-<a name="g-typelib-get-dir-entry-by-name.parameters"></a><h4>Parameters</h4>
+<a name="g-typelib-new-from-const-memory.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
</colgroup>
<tbody>
<tr>
-<td class="parameter_name"><p>typelib</p></td>
-<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_name"><p>memory</p></td>
+<td class="parameter_description"><p>address of memory chunk containing the typelib</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>name</p></td>
-<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>length of memory chunk containing the typelib</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
-<a name="g-typelib-get-dir-entry-by-name.returns"></a><h4>Returns</h4>
-<p> TODO</p>
+<a name="g-typelib-new-from-const-memory.returns"></a><h4>Returns</h4>
+<p> the new <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
</div>
</div>
<hr>
<div class="refsect2">
-<a name="g-typelib-get-dir-entry-by-gtype-name"></a><h3>g_typelib_get_dir_entry_by_gtype_name ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
-g_typelib_get_dir_entry_by_gtype_name (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gtype_name</code></em>);</pre>
-<p>TODO</p>
+<a name="g-typelib-new-from-mapped-file"></a><h3>g_typelib_new_from_mapped_file ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+g_typelib_new_from_mapped_file (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a> *mfile</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Creates a new <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a <a href="/usr/share/gtk-doc/html/glib/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
-<a name="g-typelib-get-dir-entry-by-gtype-name.parameters"></a><h4>Parameters</h4>
+<a name="g-typelib-new-from-mapped-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
</colgroup>
<tbody>
<tr>
-<td class="parameter_name"><p>typelib</p></td>
-<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_name"><p>mfile</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a>, that will be free'd when the repository is destroyed</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>gtype_name</p></td>
-<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
-<a name="g-typelib-get-dir-entry-by-gtype-name.returns"></a><h4>Returns</h4>
-<p> TODO</p>
+<a name="g-typelib-new-from-mapped-file.returns"></a><h4>Returns</h4>
+<p> the new <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
</div>
</div>
<hr>
<div class="refsect2">
-<a name="g-typelib-get-dir-entry-by-error-domain"></a><h3>g_typelib_get_dir_entry_by_error_domain ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
-g_typelib_get_dir_entry_by_error_domain
- (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> error_domain</code></em>);</pre>
-<p>TODO</p>
+<a name="g-typelib-free"></a><h3>g_typelib_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_typelib_free (<em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);</pre>
+<p>Free a <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>.</p>
<div class="refsect3">
-<a name="g-typelib-get-dir-entry-by-error-domain.parameters"></a><h4>Parameters</h4>
+<a name="g-typelib-free.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
+<tbody><tr>
<td class="parameter_name"><p>typelib</p></td>
-<td class="parameter_description"><p>TODO</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error_domain</p></td>
-<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p></td>
<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
+</tr></tbody>
</table></div>
</div>
-<div class="refsect3">
-<a name="g-typelib-get-dir-entry-by-error-domain.returns"></a><h4>Returns</h4>
-<p> TODO</p>
-</div>
</div>
<hr>
<div class="refsect2">
-<a name="g-typelib-matches-gtype-name-prefix"></a><h3>g_typelib_matches_gtype_name_prefix ()</h3>
+<a name="g-typelib-symbol"></a><h3>g_typelib_symbol ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-g_typelib_matches_gtype_name_prefix (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gtype_name</code></em>);</pre>
-<p>TODO</p>
+g_typelib_symbol (<em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *symbol_name</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *symbol</code></em>);</pre>
+<p>Loads a symbol from <a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>.</p>
<div class="refsect3">
-<a name="g-typelib-matches-gtype-name-prefix.parameters"></a><h4>Parameters</h4>
+<a name="g-typelib-symbol.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<tbody>
<tr>
<td class="parameter_name"><p>typelib</p></td>
-<td class="parameter_description"><p>TODO</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>gtype_name</p></td>
-<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_description"><p>the typelib</p></td>
<td class="parameter_annotations"> </td>
</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="g-typelib-matches-gtype-name-prefix.returns"></a><h4>Returns</h4>
-<p> TODO</p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-check-sanity"></a><h3>g_typelib_check_sanity ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-g_typelib_check_sanity (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>TODO</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-get-string"></a><h3>g_typelib_get_string()</h3>
-<pre class="programlisting">#define g_typelib_get_string(typelib,offset)</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="g-typelib-get-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
<tr>
-<td class="parameter_name"><p>typelib</p></td>
-<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_name"><p>symbol_name</p></td>
+<td class="parameter_description"><p>name of symbol to be loaded</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td class="parameter_name"><p>offset</p></td>
-<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_name"><p>symbol</p></td>
+<td class="parameter_description"><p>returns a pointer to the symbol value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
-<a name="g-typelib-get-string.returns"></a><h4>Returns</h4>
-<p> TODO</p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-error-quark"></a><h3>g_typelib_error_quark ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
-g_typelib_error_quark (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="g-typelib-error-quark.returns"></a><h4>Returns</h4>
-<p> TODO</p>
+<a name="g-typelib-symbol.returns"></a><h4>Returns</h4>
+<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
-<a name="g-typelib-validate"></a><h3>g_typelib_validate ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-g_typelib_validate (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<a name="g-typelib-get-namespace"></a><h3>g_typelib_get_namespace ()</h3>
+<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_typelib_get_namespace (<em class="parameter"><code><a class="link" href="gi-GITypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);</pre>
<p>TODO</p>
<div class="refsect3">
-<a name="g-typelib-validate.parameters"></a><h4>Parameters</h4>
+<a name="g-typelib-get-namespace.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
+<tbody><tr>
<td class="parameter_name"><p>typelib</p></td>
<td class="parameter_description"><p>TODO</p></td>
<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>TODO</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
+</tr></tbody>
</table></div>
</div>
<div class="refsect3">
-<a name="g-typelib-validate.returns"></a><h4>Returns</h4>
+<a name="g-typelib-get-namespace.returns"></a><h4>Returns</h4>
<p> TODO</p>
</div>
</div>
<div class="refsect1">
<a name="gi-GITypelib.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
-<a name="G-IR-MAGIC:CAPS"></a><h3>G_IR_MAGIC</h3>
-<pre class="programlisting">#define G_IR_MAGIC "GOBJ\nMETADATA\r\n\032"
+<a name="GITypelib"></a><h3>GITypelib</h3>
+<pre class="programlisting">typedef struct {
+} GITypelib;
</pre>
-<p>Identifying prefix for the typelib. This was inspired by XPCOM,
-which in turn borrowed from PNG.</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GTypelibBlobType"></a><h3>enum GTypelibBlobType</h3>
-<p>The integral value of this enumeration appears in each "Blob" component of
-a typelib to identify its type.</p>
-<div class="refsect3">
-<a name="GTypelibBlobType.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-INVALID:CAPS"></a>BLOB_TYPE_INVALID</p></td>
-<td class="enum_member_description">
-<p>Should not appear in code</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-FUNCTION:CAPS"></a>BLOB_TYPE_FUNCTION</p></td>
-<td class="enum_member_description">
-<p>A <a class="link" href="gi-GITypelib.html#FunctionBlob" title="FunctionBlob"><span class="type">FunctionBlob</span></a></p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-CALLBACK:CAPS"></a>BLOB_TYPE_CALLBACK</p></td>
-<td class="enum_member_description">
-<p>A <a class="link" href="gi-GITypelib.html#CallbackBlob" title="CallbackBlob"><span class="type">CallbackBlob</span></a></p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-STRUCT:CAPS"></a>BLOB_TYPE_STRUCT</p></td>
-<td class="enum_member_description">
-<p>A <a class="link" href="gi-GITypelib.html#StructBlob" title="StructBlob"><span class="type">StructBlob</span></a></p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-BOXED:CAPS"></a>BLOB_TYPE_BOXED</p></td>
-<td class="enum_member_description">
-<p>Can be either a <a class="link" href="gi-GITypelib.html#StructBlob" title="StructBlob"><span class="type">StructBlob</span></a> or <a class="link" href="gi-GITypelib.html#UnionBlob" title="UnionBlob"><span class="type">UnionBlob</span></a></p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-ENUM:CAPS"></a>BLOB_TYPE_ENUM</p></td>
-<td class="enum_member_description">
-<p>An <a class="link" href="gi-GITypelib.html#EnumBlob" title="EnumBlob"><span class="type">EnumBlob</span></a></p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-FLAGS:CAPS"></a>BLOB_TYPE_FLAGS</p></td>
-<td class="enum_member_description">
-<p>An <a class="link" href="gi-GITypelib.html#EnumBlob" title="EnumBlob"><span class="type">EnumBlob</span></a></p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-OBJECT:CAPS"></a>BLOB_TYPE_OBJECT</p></td>
-<td class="enum_member_description">
-<p>An <a class="link" href="gi-GITypelib.html#ObjectBlob" title="ObjectBlob"><span class="type">ObjectBlob</span></a></p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-INTERFACE:CAPS"></a>BLOB_TYPE_INTERFACE</p></td>
-<td class="enum_member_description">
-<p>An <a class="link" href="gi-GITypelib.html#InterfaceBlob" title="InterfaceBlob"><span class="type">InterfaceBlob</span></a></p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-CONSTANT:CAPS"></a>BLOB_TYPE_CONSTANT</p></td>
-<td class="enum_member_description">
-<p>A <a class="link" href="gi-GITypelib.html#ConstantBlob" title="ConstantBlob"><span class="type">ConstantBlob</span></a></p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-INVALID-0:CAPS"></a>BLOB_TYPE_INVALID_0</p></td>
-<td class="enum_member_description">
-<p>Deleted, used to be ErrorDomain.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="BLOB-TYPE-UNION:CAPS"></a>BLOB_TYPE_UNION</p></td>
-<td class="enum_member_description">
-<p>A <a class="link" href="gi-GITypelib.html#UnionBlob" title="UnionBlob"><span class="type">UnionBlob</span></a></p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Header"></a><h3>Header</h3>
-<pre class="programlisting">typedef struct {
- gchar magic[16];
- guint8 major_version;
- guint8 minor_version;
- guint16 reserved;
- guint16 n_entries;
- guint16 n_local_entries;
- guint32 directory;
- guint32 n_attributes;
- guint32 attributes;
-
- guint32 dependencies;
-
- guint32 size;
- guint32 namespace;
- guint32 nsversion;
- guint32 shared_library;
- guint32 c_prefix;
-
- guint16 entry_blob_size;
- guint16 function_blob_size;
- guint16 callback_blob_size;
- guint16 signal_blob_size;
- guint16 vfunc_blob_size;
- guint16 arg_blob_size;
- guint16 property_blob_size;
- guint16 field_blob_size;
- guint16 value_blob_size;
- guint16 attribute_blob_size;
- guint16 constant_blob_size;
- guint16 error_domain_blob_size;
-
- guint16 signature_blob_size;
- guint16 enum_blob_size;
- guint16 struct_blob_size;
- guint16 object_blob_size;
- guint16 interface_blob_size;
- guint16 union_blob_size;
-
- guint32 sections;
-
- guint16 padding[6];
-} Header;
-</pre>
-<p>The header structure appears exactly once at the beginning of a typelib. It is a
-collection of meta-information, such as the number of entries and dependencies.</p>
-<div class="refsect3">
-<a name="Header.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> <em class="structfield"><code><a name="Header.magic"></a>magic</code></em>[16];</p></td>
-<td class="struct_member_description"><p>See <a class="link" href="gi-GITypelib.html#G-IR-MAGIC:CAPS" title="G_IR_MAGIC"><span class="type">G_IR_MAGIC</span></a>.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="Header.major-version"></a>major_version</code></em>;</p></td>
-<td class="struct_member_description"><p>The major version number of the typelib format. Major version
-number changes indicate incompatible changes to the tyeplib format.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="Header.minor-version"></a>minor_version</code></em>;</p></td>
-<td class="struct_member_description"><p>The minor version number of the typelib format. Minor version
-number changes indicate compatible changes and should still allow the
-typelib to be parsed by a parser designed for the same <em class="parameter"><code>major_version</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.reserved"></a>reserved</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.n-entries"></a>n_entries</code></em>;</p></td>
-<td class="struct_member_description"><p>The number of entries in the directory.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.n-local-entries"></a>n_local_entries</code></em>;</p></td>
-<td class="struct_member_description"><p>The number of entries referring to blobs in this typelib.
-The local entries must occur before the unresolved entries.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.directory"></a>directory</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of the directory in the typelib.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.n-attributes"></a>n_attributes</code></em>;</p></td>
-<td class="struct_member_description"><p>Number of attribute blocks</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.attributes"></a>attributes</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of the list of attributes in the typelib.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.dependencies"></a>dependencies</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of a single string, which is the list of immediate
-dependencies, separated by the '|' character. The dependencies are
-required in order to avoid having programs consuming a typelib check for
-an "Unresolved" type return from every API call.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.size"></a>size</code></em>;</p></td>
-<td class="struct_member_description"><p>The size in bytes of the typelib.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.namespace"></a>namespace</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of the namespace string in the typelib.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.nsversion"></a>nsversion</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of the namespace version string in the typelib.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.shared-library"></a>shared_library</code></em>;</p></td>
-<td class="struct_member_description"><p>This field is the set of shared libraries associated with
-the typelib. The entries are separated by the '|' (pipe) character.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.c-prefix"></a>c_prefix</code></em>;</p></td>
-<td class="struct_member_description"><p>The prefix for the function names of the library</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.entry-blob-size"></a>entry_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>The sizes of fixed-size blobs. Recording this information
-here allows to write parser which continue to work if the format is
-extended by adding new fields to the end of the fixed-size blobs.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.function-blob-size"></a>function_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.callback-blob-size"></a>callback_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.signal-blob-size"></a>signal_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.vfunc-blob-size"></a>vfunc_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.arg-blob-size"></a>arg_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.property-blob-size"></a>property_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.field-blob-size"></a>field_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.value-blob-size"></a>value_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.attribute-blob-size"></a>attribute_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.constant-blob-size"></a>constant_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.error-domain-blob-size"></a>error_domain_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.signature-blob-size"></a>signature_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.enum-blob-size"></a>enum_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.struct-blob-size"></a>struct_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.object-blob-size"></a>object_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.interface-blob-size"></a>interface_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>For variable-size blobs, the size of the struct up to
-the first flexible array member. Recording this information here allows
-to write parser which continue to work if the format is extended by
-adding new fields before the first flexible array member in
-variable-size blobs.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.union-blob-size"></a>union_blob_size</code></em>;</p></td>
-<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
-.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.sections"></a>sections</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of section blob array</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.padding"></a>padding</code></em>[6];</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SectionType"></a><h3>enum SectionType</h3>
-<p>TODO</p>
-<div class="refsect3">
-<a name="SectionType.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="GI-SECTION-END:CAPS"></a>GI_SECTION_END</p></td>
-<td class="enum_member_description">
-<p>TODO</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GI-SECTION-DIRECTORY-INDEX:CAPS"></a>GI_SECTION_DIRECTORY_INDEX</p></td>
-<td class="enum_member_description">
-<p>TODO</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="Section"></a><h3>Section</h3>
-<pre class="programlisting">typedef struct {
- guint32 id;
- guint32 offset;
-} Section;
-</pre>
-<p>A section is a blob of data that's (at least theoretically) optional,
-and may or may not be present in the typelib. Presently, just used
-for the directory index. This allows a form of dynamic extensibility
-with different tradeoffs from the format minor version.</p>
-<div class="refsect3">
-<a name="Section.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Section.id"></a>id</code></em>;</p></td>
-<td class="struct_member_description"><p>A <a class="link" href="gi-GITypelib.html#SectionType" title="enum SectionType"><span class="type">SectionType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Section.offset"></a>offset</code></em>;</p></td>
-<td class="struct_member_description"><p>Integer offset for this section</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="DirEntry"></a><h3>DirEntry</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type;
-
- guint16 local : 1;
- guint16 reserved :15;
- guint32 name;
- guint32 offset;
-} DirEntry;
-</pre>
-<p>References to directory entries are stored as 1-based 16-bit indexes.</p>
-<p>All blobs pointed to by a directory entry start with the same layout for
-the first 8 bytes (the reserved flags may be used by some blob types)</p>
-<div class="refsect3">
-<a name="DirEntry.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p>A <a class="link" href="gi-GITypelib.html#GTypelibBlobType" title="enum GTypelibBlobType"><span class="type">GTypelibBlobType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.local"></a>local</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Whether this entry refers to a blob in this typelib.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.reserved"></a>reserved</code></em> :15;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="DirEntry.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>The name of the entry.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="DirEntry.offset"></a>offset</code></em>;</p></td>
-<td class="struct_member_description"><p>If is_local is set, this is the offset of the blob in the typelib.
-Otherwise, it is the offset of the namespace in which the blob has to be
-looked up by name.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SimpleTypeBlobFlags"></a><h3>SimpleTypeBlobFlags</h3>
-<pre class="programlisting">typedef struct {
- guint reserved : 8;
- guint reserved2 :16;
- guint pointer : 1;
- guint reserved3 : 2;
- guint tag : 5;
-} SimpleTypeBlobFlags;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="SimpleTypeBlobFlags.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved"></a>reserved</code></em> : 8;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved2"></a>reserved2</code></em> :16;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.pointer"></a>pointer</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved3"></a>reserved3</code></em> : 2;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.tag"></a>tag</code></em> : 5;</p></td>
-<td class="struct_member_description"><p>A <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SimpleTypeBlob"></a><h3>SimpleTypeBlob</h3>
-<p>The SimpleTypeBlob is the general purpose "reference to a type" construct,
-used in method parameters, returns, callback definitions, fields, constants,
-etc. It's actually just a 32 bit integer which you can see from the union
-definition. This is for efficiency reasons, since there are so many
-references to types.</p>
-<p>SimpleTypeBlob is divided into two cases; first, if "reserved" and
-"reserved2", the type tag for a basic type is embedded in the "tag" bits.
-This allows e.g. GI_TYPE_TAG_UTF8, GI_TYPE_TAG_INT and the like to be
-embedded directly without taking up extra space.</p>
-<p>References to "interfaces" (objects, interfaces) are more complicated;
-In this case, the integer is actually an offset into the directory (see
-above). Because the header is larger than 2^8=256 bits, all offsets will
-have one of the upper 24 bits set.</p>
-<div class="refsect3">
-<a name="SimpleTypeBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="union_members_name">
-<col class="union_members_description">
-<col width="200px" class="union_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="union_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags"><span class="type">SimpleTypeBlobFlags</span></a> <em class="structfield"><code><a name="SimpleTypeBlob.flags"></a>flags</code></em>;</p></td>
-<td class="union_member_description"><p>TODO</p></td>
-<td class="union_member_annotations"> </td>
-</tr>
-<tr>
-<td class="union_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SimpleTypeBlob.offset"></a>offset</code></em>;</p></td>
-<td class="union_member_description"><p>Offset relative to header->types that points to a TypeBlob.
-Unlike other offsets, this is in words (ie 32bit units) rather
-than bytes.</p></td>
-<td class="union_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="ArgBlob"></a><h3>ArgBlob</h3>
-<pre class="programlisting">typedef struct {
- guint32 name;
-
- guint in : 1;
- guint out : 1;
- guint caller_allocates : 1;
- guint nullable : 1;
- guint optional : 1;
- guint transfer_ownership : 1;
- guint transfer_container_ownership : 1;
- guint return_value : 1;
- guint scope : 3;
- guint skip : 1;
- guint reserved :20;
- gint8 closure;
- gint8 destroy;
-
- guint16 padding;
-
- SimpleTypeBlob arg_type;
-} ArgBlob;
-</pre>
-<p>Types are specified by four bytes. If the three high bytes are zero,
-the low byte describes a basic type, otherwise the 32bit number is an
-offset which points to a TypeBlob.</p>
-<div class="refsect3">
-<a name="ArgBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ArgBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>A suggested name for the parameter.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.in"></a>in</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The parameter is an input to the function</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.out"></a>out</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The parameter is used to return an output of the function. Parameters
-can be both in and out. Out parameters implicitly add another level of
-indirection to the parameter type. Ie if the type is uint32 in an out
-parameter, the function actually takes an uint32*.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.caller-allocates"></a>caller_allocates</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The parameter is a pointer to a struct or object that
-will receive an output of the function.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.nullable"></a>nullable</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Only meaningful for types which are passed as pointers. For an
-in parameter, indicates if it is ok to pass NULL in. Gor an out
-parameter, indicates whether it may return NULL. Note that NULL is a
-valid GList and GSList value, thus allow_none will normally be set
-for parameters of these types.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.optional"></a>optional</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>For an out parameter, indicates that NULL may be passed in
-if the value is not needed.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.transfer-ownership"></a>transfer_ownership</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>For an in parameter, indicates that the function takes
-over ownership of the parameter value. For an out parameter, it indicates
-that the caller is responsible for freeing the return value.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.transfer-container-ownership"></a>transfer_container_ownership</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>For container types, indicates that the
-ownership of the container, but not of its contents is transferred.
-This is typically the case for out parameters returning lists of
-statically allocated things.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.return-value"></a>return_value</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The parameter should be considered the return value of the
-function. Only out parameters can be marked as return value, and there
-can be at most one per function call. If an out parameter is marked as
-return value, the actual return value of the function should be either
-void or a boolean indicating the success of the call.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.scope"></a>scope</code></em> : 3;</p></td>
-<td class="struct_member_description"><p>A <a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="type">GIScopeType</span></a>. If the parameter is of a callback type, this denotes
-the scope of the user_data and the callback function pointer itself
-(for languages that emit code at run-time).</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.skip"></a>skip</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Indicates that the parameter is only useful in C and should be skipped.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.reserved"></a>reserved</code></em> :20;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint8"><span class="type">gint8</span></a> <em class="structfield"><code><a name="ArgBlob.closure"></a>closure</code></em>;</p></td>
-<td class="struct_member_description"><p>Index of the closure (user_data) parameter associated with the
-callback, or -1.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint8"><span class="type">gint8</span></a> <em class="structfield"><code><a name="ArgBlob.destroy"></a>destroy</code></em>;</p></td>
-<td class="struct_member_description"><p>Index of the destroy notfication callback parameter associated
-with the callback, or -1.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArgBlob.padding"></a>padding</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArgBlob.arg-type"></a>arg_type</code></em>;</p></td>
-<td class="struct_member_description"><p>Describes the type of the parameter. See details below.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SignatureBlob"></a><h3>SignatureBlob</h3>
-<pre class="programlisting">typedef struct {
- SimpleTypeBlob return_type;
-
- guint16 may_return_null : 1;
- guint16 caller_owns_return_value : 1;
- guint16 caller_owns_return_container : 1;
- guint16 skip_return : 1;
- guint16 instance_transfer_ownership : 1;
- guint16 throws : 1;
- guint16 reserved :10;
-
- guint16 n_arguments;
-
- ArgBlob arguments[];
-} SignatureBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="SignatureBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="SignatureBlob.return-type"></a>return_type</code></em>;</p></td>
-<td class="struct_member_description"><p>Describes the type of the return value. See details below.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.may-return-null"></a>may_return_null</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Only relevant for pointer types. Indicates whether the
-caller must expect NULL as a return value.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.caller-owns-return-value"></a>caller_owns_return_value</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>If set, the caller is responsible for freeing
-the return value if it is no longer needed.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.caller-owns-return-container"></a>caller_owns_return_container</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>This flag is only relevant if the return type
-is a container type. If the flag is set, the caller is resonsible for
-freeing the container, but not its contents.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.skip-return"></a>skip_return</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Indicates that the return value is only useful in C and should
-be skipped.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.instance-transfer-ownership"></a>instance_transfer_ownership</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>When calling, the function assumes ownership of
-the instance parameter.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.throws"></a>throws</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Denotes the signature takes an additional <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> argument beyond
-the annotated arguments.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.reserved"></a>reserved</code></em> :10;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.n-arguments"></a>n_arguments</code></em>;</p></td>
-<td class="struct_member_description"><p>The number of arguments that this function expects, also the
-length of the array of ArgBlobs.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#ArgBlob" title="ArgBlob"><span class="type">ArgBlob</span></a> <em class="structfield"><code><a name="SignatureBlob.arguments"></a>arguments</code></em>[];</p></td>
-<td class="struct_member_description"><p>An array of ArgBlob for the arguments of the function.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CommonBlob"></a><h3>CommonBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type; /* 1 */
-
- guint16 deprecated : 1;
- guint16 reserved :15;
- guint32 name;
-} CommonBlob;
-</pre>
-<p>The <a class="link" href="gi-GITypelib.html#CommonBlob" title="CommonBlob"><span class="type">CommonBlob</span></a> is shared between <a class="link" href="gi-GITypelib.html#FunctionBlob" title="FunctionBlob"><span class="type">FunctionBlob</span></a>,
-<a class="link" href="gi-GITypelib.html#CallbackBlob" title="CallbackBlob"><span class="type">CallbackBlob</span></a>, <a class="link" href="gi-GITypelib.html#SignalBlob" title="SignalBlob"><span class="type">SignalBlob</span></a>.</p>
-<p>TODO</p>
-<div class="refsect3">
-<a name="CommonBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p>A <a class="link" href="gi-GITypelib.html#GTypelibBlobType" title="enum GTypelibBlobType"><span class="type">GTypelibBlobType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Whether the blob is deprecated.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.reserved"></a>reserved</code></em> :15;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CommonBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>The name of the blob.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="FunctionBlob"></a><h3>FunctionBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type; /* 1 */
-
- guint16 deprecated : 1;
- guint16 setter : 1;
- guint16 getter : 1;
- guint16 constructor : 1;
- guint16 wraps_vfunc : 1;
- guint16 throws : 1;
- guint16 index :10;
- /* Note the bits above need to match CommonBlob
- * and are thus exhausted, extend things using
- * the reserved block below. */
-
- guint32 name;
- guint32 symbol;
- guint32 signature;
-
- guint16 is_static : 1;
- guint16 reserved : 15;
- guint16 reserved2 : 16;
-} FunctionBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="FunctionBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p><a class="link" href="gi-GITypelib.html#BLOB-TYPE-FUNCTION:CAPS"><span class="type">BLOB_TYPE_FUNCTION</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The function is deprecated.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.setter"></a>setter</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The function is a setter for a property. Language bindings may
-prefer to not bind individual setters and rely on the generic
-<a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-set"><code class="function">g_object_set()</code></a>.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.getter"></a>getter</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The function is a getter for a property. Language bindings may
-prefer to not bind individual getters and rely on the generic
-<a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-get"><code class="function">g_object_get()</code></a>.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.constructor"></a>constructor</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The function acts as a constructor for the object it is
-contained in.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.wraps-vfunc"></a>wraps_vfunc</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The function is a simple wrapper for a virtual function.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.throws"></a>throws</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>This is now additionally stored in the <a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a>. </p></td>
-<td class="struct_member_annotations"><span class="annotation">[deprecated]</span></td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.index"></a>index</code></em> :10;</p></td>
-<td class="struct_member_description"><p>Index of the property that this function is a setter or getter of
-in the array of properties of the containing interface, or index
-of the virtual function that this function wraps.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.symbol"></a>symbol</code></em>;</p></td>
-<td class="struct_member_description"><p>The symbol which can be used to obtain the function pointer with
-<code class="function">dlsym()</code>.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.signature"></a>signature</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of the SignatureBlob describing the parameter types and the
-return value type.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.is-static"></a>is_static</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The function is a "static method"; in other words it's a pure
-function whose name is conceptually scoped to the object.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.reserved"></a>reserved</code></em> : 15;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.reserved2"></a>reserved2</code></em> : 16;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CallbackBlob"></a><h3>CallbackBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type; /* 2 */
-
- guint16 deprecated : 1;
- guint16 reserved :15;
- guint32 name;
- guint32 signature;
-} CallbackBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="CallbackBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.reserved"></a>reserved</code></em> :15;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CallbackBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CallbackBlob.signature"></a>signature</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of the <a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a> describing the parameter types and
-the return value type.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="InterfaceTypeBlob"></a><h3>InterfaceTypeBlob</h3>
-<pre class="programlisting">typedef struct {
- guint8 pointer :1;
- guint8 reserved :2;
- guint8 tag :5;
- guint8 reserved2;
- guint16 interface;
-} InterfaceTypeBlob;
-</pre>
-<p>If the interface is an enum of flags type, is_pointer is 0, otherwise it is 1.</p>
-<div class="refsect3">
-<a name="InterfaceTypeBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
-<td class="struct_member_description"><p>Whether this type represents an indirection</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.tag"></a>tag</code></em> :5;</p></td>
-<td class="struct_member_description"><p>A <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.reserved2"></a>reserved2</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.interface"></a>interface</code></em>;</p></td>
-<td class="struct_member_description"><p>Index of the directory entry for the interface.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="ArrayTypeDimension"></a><h3>ArrayTypeDimension</h3>
-<p>TODO</p>
-<div class="refsect3">
-<a name="ArrayTypeDimension.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="union_members_name">
-<col class="union_members_description">
-<col width="200px" class="union_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="union_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeDimension.length"></a>length</code></em>;</p></td>
-<td class="union_member_description"><p>TODO</p></td>
-<td class="union_member_annotations"> </td>
-</tr>
-<tr>
-<td class="union_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeDimension.size"></a>size</code></em>;</p></td>
-<td class="union_member_description"><p>TODO</p></td>
-<td class="union_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="ArrayTypeBlob"></a><h3>ArrayTypeBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 pointer :1;
- guint16 reserved :2;
- guint16 tag :5;
-
- guint16 zero_terminated :1;
- guint16 has_length :1;
- guint16 has_size :1;
- guint16 array_type :2;
- guint16 reserved2 :3;
-
- ArrayTypeDimension dimensions;
-
- SimpleTypeBlob type;
-} ArrayTypeBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="ArrayTypeBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.tag"></a>tag</code></em> :5;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.zero-terminated"></a>zero_terminated</code></em> :1;</p></td>
-<td class="struct_member_description"><p>Indicates that the array must be terminated by a suitable
-<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> value.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.has-length"></a>has_length</code></em> :1;</p></td>
-<td class="struct_member_description"><p>Indicates that length points to a parameter specifying the
-length of the array. If both has_length and zero_terminated are set, the
-convention is to pass -1 for the length if the array is zero-terminated.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.has-size"></a>has_size</code></em> :1;</p></td>
-<td class="struct_member_description"><p>Indicates that size is the fixed size of the array.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.array-type"></a>array_type</code></em> :2;</p></td>
-<td class="struct_member_description"><p>Indicates whether this is a C array, GArray, GPtrArray, or
-GByteArray. If something other than a C array, the length and element
-size are implicit in the structure.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.reserved2"></a>reserved2</code></em> :3;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#ArrayTypeDimension" title="ArrayTypeDimension"><span class="type">ArrayTypeDimension</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.dimensions"></a>dimensions</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="ParamTypeBlob"></a><h3>ParamTypeBlob</h3>
-<pre class="programlisting">typedef struct {
- guint8 pointer :1;
- guint8 reserved :2;
- guint8 tag :5;
-
- guint8 reserved2;
- guint16 n_types;
-
- SimpleTypeBlob type[];
-} ParamTypeBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="ParamTypeBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.tag"></a>tag</code></em> :5;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.reserved2"></a>reserved2</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ParamTypeBlob.n-types"></a>n_types</code></em>;</p></td>
-<td class="struct_member_description"><p>The number of parameter types to follow.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ParamTypeBlob.type"></a>type</code></em>[];</p></td>
-<td class="struct_member_description"><p>Describes the type of the list elements.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="ErrorTypeBlob"></a><h3>ErrorTypeBlob</h3>
-<pre class="programlisting">typedef struct {
- guint8 pointer :1;
- guint8 reserved :2;
- guint8 tag :5;
-
- guint8 reserved2;
-
- guint16 n_domains; /* Must be 0 */
- guint16 domains[];
-} ErrorTypeBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="ErrorTypeBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.tag"></a>tag</code></em> :5;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.reserved2"></a>reserved2</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.n-domains"></a>n_domains</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO: must be 0</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.domains"></a>domains</code></em>[];</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="ValueBlob"></a><h3>ValueBlob</h3>
-<pre class="programlisting">typedef struct {
- guint32 deprecated : 1;
- guint32 unsigned_value : 1;
- guint32 reserved :30;
- guint32 name;
- gint32 value;
-} ValueBlob;
-</pre>
-<p>Values commonly occur in enums and flags.</p>
-<div class="refsect3">
-<a name="ValueBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Whether this value is deprecated</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.unsigned-value"></a>unsigned_value</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>if set, value is a 32-bit unsigned integer cast to gint32</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.reserved"></a>reserved</code></em> :30;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>Name of blob</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="ValueBlob.value"></a>value</code></em>;</p></td>
-<td class="struct_member_description"><p>The numerical value</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="FieldBlob"></a><h3>FieldBlob</h3>
-<pre class="programlisting">typedef struct {
- guint32 name;
-
- guint8 readable :1;
- guint8 writable :1;
- guint8 has_embedded_type :1;
- guint8 reserved :5;
- guint8 bits;
-
- guint16 struct_offset;
-
- guint32 reserved2;
-
- SimpleTypeBlob type;
-} FieldBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="FieldBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FieldBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>The name of the field.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.readable"></a>readable</code></em> :1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.writable"></a>writable</code></em> :1;</p></td>
-<td class="struct_member_description"><p>How the field may be accessed.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.has-embedded-type"></a>has_embedded_type</code></em> :1;</p></td>
-<td class="struct_member_description"><p>An anonymous type follows the FieldBlob.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.reserved"></a>reserved</code></em> :5;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.bits"></a>bits</code></em>;</p></td>
-<td class="struct_member_description"><p>If this field is part of a bitfield, the number of bits which it
-uses, otherwise 0.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FieldBlob.struct-offset"></a>struct_offset</code></em>;</p></td>
-<td class="struct_member_description"><p>The offset of the field in the struct. The value 0xFFFF
-indicates that the struct offset is unknown.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FieldBlob.reserved2"></a>reserved2</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="FieldBlob.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>The type of the field.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="RegisteredTypeBlob"></a><h3>RegisteredTypeBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type;
- guint16 deprecated : 1;
- guint16 unregistered : 1;
- guint16 reserved :14;
- guint32 name;
-
- guint32 gtype_name;
- guint32 gtype_init;
-} RegisteredTypeBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="RegisteredTypeBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.reserved"></a>reserved</code></em> :14;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
-<td class="struct_member_description"><p>The name under which the type is registered with GType.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
-<td class="struct_member_description"><p>The symbol name of the get_type() function which registers the
-type.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="StructBlob"></a><h3>StructBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type;
-
- guint16 deprecated : 1;
- guint16 unregistered : 1;
- guint16 is_gtype_struct : 1;
- guint16 alignment : 6;
- guint16 foreign : 1;
- guint16 reserved : 6;
-
- guint32 name;
-
- guint32 gtype_name;
- guint32 gtype_init;
-
- guint32 size;
-
- guint16 n_fields;
- guint16 n_methods;
-
- guint32 reserved2;
- guint32 reserved3;
-} StructBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="StructBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p><a class="link" href="gi-GITypelib.html#BLOB-TYPE-STRUCT:CAPS"><span class="type">BLOB_TYPE_STRUCT</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Whether this structure is deprecated</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>If this is set, the type is not registered with GType.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.is-gtype-struct"></a>is_gtype_struct</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Whether this structure is the class or interface layout
-for a GObject</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.alignment"></a>alignment</code></em> : 6;</p></td>
-<td class="struct_member_description"><p>The byte boundary that the struct is aligned to in memory</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.foreign"></a>foreign</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>If the type is foreign, eg if it's expected to be overridden by
-a native language binding instead of relying of introspected bindings.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.reserved"></a>reserved</code></em> : 6;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
-<td class="struct_member_description"><p>String name of the associated <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
-<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.size"></a>size</code></em>;</p></td>
-<td class="struct_member_description"><p>The size of the struct in bytes.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.n-fields"></a>n_fields</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.n-methods"></a>n_methods</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.reserved2"></a>reserved2</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.reserved3"></a>reserved3</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="UnionBlob"></a><h3>UnionBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type;
- guint16 deprecated : 1;
- guint16 unregistered : 1;
- guint16 discriminated : 1;
- guint16 alignment : 6;
- guint16 reserved : 7;
- guint32 name;
-
- guint32 gtype_name;
- guint32 gtype_init;
-
- guint32 size;
-
- guint16 n_fields;
- guint16 n_functions;
-
- guint32 reserved2;
- guint32 reserved3;
-
- gint32 discriminator_offset;
- SimpleTypeBlob discriminator_type;
-} UnionBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="UnionBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>If this is set, the type is not registered with GType.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.discriminated"></a>discriminated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Is set if the union is discriminated</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.alignment"></a>alignment</code></em> : 6;</p></td>
-<td class="struct_member_description"><p>The byte boundary that the union is aligned to in memory</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.reserved"></a>reserved</code></em> : 7;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
-<td class="struct_member_description"><p>String name of the associated <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
-<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.size"></a>size</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.n-fields"></a>n_fields</code></em>;</p></td>
-<td class="struct_member_description"><p>Length of the arrays</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.n-functions"></a>n_functions</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.reserved2"></a>reserved2</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.reserved3"></a>reserved3</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="UnionBlob.discriminator-offset"></a>discriminator_offset</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset from the beginning of the union where the
-discriminator of a discriminated union is located. The value 0xFFFF
-indicates that the discriminator offset is unknown.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="UnionBlob.discriminator-type"></a>discriminator_type</code></em>;</p></td>
-<td class="struct_member_description"><p>Type of the discriminator</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="EnumBlob"></a><h3>EnumBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type;
-
- guint16 deprecated : 1;
- guint16 unregistered : 1;
- guint16 storage_type : 5;
- guint16 reserved : 9;
-
- guint32 name;
-
- guint32 gtype_name;
- guint32 gtype_init;
-
- guint16 n_values;
- guint16 n_methods;
-
- guint32 error_domain;
-
- ValueBlob values[];
-} EnumBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="EnumBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>If this is set, the type is not registered with GType.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.storage-type"></a>storage_type</code></em> : 5;</p></td>
-<td class="struct_member_description"><p>The tag of the type used for the enum in the C ABI
-(will be a signed or unsigned integral type)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.reserved"></a>reserved</code></em> : 9;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
-<td class="struct_member_description"><p>String name of the associated <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
-<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.n-values"></a>n_values</code></em>;</p></td>
-<td class="struct_member_description"><p>The length of the values array.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.n-methods"></a>n_methods</code></em>;</p></td>
-<td class="struct_member_description"><p>The length of the methods array.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.error-domain"></a>error_domain</code></em>;</p></td>
-<td class="struct_member_description"><p>String naming the <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> domain this enum is associated with</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#ValueBlob" title="ValueBlob"><span class="type">ValueBlob</span></a> <em class="structfield"><code><a name="EnumBlob.values"></a>values</code></em>[];</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="PropertyBlob"></a><h3>PropertyBlob</h3>
-<pre class="programlisting">typedef struct {
- guint32 name;
-
- guint32 deprecated : 1;
- guint32 readable : 1;
- guint32 writable : 1;
- guint32 construct : 1;
- guint32 construct_only : 1;
- guint32 transfer_ownership : 1;
- guint32 transfer_container_ownership : 1;
- guint32 reserved :25;
-
- guint32 reserved2;
-
- SimpleTypeBlob type;
-} PropertyBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="PropertyBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>The name of the property.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.readable"></a>readable</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.writable"></a>writable</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.construct"></a>construct</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.construct-only"></a>construct_only</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The ParamFlags used when registering the property.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.transfer-ownership"></a>transfer_ownership</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>When writing, the type containing the property takes
-ownership of the value. When reading, the returned value needs to be
-released by the caller.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.transfer-container-ownership"></a>transfer_container_ownership</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>For container types indicates that the
-ownership of the container, but not of its contents, is transferred.
-This is typically the case when reading lists of statically allocated
-things.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.reserved"></a>reserved</code></em> :25;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.reserved2"></a>reserved2</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="PropertyBlob.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>Describes the type of the property.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SignalBlob"></a><h3>SignalBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 deprecated : 1;
- guint16 run_first : 1;
- guint16 run_last : 1;
- guint16 run_cleanup : 1;
- guint16 no_recurse : 1;
- guint16 detailed : 1;
- guint16 action : 1;
- guint16 no_hooks : 1;
- guint16 has_class_closure : 1;
- guint16 true_stops_emit : 1;
- guint16 reserved : 6;
-
- guint16 class_closure;
-
- guint32 name;
-
- guint32 reserved2;
-
- guint32 signature;
-} SignalBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="SignalBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.run-first"></a>run_first</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.run-last"></a>run_last</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.run-cleanup"></a>run_cleanup</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.no-recurse"></a>no_recurse</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.detailed"></a>detailed</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.action"></a>action</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.no-hooks"></a>no_hooks</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>The flags used when registering the signal.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.has-class-closure"></a>has_class_closure</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Set if the signal has a class closure.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.true-stops-emit"></a>true_stops_emit</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Whether the signal has true-stops-emit semantics</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.reserved"></a>reserved</code></em> : 6;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.class-closure"></a>class_closure</code></em>;</p></td>
-<td class="struct_member_description"><p>The index of the class closure in the list of virtual
-functions of the object or interface on which the signal is defined.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>The name of the signal.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.reserved2"></a>reserved2</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.signature"></a>signature</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of the SignatureBlob describing the parameter types
-and the return value type.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="VFuncBlob"></a><h3>VFuncBlob</h3>
-<pre class="programlisting">typedef struct {
- guint32 name;
-
- guint16 must_chain_up : 1;
- guint16 must_be_implemented : 1;
- guint16 must_not_be_implemented : 1;
- guint16 class_closure : 1;
- guint16 throws : 1;
- guint16 reserved :11;
- guint16 signal;
-
- guint16 struct_offset;
- guint16 invoker : 10; /* Number of bits matches @index in FunctionBlob */
- guint16 reserved2 : 6;
-
- guint32 reserved3;
- guint32 signature;
-} VFuncBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="VFuncBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>The name of the virtual function.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.must-chain-up"></a>must_chain_up</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>If set, every implementation of this virtual function must
-chain up to the implementation of the parent class.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.must-be-implemented"></a>must_be_implemented</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>If set, every derived class must override this virtual
-function.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.must-not-be-implemented"></a>must_not_be_implemented</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>If set, derived class must not override this
-virtual function.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.class-closure"></a>class_closure</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>Set if this virtual function is the class closure of a
-signal.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.throws"></a>throws</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>This is now additionally stored in the <a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a>. </p></td>
-<td class="struct_member_annotations"><span class="annotation">[deprecated]</span></td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved"></a>reserved</code></em> :11;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.signal"></a>signal</code></em>;</p></td>
-<td class="struct_member_description"><p>The index of the signal in the list of signals of the object or
-interface to which this virtual function belongs.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.struct-offset"></a>struct_offset</code></em>;</p></td>
-<td class="struct_member_description"><p>The offset of the function pointer in the class struct.
-The value 0xFFFF indicates that the struct offset is unknown.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.invoker"></a>invoker</code></em> : 10;</p></td>
-<td class="struct_member_description"><p>If a method invoker for this virtual exists, this is the offset
-in the class structure of the method. If no method is known, this value
-will be 0x3ff.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved2"></a>reserved2</code></em> : 6;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved3"></a>reserved3</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.signature"></a>signature</code></em>;</p></td>
-<td class="struct_member_description"><p>Offset of the SignatureBlob describing the parameter types and
-the return value type.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="ObjectBlob"></a><h3>ObjectBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type; /* 7 */
- guint16 deprecated : 1;
- guint16 abstract : 1;
- guint16 fundamental : 1;
- guint16 reserved :13;
- guint32 name;
-
- guint32 gtype_name;
- guint32 gtype_init;
-
- guint16 parent;
- guint16 gtype_struct;
-
- guint16 n_interfaces;
- guint16 n_fields;
- guint16 n_properties;
- guint16 n_methods;
- guint16 n_signals;
- guint16 n_vfuncs;
- guint16 n_constants;
- guint16 n_field_callbacks;
-
- guint32 ref_func;
- guint32 unref_func;
- guint32 set_value_func;
- guint32 get_value_func;
-
- guint32 reserved3;
- guint32 reserved4;
-
- guint16 interfaces[];
-} ObjectBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="ObjectBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p><a class="link" href="gi-GITypelib.html#BLOB-TYPE-OBJECT:CAPS"><span class="type">BLOB_TYPE_OBJECT</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.abstract"></a>abstract</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.fundamental"></a>fundamental</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>this object is not a GObject derived type, instead it's
-an additional fundamental type.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved"></a>reserved</code></em> :13;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
-<td class="struct_member_description"><p>String name of the associated <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
-<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.parent"></a>parent</code></em>;</p></td>
-<td class="struct_member_description"><p>The directory index of the parent type. This is only set for
-objects. If an object does not have a parent, it is zero.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.gtype-struct"></a>gtype_struct</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-interfaces"></a>n_interfaces</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-fields"></a>n_fields</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-properties"></a>n_properties</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-methods"></a>n_methods</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-signals"></a>n_signals</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-vfuncs"></a>n_vfuncs</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-constants"></a>n_constants</code></em>;</p></td>
-<td class="struct_member_description"><p>The lengths of the arrays.Up to 16bits of padding may be
-inserted between the arrays to ensure that they start on a 32bit
-boundary.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-field-callbacks"></a>n_field_callbacks</code></em>;</p></td>
-<td class="struct_member_description"><p>The number of n_fields which are also callbacks.
-This is used to calculate the fields section size in constant time.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.ref-func"></a>ref_func</code></em>;</p></td>
-<td class="struct_member_description"><p>String pointing to a function which can be called to increase
-the reference count for an instance of this object type.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.unref-func"></a>unref_func</code></em>;</p></td>
-<td class="struct_member_description"><p>String pointing to a function which can be called to decrease
-the reference count for an instance of this object type.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.set-value-func"></a>set_value_func</code></em>;</p></td>
-<td class="struct_member_description"><p>String pointing to a function which can be called to
-convert a pointer of this object to a GValue</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.get-value-func"></a>get_value_func</code></em>;</p></td>
-<td class="struct_member_description"><p>String pointing to a function which can be called to
-convert extract a pointer to this object from a GValue</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved3"></a>reserved3</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved4"></a>reserved4</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.interfaces"></a>interfaces</code></em>[];</p></td>
-<td class="struct_member_description"><p>An array of indices of directory entries for the implemented
-interfaces.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="InterfaceBlob"></a><h3>InterfaceBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type;
- guint16 deprecated : 1;
- guint16 reserved :15;
- guint32 name;
-
- guint32 gtype_name;
- guint32 gtype_init;
- guint16 gtype_struct;
-
- guint16 n_prerequisites;
- guint16 n_properties;
- guint16 n_methods;
- guint16 n_signals;
- guint16 n_vfuncs;
- guint16 n_constants;
-
- guint16 padding;
-
- guint32 reserved2;
- guint32 reserved3;
-
- guint16 prerequisites[];
-} InterfaceBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="InterfaceBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved"></a>reserved</code></em> :15;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.gtype-struct"></a>gtype_struct</code></em>;</p></td>
-<td class="struct_member_description"><p>Name of the interface "class" C structure</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-prerequisites"></a>n_prerequisites</code></em>;</p></td>
-<td class="struct_member_description"><p>Number of prerequisites</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-properties"></a>n_properties</code></em>;</p></td>
-<td class="struct_member_description"><p>Number of properties</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-methods"></a>n_methods</code></em>;</p></td>
-<td class="struct_member_description"><p>Number of methods</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-signals"></a>n_signals</code></em>;</p></td>
-<td class="struct_member_description"><p>Number of signals</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-vfuncs"></a>n_vfuncs</code></em>;</p></td>
-<td class="struct_member_description"><p>Number of virtual functions</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-constants"></a>n_constants</code></em>;</p></td>
-<td class="struct_member_description"><p>The lengths of the arrays. Up to 16bits of padding may be
-inserted between the arrays to ensure that they start on a 32bit
-boundary.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.padding"></a>padding</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved2"></a>reserved2</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved3"></a>reserved3</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.prerequisites"></a>prerequisites</code></em>[];</p></td>
-<td class="struct_member_description"><p>An array of indices of directory entries for required
-interfaces.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="ConstantBlob"></a><h3>ConstantBlob</h3>
-<pre class="programlisting">typedef struct {
- guint16 blob_type;
- guint16 deprecated : 1;
- guint16 reserved :15;
- guint32 name;
-
- SimpleTypeBlob type;
-
- guint32 size;
- guint32 offset;
-
- guint32 reserved2;
-} ConstantBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="ConstantBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.blob-type"></a>blob_type</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.reserved"></a>reserved</code></em> :15;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>TODO</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ConstantBlob.type"></a>type</code></em>;</p></td>
-<td class="struct_member_description"><p>The type of the value. In most cases this should be a numeric type
-or string.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.size"></a>size</code></em>;</p></td>
-<td class="struct_member_description"><p>The size of the value in bytes.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.offset"></a>offset</code></em>;</p></td>
-<td class="struct_member_description"><p>The offset of the value in the typelib.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.reserved2"></a>reserved2</code></em>;</p></td>
-<td class="struct_member_description"><p>Reserved for future use.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="AttributeBlob"></a><h3>AttributeBlob</h3>
-<pre class="programlisting">typedef struct {
- guint32 offset;
- guint32 name;
- guint32 value;
-} AttributeBlob;
-</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="AttributeBlob.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="struct_members_name">
-<col class="struct_members_description">
-<col width="200px" class="struct_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.offset"></a>offset</code></em>;</p></td>
-<td class="struct_member_description"><p>The offset of the typelib entry to which this attribute refers.
-Attributes are kept sorted by offset, so that the attributes of an
-entry can be found by a binary search.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.name"></a>name</code></em>;</p></td>
-<td class="struct_member_description"><p>The name of the attribute, a string.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.value"></a>value</code></em>;</p></td>
-<td class="struct_member_description"><p>The value of the attribute (also a string)</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GITypelibError"></a><h3>enum GITypelibError</h3>
-<p>A error set while validating the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
-<div class="refsect3">
-<a name="GITypelibError.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID:CAPS"></a>G_TYPELIB_ERROR_INVALID</p></td>
-<td class="enum_member_description">
-<p>the typelib is invalid</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-HEADER:CAPS"></a>G_TYPELIB_ERROR_INVALID_HEADER</p></td>
-<td class="enum_member_description">
-<p>the typelib header is invalid</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-DIRECTORY:CAPS"></a>G_TYPELIB_ERROR_INVALID_DIRECTORY</p></td>
-<td class="enum_member_description">
-<p>the typelib directory is invalid</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-ENTRY:CAPS"></a>G_TYPELIB_ERROR_INVALID_ENTRY</p></td>
-<td class="enum_member_description">
-<p>a typelib entry is invalid</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-BLOB:CAPS"></a>G_TYPELIB_ERROR_INVALID_BLOB</p></td>
-<td class="enum_member_description">
-<p>a typelib blob is invalid</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="G-TYPELIB-ERROR:CAPS"></a><h3>G_TYPELIB_ERROR</h3>
-<pre class="programlisting">#define G_TYPELIB_ERROR (g_typelib_error_quark ())
-</pre>
-<p>TODO</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GITypelibHashBuilder"></a><h3>GITypelibHashBuilder</h3>
-<pre class="programlisting">typedef struct _GITypelibHashBuilder GITypelibHashBuilder;</pre>
<p>TODO</p>
</div>
</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIUnionInfo: GObject Introspection Reference Manual</title>
+<title>GIUnionInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GIStructInfo.html" title="GIStructInfo">
<link rel="next" href="gi-GIObjectInfo.html" title="GIObjectInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-giobjectinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----<a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
+----GIUnionInfo
</pre>
</div>
<div class="refsect3">
<a name="g-union-info-get-field.returns"></a><h4>Returns</h4>
-<p>the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+<p>the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>, free it with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-union-info-get-method.returns"></a><h4>Returns</h4>
-<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-union-info-get-discriminator-type.returns"></a><h4>Returns</h4>
-<p>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+<p>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>, free it with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-union-info-get-discriminator.returns"></a><h4>Returns</h4>
-<p>the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+<p>the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>, free it with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<div class="refsect3">
<a name="g-union-info-find-method.returns"></a><h4>Returns</h4>
-<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+<p>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIVFuncInfo: GObject Introspection Reference Manual</title>
+<title>GIVFuncInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GISignalInfo.html" title="GISignalInfo">
<link rel="next" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<div class="refsect1">
<a name="gi-givfuncinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+----<a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+----<a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
<div class="refsect3">
<a name="g-vfunc-info-get-invoker.returns"></a><h4>Returns</h4>
<p>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<a class="link" href="GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_vfunc_info_invoke (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> implementor</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
<em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
<em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Invokes the function described in <em class="parameter"><code>info</code></em>
with the given
</tr>
<tr>
<td class="parameter_name"><p>in_args</p></td>
-<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each in
+<td class="parameter_description"><p>an array of <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each in
parameter of <em class="parameter"><code>info</code></em>
. If there are no in parameter, <em class="parameter"><code>in_args</code></em>
can be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
</tr>
<tr>
<td class="parameter_name"><p>out_args</p></td>
-<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each out
+<td class="parameter_description"><p>an array of <a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each out
parameter of <em class="parameter"><code>info</code></em>
. If there are no out parameters, <em class="parameter"><code>out_args</code></em>
may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIValueInfo: GObject Introspection Reference Manual</title>
+<title>GIValueInfo: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
<link rel="prev" href="gi-GITypeInfo.html" title="GITypeInfo">
-<link rel="next" href="gi-typelib.html" title="GITypelib">
+<link rel="next" href="ch02.html" title="FFI Interface">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gi-GITypeInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi-typelib.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="ch02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gi-GIValueInfo"></a><div class="titlepage"></div>
<div class="refsect1">
<a name="gi-givalueinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+----GIValueInfo
</pre>
</div>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Version Information: libgirepository API Reference</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="index.html" title="libgirepository API Reference">
+<link rel="prev" href="gi-GITypelib.html" title="GITypelib">
+<link rel="next" href="gi-Common-Types.html" title="Common Types">
+<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#gi-Version-Information.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="gi-GITypelib.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-Common-Types.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gi-Version-Information"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gi-Version-Information.top_of_page"></a>Version Information</span></h2>
+<p>Version Information — macros and functions to check the girepository version</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gi-Version-Information.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-Version-Information.html#GI-CHECK-VERSION:CAPS" title="GI_CHECK_VERSION()">GI_CHECK_VERSION</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-Version-Information.html#gi-get-major-version" title="gi_get_major_version ()">gi_get_major_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-Version-Information.html#gi-get-minor-version" title="gi_get_minor_version ()">gi_get_minor_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-Version-Information.html#gi-get-micro-version" title="gi_get_micro_version ()">gi_get_micro_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-Version-Information.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gi-Version-Information.html#GI-MAJOR-VERSION:CAPS" title="GI_MAJOR_VERSION">GI_MAJOR_VERSION</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gi-Version-Information.html#GI-MINOR-VERSION:CAPS" title="GI_MINOR_VERSION">GI_MINOR_VERSION</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gi-Version-Information.html#GI-MICRO-VERSION:CAPS" title="GI_MICRO_VERSION">GI_MICRO_VERSION</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-Version-Information.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="gi-Version-Information.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="GI-CHECK-VERSION:CAPS"></a><h3>GI_CHECK_VERSION()</h3>
+<pre class="programlisting">#define GI_CHECK_VERSION(major,minor,micro)</pre>
+<p>Checks the version of the girepository library that is being compiled
+against.</p>
+<div class="refsect3">
+<a name="GI-CHECK-VERSION.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>major</p></td>
+<td class="parameter_description"><p>the major version to check for</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>minor</p></td>
+<td class="parameter_description"><p>the minor version to check for</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>micro</p></td>
+<td class="parameter_description"><p>the micro version to check for</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="GI-CHECK-VERSION.returns"></a><h4>Returns</h4>
+<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the version of the girepository header files
+is the same as or newer than the passed-in version.</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-60.html#api-index-1.60">1.60</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gi-get-major-version"></a><h3>gi_get_major_version ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gi_get_major_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Returns the major version number of the girepository library.
+(e.g. in version 1.58.2 this is 1.)</p>
+<div class="refsect3">
+<a name="gi-get-major-version.returns"></a><h4>Returns</h4>
+<p> the major version number of the girepository library</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-60.html#api-index-1.60">1.60</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gi-get-minor-version"></a><h3>gi_get_minor_version ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gi_get_minor_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Returns the minor version number of the girepository library.
+(e.g. in version 1.58.2 this is 58.)</p>
+<div class="refsect3">
+<a name="gi-get-minor-version.returns"></a><h4>Returns</h4>
+<p> the minor version number of the girepository library</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-60.html#api-index-1.60">1.60</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gi-get-micro-version"></a><h3>gi_get_micro_version ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gi_get_micro_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Returns the micro version number of the girepository library.
+(e.g. in version 1.58.2 this is 2.)</p>
+<div class="refsect3">
+<a name="gi-get-micro-version.returns"></a><h4>Returns</h4>
+<p> the micro version number of the girepository library</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-60.html#api-index-1.60">1.60</a></p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-Version-Information.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GI-MAJOR-VERSION:CAPS"></a><h3>GI_MAJOR_VERSION</h3>
+<pre class="programlisting">#define GI_MAJOR_VERSION 1
+</pre>
+<p>The major version number of the girepository library.</p>
+<p class="since">Since: <a class="link" href="api-index-1-60.html#api-index-1.60">1.60</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GI-MINOR-VERSION:CAPS"></a><h3>GI_MINOR_VERSION</h3>
+<pre class="programlisting">#define GI_MINOR_VERSION 59
+</pre>
+<p>The minor version number of the girepository library.</p>
+<p class="since">Since: <a class="link" href="api-index-1-60.html#api-index-1.60">1.60</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GI-MICRO-VERSION:CAPS"></a><h3>GI_MICRO_VERSION</h3>
+<pre class="programlisting">#define GI_MICRO_VERSION 1
+</pre>
+<p>The micro version number of the girepository library.</p>
+<p class="since">Since: <a class="link" href="api-index-1-60.html#api-index-1.60">1.60</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.28</div>
+</body>
+</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Compiling the GObject Introspection package: GObject Introspection Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="overview.html" title="Part I. GObject-Introspection Overview">
-<link rel="prev" href="overview.html" title="Part I. GObject-Introspection Overview">
-<link rel="next" href="gi-programming.html" title="Writing introspected libraries">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="overview.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi-programming.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gi-building"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle">Compiling the GObject Introspection package</span></h2>
-<p>Compiling the GObject Introspection Package — How to compile GObject Introspection itself</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="gi-buildtools"></a><h2>Building on UNIX</h2>
-<p>
- On UNIX, GObject Introspection uses the standard GNU build system,
- using <span class="application">autoconf</span> for package
- configuration and resolving portability issues,
- <span class="application">automake</span> for building makefiles
- that comply with the GNU Coding Standards, and
- <span class="application">libtool</span> for building shared
- libraries on multiple platforms. The normal sequence for
- compiling and installing the GObject Introspection package is thus:
-
- </p>
-<div class="literallayout"><p><br>
- <strong class="userinput"><code>./configure</code></strong><br>
- <strong class="userinput"><code>make</code></strong><br>
- <strong class="userinput"><code>make install</code></strong><br>
- </p></div>
-<p>
- </p>
-<p>
- The standard options provided by <span class="application">GNU
- autoconf</span> may be passed to the
- <span class="command"><strong>configure</strong></span> script. Please see the
- <span class="application">autoconf</span> documentation or run
- <span class="command"><strong>./configure --help</strong></span> for information about
- the standard options.
- </p>
-</div>
-<div class="refsect1">
-<a name="dependencies"></a><h2>Dependencies</h2>
-<p>
- Before you can compile GObject Introspection, you need to have
- various other tools and libraries installed on your
- system. The tools needed during the build process (as
- differentiated from the basic build tools mentioned
- <a class="link" href="gi-building.html#gi-buildtools" title="Building on UNIX">before</a> are:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
- <a class="ulink" href="http://www.freedesktop.org/software/pkgconfig/" target="_top">pkg-config</a>
- is a tool for tracking the compilation flags needed for
- libraries that are used by the GObjecct Introspection. (For each
- library, a small <code class="literal">.pc</code> text file is
- installed in a standard location that contains the compilation
- flags needed for that library along with version number
- information.)
- </p></li>
-<li class="listitem"><p>
- The GObject-Introspection makefiles will mostly work with different
- versions of <span class="command"><strong>make</strong></span>, however, there tends to be a
- few incompatibilities, so the GObject-Introspection team recommends
- installing <a class="ulink" href="http://www.gnu.org/software/make" target="_top">GNU
- make</a> if you don't already have it on your system
- and using it. (It may be called <span class="command"><strong>gmake</strong></span>
- rather than <span class="command"><strong>make</strong></span>.)
- </p></li>
-</ul></div>
-<p>
- GObject-Introspection depends on a number of libraries and tools
- maintained under the umbrella of the GNOME project:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
- The GLib library provides core non-graphical functionality
- such as high level data types, Unicode manipulation, and
- an object and type system to C programs. It is available
- from the <a class="ulink" href="ftp.gnome.org/pub/gnome/sources/glib" target="_top">GNOME
- FTP site</a> or
- <a class="ulink" href="http://download.gnome.org/sources/glib/" target="_top">here</a>.
- </p></li>
-<li class="listitem"><p>
- TODO: GTK-Doc
- </p></li>
-</ul></div>
-<div class="itemizedlist">
-<p class="title"><b>External dependencies</b></p>
-<ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
- Python
- </p></li>
-<li class="listitem"><p>
- GObject Introspection has an option dependency on the
- <a class="ulink" href="TODO" target="_top">libffi</a> library. When available,
- ...
- </p></li>
-<li class="listitem">
-<p>
- </p>
-<p>
- <a class="ulink" href="http://www.cairographics.org" target="_top">Cairo</a>
- is a graphics library that supports vector graphics and image
- compositing. When available, GObject Introspection uses
- Cairo in its unit tests.
- </p>
-<p>
- </p>
-</li>
-</ul>
-</div>
-</div>
-<div class="refsect1">
-<a name="extra-configuration-options"></a><h2>Extra Configuration Options</h2>
-<p>
- In addition to the normal options, the
- <span class="command"><strong>configure</strong></span> script in the GObject Introspection
- package supports these additional arguments:
- </p>
-<p><b><code class="systemitem">--disable-Bsymbolic</code> and
- <code class="systemitem">--enable-Bsymbolic</code>. </b>
- By default, the GObject Introspection package uses the
- -Bsymbolic-functions linker flag to avoid intra-library
- PLT jumps. A side-effect of this is that it is no longer
- possible to override internal uses of GObject Introspection
- functions with <code class="envar">LD_PRELOAD</code>. Therefore, it may
- make sense to turn this feature off in some situations.
- The <code class="option">--disable-Bsymbolic</code> option allows
- to do that.
- </p>
-<p><b><code class="systemitem">--disable-gtk-doc</code> and
- <code class="systemitem">--enable-gtk-doc</code>. </b>
- By default the <span class="command"><strong>configure</strong></span> script will try
- to auto-detect whether the
- <span class="application">gtk-doc</span> package is installed.
- If it is, then it will use it to extract and build the
- documentation for the GObject Introspection package. These options
- can be used to explicitly control whether
- <span class="application">gtk-doc</span> should be
- used or not. If it is not used, the distributed,
- pre-generated HTML files will be installed instead of
- building them on your machine.
- </p>
-<p><b><code class="systemitem">--disable-doctool</code> and
- <code class="systemitem">--enable-doctool</code>. </b>
- TODO
- </p>
-<p><b><code class="systemitem">--with-python</code>. </b>
- Allows specifying the Python interpreter to use, either as an
- absolute path, or as a program name. GObject Introspection can
- be built with Python 2 (at least version 2.6) but does not yet
- support Python 3.
- </p>
-</div>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>The GIR XML format: GObject Introspection Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch03.html" title="TODO">
-<link rel="prev" href="gi-girffi.html" title="girffi">
-<link rel="next" href="api-index-full.html" title="Index">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gi-girffi.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gi-gir-reference"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gi-gir-reference.top_of_page"></a>The GIR XML format</span></h2>
-<p>The GIR XML format — The GIR XML format</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<p>
- This chapter describes the GIR XML markup format. This describes exported C
- API, including documentation. It may contain installation-specific data,
- such as library filenames which may differ between platforms.
- </p>
-<div class="refsect2">
-<a name="gi-gir-api-node"></a><h3>
-<span class="emphasis"><em>api</em></span> node</h3>
-
- The root node of all GIR documents is the api node.
-
- Possible children: <a class="link" href="gi-gir-reference.html#gi-gir-namespace" title="namespace node">namespace</a>.
-
- <div class="example">
-<a name="id-1.4.4.3.4.3"></a><p class="title"><b>Example 4. A GIR fragment showing an api node</b></p>
-<div class="example-contents">
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
- <tbody>
- <tr>
- <td class="listing_lines" align="right"><pre>1
-2
-3</pre></td>
- <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt"><</span>api version<span class="gtkdoc opt">=</span><span class="string">"1.0"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span><span class="keyword">namespace</span><span class="gtkdoc opt">/></span>
-<span class="gtkdoc opt"></</span>api<span class="gtkdoc opt">></span></pre></td>
- </tr>
- </tbody>
- </table>
-</div>
-
-</div>
-<br class="example-break">
-</div>
-<hr>
-<div class="refsect2">
-<a name="gi-gir-namespace"></a><h3>
-<span class="emphasis"><em>namespace</em></span> node</h3>
-
- Parent node: api.
- Possible children: callback,
- <a class="link" href="gi-gir-reference.html#gi-gir-class" title="class node">class</a>,
- <a class="link" href="gi-gir-reference.html#gi-gir-function" title="function node">function</a>.
- <a class="link" href="gi-gir-reference.html#gi-gir-interface" title="interface node">interface</a>.
-
- <div class="example">
-<a name="id-1.4.4.3.5.7"></a><p class="title"><b>Example 5. A GIR fragment showing an namespace node</b></p>
-<div class="example-contents">
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
- <tbody>
- <tr>
- <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6</pre></td>
- <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt"><</span>api version<span class="gtkdoc opt">=</span><span class="string">"1.0"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span><span class="keyword">namespace</span><span class="gtkdoc opt">=</span><span class="string">"Gtk"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span><span class="gtkdoc kwc">class</span><span class="gtkdoc opt">/></span>
- <span class="gtkdoc opt"><</span>function<span class="gtkdoc opt">/></span>
- <span class="gtkdoc opt"></</span><span class="keyword">namespace</span><span class="gtkdoc opt">></span>
-<span class="gtkdoc opt"></</span>api<span class="gtkdoc opt">></span></pre></td>
- </tr>
- </tbody>
- </table>
-</div>
-
-</div>
-<br class="example-break">
-</div>
-<hr>
-<div class="refsect2">
-<a name="gi-gir-class"></a><h3>
-<span class="emphasis"><em>class</em></span> node</h3>
-
- Parent node: <a class="link" href="gi-gir-reference.html#gi-gir-namespace" title="namespace node">namespace</a>.
- Possible children: <a class="link" href="gi-gir-reference.html#gi-gir-class" title="class node">constructor</a>,
- field,
- method,
- property.
- <div class="example">
-<a name="id-1.4.4.3.6.7"></a><p class="title"><b>Example 6. A GIR fragment showing an class node</b></p>
-<div class="example-contents">
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
- <tbody>
- <tr>
- <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9
-10</pre></td>
- <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt"><</span>api version<span class="gtkdoc opt">=</span><span class="string">"1.0"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span><span class="keyword">namespace</span><span class="gtkdoc opt">=</span><span class="string">"Gtk"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span><span class="gtkdoc kwc">class</span> name<span class="gtkdoc opt">=</span><span class="string">"Widget"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span>constructor<span class="gtkdoc opt">/></span>
- <span class="gtkdoc opt"><</span>field<span class="gtkdoc opt">/></span>
- <span class="gtkdoc opt"><</span>method<span class="gtkdoc opt">/></span>
- <span class="gtkdoc opt"><</span>property<span class="gtkdoc opt">/></span>
- <span class="gtkdoc opt"><</span><span class="gtkdoc kwc">class</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"></</span><span class="keyword">namespace</span><span class="gtkdoc opt">></span>
-<span class="gtkdoc opt"></</span>api<span class="gtkdoc opt">></span></pre></td>
- </tr>
- </tbody>
- </table>
-</div>
-
-</div>
-<br class="example-break">
-</div>
-<hr>
-<div class="refsect2">
-<a name="gi-gir-interface"></a><h3>
-<span class="emphasis"><em>interface</em></span> node</h3>
-
- Parent node: <a class="link" href="gi-gir-reference.html#gi-gir-namespace" title="namespace node">namespace</a>.
- Possible children: field,
- method,
- property.
- <div class="example">
-<a name="id-1.4.4.3.7.6"></a><p class="title"><b>Example 7. A GIR fragment showing an interface node</b></p>
-<div class="example-contents">
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
- <tbody>
- <tr>
- <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9</pre></td>
- <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt"><</span>api version<span class="gtkdoc opt">=</span><span class="string">"1.0"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span><span class="keyword">namespace</span><span class="gtkdoc opt">=</span><span class="string">"Gtk"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span>interface name<span class="gtkdoc opt">=</span><span class="string">"Buildable"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span>field<span class="gtkdoc opt">/></span>
- <span class="gtkdoc opt"><</span>method<span class="gtkdoc opt">/></span>
- <span class="gtkdoc opt"><</span>property<span class="gtkdoc opt">/></span>
- <span class="gtkdoc opt"><</span>interface<span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"></</span><span class="keyword">namespace</span><span class="gtkdoc opt">></span>
-<span class="gtkdoc opt"></</span>api<span class="gtkdoc opt">></span></pre></td>
- </tr>
- </tbody>
- </table>
-</div>
-
-</div>
-<br class="example-break">
-</div>
-<hr>
-<div class="refsect2">
-<a name="gi-gir-function"></a><h3>
-<span class="emphasis"><em>function</em></span> node</h3>
-
- Parent node: <a class="link" href="gi-gir-reference.html#gi-gir-namespace" title="namespace node">namespace</a>.
- <div class="example">
-<a name="id-1.4.4.3.8.3"></a><p class="title"><b>Example 8. A GIR fragment showing an function node</b></p>
-<div class="example-contents">
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
- <tbody>
- <tr>
- <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6</pre></td>
- <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt"><</span>api version<span class="gtkdoc opt">=</span><span class="string">"1.0"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span><span class="keyword">namespace</span><span class="gtkdoc opt">=</span><span class="string">"Gtk"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"><</span>function name<span class="gtkdoc opt">=</span><span class="string">"init"</span><span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"></</span>function<span class="gtkdoc opt">></span>
- <span class="gtkdoc opt"></</span><span class="keyword">namespace</span><span class="gtkdoc opt">></span>
-<span class="gtkdoc opt"></</span>api<span class="gtkdoc opt">></span></pre></td>
- </tr>
- </tbody>
- </table>
-</div>
-
-</div>
-<br class="example-break">
-</div>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
-</body>
-</html>
\ No newline at end of file
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>girffi: GObject Introspection Reference Manual</title>
+<title>girffi: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch03.html" title="TODO">
-<link rel="prev" href="ch03.html" title="TODO">
-<link rel="next" href="gi-gir-reference.html" title="The GIR XML format">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch02.html" title="FFI Interface">
+<link rel="prev" href="ch02.html" title="FFI Interface">
+<link rel="next" href="ch03.html" title="Internals & Typelib Format">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<a href="#gi-girffi.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="ch03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi-gir-reference.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gi-girffi"></a><div class="titlepage"></div>
<div class="refsect2">
<a name="gi-type-tag-get-ffi-type"></a><h3>gi_type_tag_get_ffi_type ()</h3>
<pre class="programlisting"><span class="returnvalue">ffi_type</span> *
-gi_type_tag_get_ffi_type (<em class="parameter"><code><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> type_tag</code></em>,
+gi_type_tag_get_ffi_type (<em class="parameter"><code><a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> type_tag</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_pointer</code></em>);</pre>
<p>TODO</p>
<div class="refsect3">
<tbody>
<tr>
<td class="parameter_name"><p>type_tag</p></td>
-<td class="parameter_description"><p>A <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a></p></td>
+<td class="parameter_description"><p>A <a class="link" href="gi-Common-Types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<pre class="programlisting"><span class="returnvalue">void</span>
gi_type_info_extract_ffi_return_value (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *return_info</code></em>,
<em class="parameter"><code><a class="link" href="gi-girffi.html#GIFFIReturnValue" title="GIFFIReturnValue"><span class="type">GIFFIReturnValue</span></a> *ffi_value</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *arg</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="gi-Common-Types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *arg</code></em>);</pre>
<p>Extract the correct bits from an ffi_arg return value into
GIArgument: https://bugzilla.gnome.org/show_bug.cgi?id=665152</p>
<p>Also see <span class="citerefentry"><span class="refentrytitle">ffi_call</span>(3)</span></p>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>gitypelib: GObject Introspection Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="gi-typelib.html" title="GITypelib">
-<link rel="prev" href="gi-typelib.html" title="GITypelib">
-<link rel="next" href="gi-GITypelib.html" title="GITypelib">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
- <a href="#gi-gitypelib.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="gi-typelib.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gi-typelib.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi-GITypelib.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gi-gitypelib"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gi-gitypelib.top_of_page"></a>gitypelib</span></h2>
-<p>gitypelib — TODO</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="gi-gitypelib.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gi-gitypelib.html#g-typelib-new-from-memory" title="g_typelib_new_from_memory ()">g_typelib_new_from_memory</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gi-gitypelib.html#g-typelib-new-from-const-memory" title="g_typelib_new_from_const_memory ()">g_typelib_new_from_const_memory</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gi-gitypelib.html#g-typelib-new-from-mapped-file" title="g_typelib_new_from_mapped_file ()">g_typelib_new_from_mapped_file</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="gi-gitypelib.html#g-typelib-free" title="g_typelib_free ()">g_typelib_free</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="gi-gitypelib.html#g-typelib-symbol" title="g_typelib_symbol ()">g_typelib_symbol</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gi-gitypelib.html#g-typelib-get-namespace" title="g_typelib_get_namespace ()">g_typelib_get_namespace</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gi-gitypelib.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody><tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib">GITypelib</a></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gi-gitypelib.description"></a><h2>Description</h2>
-<p>TODO</p>
-</div>
-<div class="refsect1">
-<a name="gi-gitypelib.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="g-typelib-new-from-memory"></a><h3>g_typelib_new_from_memory ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
-g_typelib_new_from_memory (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *memory</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a memory location. The memory block
-pointed to by <em class="parameter"><code>typelib</code></em>
- will be automatically <a href="/usr/share/gtk-doc/html/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>d when the
-repository is destroyed.</p>
-<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
-<div class="refsect3">
-<a name="g-typelib-new-from-memory.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>memory</p></td>
-<td class="parameter_description"><p>address of memory chunk containing the typelib</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>length of memory chunk containing the typelib</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="g-typelib-new-from-memory.returns"></a><h4>Returns</h4>
-<p> the new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-new-from-const-memory"></a><h3>g_typelib_new_from_const_memory ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
-g_typelib_new_from_const_memory (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *memory</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a memory location.</p>
-<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
-<div class="refsect3">
-<a name="g-typelib-new-from-const-memory.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>memory</p></td>
-<td class="parameter_description"><p>address of memory chunk containing the typelib</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>length of memory chunk containing the typelib</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="g-typelib-new-from-const-memory.returns"></a><h4>Returns</h4>
-<p> the new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-new-from-mapped-file"></a><h3>g_typelib_new_from_mapped_file ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
-g_typelib_new_from_mapped_file (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a> *mfile</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a <a href="/usr/share/gtk-doc/html/glib/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a>.</p>
-<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
-<div class="refsect3">
-<a name="g-typelib-new-from-mapped-file.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>mfile</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a>, that will be free'd when the repository is destroyed</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="g-typelib-new-from-mapped-file.returns"></a><h4>Returns</h4>
-<p> the new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-free"></a><h3>g_typelib_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-g_typelib_free (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);</pre>
-<p>Free a <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>.</p>
-<div class="refsect3">
-<a name="g-typelib-free.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>typelib</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-symbol"></a><h3>g_typelib_symbol ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-g_typelib_symbol (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *symbol_name</code></em>,
- <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *symbol</code></em>);</pre>
-<p>Loads a symbol from <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>.</p>
-<div class="refsect3">
-<a name="g-typelib-symbol.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>typelib</p></td>
-<td class="parameter_description"><p>the typelib</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>symbol_name</p></td>
-<td class="parameter_description"><p>name of symbol to be loaded</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>symbol</p></td>
-<td class="parameter_description"><p>returns a pointer to the symbol value</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="g-typelib-symbol.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> on success</p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-get-namespace"></a><h3>g_typelib_get_namespace ()</h3>
-<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-g_typelib_get_namespace (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);</pre>
-<p>TODO</p>
-<div class="refsect3">
-<a name="g-typelib-get-namespace.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>typelib</p></td>
-<td class="parameter_description"><p>TODO</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="g-typelib-get-namespace.returns"></a><h4>Returns</h4>
-<p> TODO</p>
-</div>
-</div>
-</div>
-<div class="refsect1">
-<a name="gi-gitypelib.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="GITypelib"></a><h3>GITypelib</h3>
-<pre class="programlisting">typedef struct {
-} GITypelib;
-</pre>
-<p>TODO</p>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Writing introspected libraries: GObject Introspection Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="overview.html" title="Part I. GObject-Introspection Overview">
-<link rel="prev" href="gi-building.html" title="Compiling the GObject Introspection package">
-<link rel="next" href="gi.html" title="Part II. API Reference">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gi-building.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gi-programming"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle">Writing introspected libraries</span></h2>
-<p>Writing introspected libraries — General considerations when writing introspected libraries</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="id-1.3.4.3"></a><h2>TODO</h2>
-<p>
- ...
- </p>
-</div>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
-</body>
-</html>
\ No newline at end of file
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Struct hierarchy: GObject Introspection Reference Manual</title>
+<title>Struct hierarchy: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="ch01.html" title="GIRepository">
-<link rel="prev" href="GIRepository.html" title="GIRepository">
-<link rel="next" href="gi-common-types.html" title="common types">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="up" href="ch01.html" title="GIBaseInfo">
+<link rel="prev" href="ch01.html" title="GIBaseInfo">
+<link rel="next" href="GIBaseInfo.html" title="GIBaseInfo">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="GIRepository.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi-common-types.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="GIBaseInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gi-struct-hierarchy"></a><div class="titlepage"></div>
<div class="refsynopsisdiv">
<a name="gi-struct-hierarchy.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
-* <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+* <a class="link" href="GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
* <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
* <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+ * <a class="link" href="gi-GICallbackInfo.html" title="GICallbackInfo">GICallbackInfo</a>
* <a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
* <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
* <a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
* <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
- * <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
- * <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
* <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
* <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+ * <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+ * <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
* <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
* <a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
* <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
* <a class="link" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">GIPropertyInfo</a>
* <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+ * <a class="link" href="gi-GIValueInfo.html" title="GIValueInfo">GIValueInfo</a>
</pre>
</div>
</div>
<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<book xmlns="http://www.devhelp.net/book" title="GObject Introspection Reference Manual" link="index.html" author="" name="gi" version="2" language="c">
+<book xmlns="http://www.devhelp.net/book" title="libgirepository API Reference" link="index.html" author="" name="gi" version="2" language="c">
<chapters>
- <sub name="GObject-Introspection Overview" link="overview.html">
- <sub name="Compiling the GObject Introspection package" link="gi-building.html"/>
- <sub name="Writing introspected libraries" link="gi-programming.html"/>
+ <sub name="GIRepository" link="GIRepository.html"/>
+ <sub name="GITypelib" link="gi-GITypelib.html"/>
+ <sub name="Version Information" link="gi-Version-Information.html"/>
+ <sub name="Common Types" link="gi-Common-Types.html"/>
+ <sub name="GIBaseInfo" link="ch01.html">
+ <sub name="Struct hierarchy" link="gi-struct-hierarchy.html"/>
+ <sub name="GIBaseInfo" link="GIBaseInfo.html"/>
+ <sub name="GICallableInfo" link="gi-GICallableInfo.html"/>
+ <sub name="GIFunctionInfo" link="gi-GIFunctionInfo.html"/>
+ <sub name="GICallbackInfo" link="gi-GICallbackInfo.html"/>
+ <sub name="GISignalInfo" link="gi-GISignalInfo.html"/>
+ <sub name="GIVFuncInfo" link="gi-GIVFuncInfo.html"/>
+ <sub name="GIRegisteredTypeInfo" link="gi-GIRegisteredTypeInfo.html"/>
+ <sub name="GIEnumInfo" link="gi-GIEnumInfo.html"/>
+ <sub name="GIStructInfo" link="gi-GIStructInfo.html"/>
+ <sub name="GIUnionInfo" link="gi-GIUnionInfo.html"/>
+ <sub name="GIObjectInfo" link="gi-GIObjectInfo.html"/>
+ <sub name="GIInterfaceInfo" link="gi-GIInterfaceInfo.html"/>
+ <sub name="GIArgInfo" link="gi-GIArgInfo.html"/>
+ <sub name="GIConstantInfo" link="gi-GIConstantInfo.html"/>
+ <sub name="GIFieldInfo" link="gi-GIFieldInfo.html"/>
+ <sub name="GIPropertyInfo" link="gi-GIPropertyInfo.html"/>
+ <sub name="GITypeInfo" link="gi-GITypeInfo.html"/>
+ <sub name="GIValueInfo" link="gi-GIValueInfo.html"/>
</sub>
- <sub name="API Reference" link="gi.html">
- <sub name="GIRepository" link="ch01.html">
- <sub name="GIRepository" link="GIRepository.html"/>
- <sub name="Struct hierarchy" link="gi-struct-hierarchy.html"/>
- <sub name="common types" link="gi-common-types.html"/>
- <sub name="GIBaseInfo" link="gi-GIBaseInfo.html"/>
- <sub name="GICallableInfo" link="gi-GICallableInfo.html"/>
- <sub name="GIFunctionInfo" link="gi-GIFunctionInfo.html"/>
- <sub name="GICallbackInfo" link="gi-GICallbackInfo.html"/>
- <sub name="GISignalInfo" link="gi-GISignalInfo.html"/>
- <sub name="GIVFuncInfo" link="gi-GIVFuncInfo.html"/>
- <sub name="GIRegisteredTypeInfo" link="gi-GIRegisteredTypeInfo.html"/>
- <sub name="GIEnumInfo" link="gi-GIEnumInfo.html"/>
- <sub name="GIStructInfo" link="gi-GIStructInfo.html"/>
- <sub name="GIUnionInfo" link="gi-GIUnionInfo.html"/>
- <sub name="GIObjectInfo" link="gi-GIObjectInfo.html"/>
- <sub name="GIInterfaceInfo" link="gi-GIInterfaceInfo.html"/>
- <sub name="GIArgInfo" link="gi-GIArgInfo.html"/>
- <sub name="GIConstantInfo" link="gi-GIConstantInfo.html"/>
- <sub name="GIFieldInfo" link="gi-GIFieldInfo.html"/>
- <sub name="GIPropertyInfo" link="gi-GIPropertyInfo.html"/>
- <sub name="GITypeInfo" link="gi-GITypeInfo.html"/>
- <sub name="GIValueInfo" link="gi-GIValueInfo.html"/>
- </sub>
- <sub name="GITypelib" link="gi-typelib.html">
- <sub name="gitypelib" link="gi-gitypelib.html"/>
- <sub name="GITypelib" link="gi-GITypelib.html"/>
- </sub>
- <sub name="TODO" link="ch03.html">
- <sub name="girffi" link="gi-girffi.html"/>
- <sub name="The GIR XML format" link="gi-gir-reference.html"/>
- </sub>
+ <sub name="FFI Interface" link="ch02.html">
+ <sub name="girffi" link="gi-girffi.html"/>
+ </sub>
+ <sub name="Internals & Typelib Format" link="ch03.html">
+ <sub name="GITypelib Internals" link="gi-GITypelib-Internals.html"/>
</sub>
<sub name="Index" link="api-index-full.html"/>
<sub name="Index of deprecated symbols" link="api-index-deprecated.html"/>
- <sub name="Index of new symbols in 1.29.0" link="api-index-1-29-0.html"/>
- <sub name="Index of new symbols in 1.29.17" link="api-index-1-29-17.html"/>
- <sub name="Index of new symbols in 1.30.1" link="api-index-1-30-1.html"/>
+ <sub name="Index of new symbols in 1.30" link="api-index-1-30.html"/>
+ <sub name="Index of new symbols in 1.32" link="api-index-1-32.html"/>
<sub name="Index of new symbols in 1.34" link="api-index-1-34.html"/>
- <sub name="Index of new symbols in 1.35.8" link="api-index-1-35-8.html"/>
+ <sub name="Index of new symbols in 1.36" link="api-index-1-36.html"/>
+ <sub name="Index of new symbols in 1.42" link="api-index-1-42.html"/>
+ <sub name="Index of new symbols in 1.44" link="api-index-1-44.html"/>
+ <sub name="Index of new symbols in 1.46" link="api-index-1-46.html"/>
+ <sub name="Index of new symbols in 1.60" link="api-index-1-60.html"/>
<sub name="Annotation Glossary" link="annotation-glossary.html"/>
</chapters>
<functions>
<keyword type="function" name="g_irepository_get_info ()" link="GIRepository.html#g-irepository-get-info"/>
<keyword type="function" name="g_irepository_get_option_group ()" link="GIRepository.html#g-irepository-get-option-group"/>
<keyword type="function" name="g_irepository_enumerate_versions ()" link="GIRepository.html#g-irepository-enumerate-versions"/>
- <keyword type="function" name="g_irepository_prepend_library_path ()" link="GIRepository.html#g-irepository-prepend-library-path" since="1.35.8"/>
+ <keyword type="function" name="g_irepository_prepend_library_path ()" link="GIRepository.html#g-irepository-prepend-library-path" since="1.36"/>
<keyword type="function" name="g_irepository_prepend_search_path ()" link="GIRepository.html#g-irepository-prepend-search-path"/>
<keyword type="function" name="g_irepository_get_search_path ()" link="GIRepository.html#g-irepository-get-search-path"/>
<keyword type="function" name="g_irepository_load_typelib ()" link="GIRepository.html#g-irepository-load-typelib"/>
<keyword type="function" name="g_irepository_get_shared_library ()" link="GIRepository.html#g-irepository-get-shared-library"/>
<keyword type="function" name="g_irepository_get_version ()" link="GIRepository.html#g-irepository-get-version"/>
<keyword type="function" name="g_irepository_find_by_gtype ()" link="GIRepository.html#g-irepository-find-by-gtype"/>
- <keyword type="function" name="g_irepository_find_by_error_domain ()" link="GIRepository.html#g-irepository-find-by-error-domain" since="1.29.17"/>
+ <keyword type="function" name="g_irepository_find_by_error_domain ()" link="GIRepository.html#g-irepository-find-by-error-domain" since="1.30"/>
<keyword type="function" name="g_irepository_find_by_name ()" link="GIRepository.html#g-irepository-find-by-name"/>
<keyword type="function" name="g_irepository_dump ()" link="GIRepository.html#g-irepository-dump"/>
<keyword type="function" name="gi_cclosure_marshal_generic ()" link="GIRepository.html#gi-cclosure-marshal-generic"/>
<keyword type="enum" name="enum GIRepositoryLoadFlags" link="GIRepository.html#GIRepositoryLoadFlags"/>
<keyword type="macro" name="G_IREPOSITORY_ERROR" link="GIRepository.html#G-IREPOSITORY-ERROR:CAPS"/>
<keyword type="enum" name="enum GIRepositoryError" link="GIRepository.html#GIRepositoryError"/>
- <keyword type="macro" name="G_TYPE_TAG_IS_BASIC()" link="gi-common-types.html#G-TYPE-TAG-IS-BASIC:CAPS"/>
- <keyword type="union" name="GIArgument" link="gi-common-types.html#GIArgument"/>
- <keyword type="struct" name="GIUnresolvedInfo" link="gi-common-types.html#GIUnresolvedInfo"/>
- <keyword type="enum" name="enum GITypeTag" link="gi-common-types.html#GITypeTag"/>
- <keyword type="enum" name="enum GIArrayType" link="gi-common-types.html#GIArrayType"/>
- <keyword type="macro" name="GI_TYPE_TAG_N_TYPES" link="gi-common-types.html#GI-TYPE-TAG-N-TYPES:CAPS"/>
- <keyword type="function" name="g_info_new ()" link="gi-GIBaseInfo.html#g-info-new"/>
- <keyword type="function" name="g_base_info_ref ()" link="gi-GIBaseInfo.html#g-base-info-ref"/>
- <keyword type="function" name="g_base_info_unref ()" link="gi-GIBaseInfo.html#g-base-info-unref"/>
- <keyword type="function" name="g_base_info_equal ()" link="gi-GIBaseInfo.html#g-base-info-equal"/>
- <keyword type="function" name="g_base_info_get_type ()" link="gi-GIBaseInfo.html#g-base-info-get-type"/>
- <keyword type="function" name="g_base_info_get_typelib ()" link="gi-GIBaseInfo.html#g-base-info-get-typelib"/>
- <keyword type="function" name="g_base_info_get_namespace ()" link="gi-GIBaseInfo.html#g-base-info-get-namespace"/>
- <keyword type="function" name="g_base_info_get_name ()" link="gi-GIBaseInfo.html#g-base-info-get-name"/>
- <keyword type="function" name="g_base_info_get_attribute ()" link="gi-GIBaseInfo.html#g-base-info-get-attribute"/>
- <keyword type="function" name="g_base_info_iterate_attributes ()" link="gi-GIBaseInfo.html#g-base-info-iterate-attributes"/>
- <keyword type="function" name="g_base_info_get_container ()" link="gi-GIBaseInfo.html#g-base-info-get-container"/>
- <keyword type="function" name="g_base_info_is_deprecated ()" link="gi-GIBaseInfo.html#g-base-info-is-deprecated"/>
- <keyword type="enum" name="enum GIInfoType" link="gi-GIBaseInfo.html#GIInfoType"/>
- <keyword type="struct" name="GIAttributeIter" link="gi-GIBaseInfo.html#GIAttributeIter"/>
+ <keyword type="function" name="g_typelib_new_from_memory ()" link="gi-GITypelib.html#g-typelib-new-from-memory"/>
+ <keyword type="function" name="g_typelib_new_from_const_memory ()" link="gi-GITypelib.html#g-typelib-new-from-const-memory"/>
+ <keyword type="function" name="g_typelib_new_from_mapped_file ()" link="gi-GITypelib.html#g-typelib-new-from-mapped-file"/>
+ <keyword type="function" name="g_typelib_free ()" link="gi-GITypelib.html#g-typelib-free"/>
+ <keyword type="function" name="g_typelib_symbol ()" link="gi-GITypelib.html#g-typelib-symbol"/>
+ <keyword type="function" name="g_typelib_get_namespace ()" link="gi-GITypelib.html#g-typelib-get-namespace"/>
+ <keyword type="struct" name="GITypelib" link="gi-GITypelib.html#GITypelib"/>
+ <keyword type="macro" name="GI_CHECK_VERSION()" link="gi-Version-Information.html#GI-CHECK-VERSION:CAPS" since="1.60"/>
+ <keyword type="function" name="gi_get_major_version ()" link="gi-Version-Information.html#gi-get-major-version" since="1.60"/>
+ <keyword type="function" name="gi_get_minor_version ()" link="gi-Version-Information.html#gi-get-minor-version" since="1.60"/>
+ <keyword type="function" name="gi_get_micro_version ()" link="gi-Version-Information.html#gi-get-micro-version" since="1.60"/>
+ <keyword type="macro" name="GI_MAJOR_VERSION" link="gi-Version-Information.html#GI-MAJOR-VERSION:CAPS" since="1.60"/>
+ <keyword type="macro" name="GI_MINOR_VERSION" link="gi-Version-Information.html#GI-MINOR-VERSION:CAPS" since="1.60"/>
+ <keyword type="macro" name="GI_MICRO_VERSION" link="gi-Version-Information.html#GI-MICRO-VERSION:CAPS" since="1.60"/>
+ <keyword type="macro" name="G_TYPE_TAG_IS_BASIC()" link="gi-Common-Types.html#G-TYPE-TAG-IS-BASIC:CAPS"/>
+ <keyword type="function" name="g_type_tag_to_string ()" link="gi-Common-Types.html#g-type-tag-to-string"/>
+ <keyword type="union" name="GIArgument" link="gi-Common-Types.html#GIArgument"/>
+ <keyword type="enum" name="enum GITypeTag" link="gi-Common-Types.html#GITypeTag"/>
+ <keyword type="enum" name="enum GIArrayType" link="gi-Common-Types.html#GIArrayType"/>
+ <keyword type="macro" name="GI_TYPE_TAG_N_TYPES" link="gi-Common-Types.html#GI-TYPE-TAG-N-TYPES:CAPS"/>
+ <keyword type="function" name="g_info_new ()" link="GIBaseInfo.html#g-info-new"/>
+ <keyword type="function" name="g_base_info_ref ()" link="GIBaseInfo.html#g-base-info-ref"/>
+ <keyword type="function" name="g_base_info_unref ()" link="GIBaseInfo.html#g-base-info-unref"/>
+ <keyword type="function" name="g_base_info_equal ()" link="GIBaseInfo.html#g-base-info-equal"/>
+ <keyword type="function" name="g_base_info_get_type ()" link="GIBaseInfo.html#g-base-info-get-type"/>
+ <keyword type="function" name="g_base_info_get_typelib ()" link="GIBaseInfo.html#g-base-info-get-typelib"/>
+ <keyword type="function" name="g_base_info_get_namespace ()" link="GIBaseInfo.html#g-base-info-get-namespace"/>
+ <keyword type="function" name="g_base_info_get_name ()" link="GIBaseInfo.html#g-base-info-get-name"/>
+ <keyword type="function" name="g_base_info_get_attribute ()" link="GIBaseInfo.html#g-base-info-get-attribute"/>
+ <keyword type="function" name="g_base_info_iterate_attributes ()" link="GIBaseInfo.html#g-base-info-iterate-attributes"/>
+ <keyword type="function" name="g_base_info_get_container ()" link="GIBaseInfo.html#g-base-info-get-container"/>
+ <keyword type="function" name="g_base_info_is_deprecated ()" link="GIBaseInfo.html#g-base-info-is-deprecated"/>
+ <keyword type="function" name="g_info_type_to_string ()" link="GIBaseInfo.html#g-info-type-to-string"/>
+ <keyword type="struct" name="GIBaseInfo" link="GIBaseInfo.html#GIBaseInfo-struct"/>
+ <keyword type="enum" name="enum GIInfoType" link="GIBaseInfo.html#GIInfoType"/>
+ <keyword type="struct" name="GIAttributeIter" link="GIBaseInfo.html#GIAttributeIter"/>
<keyword type="macro" name="GI_IS_CALLABLE_INFO()" link="gi-GICallableInfo.html#GI-IS-CALLABLE-INFO:CAPS"/>
<keyword type="function" name="g_callable_info_can_throw_gerror ()" link="gi-GICallableInfo.html#g-callable-info-can-throw-gerror" since="1.34"/>
<keyword type="function" name="g_callable_info_get_n_args ()" link="gi-GICallableInfo.html#g-callable-info-get-n-args"/>
<keyword type="function" name="g_callable_info_get_arg ()" link="gi-GICallableInfo.html#g-callable-info-get-arg"/>
<keyword type="function" name="g_callable_info_get_caller_owns ()" link="gi-GICallableInfo.html#g-callable-info-get-caller-owns"/>
+ <keyword type="function" name="g_callable_info_get_instance_ownership_transfer ()" link="gi-GICallableInfo.html#g-callable-info-get-instance-ownership-transfer" since="1.42"/>
<keyword type="function" name="g_callable_info_get_return_attribute ()" link="gi-GICallableInfo.html#g-callable-info-get-return-attribute"/>
<keyword type="function" name="g_callable_info_get_return_type ()" link="gi-GICallableInfo.html#g-callable-info-get-return-type"/>
<keyword type="function" name="g_callable_info_invoke ()" link="gi-GICallableInfo.html#g-callable-info-invoke"/>
<keyword type="macro" name="GI_IS_VALUE_INFO()" link="gi-GIEnumInfo.html#GI-IS-VALUE-INFO:CAPS"/>
<keyword type="function" name="g_enum_info_get_n_values ()" link="gi-GIEnumInfo.html#g-enum-info-get-n-values"/>
<keyword type="function" name="g_enum_info_get_value ()" link="gi-GIEnumInfo.html#g-enum-info-get-value"/>
- <keyword type="function" name="g_enum_info_get_n_methods ()" link="gi-GIEnumInfo.html#g-enum-info-get-n-methods" since="1.29.17"/>
- <keyword type="function" name="g_enum_info_get_method ()" link="gi-GIEnumInfo.html#g-enum-info-get-method" since="1.29.17"/>
+ <keyword type="function" name="g_enum_info_get_n_methods ()" link="gi-GIEnumInfo.html#g-enum-info-get-n-methods" since="1.30"/>
+ <keyword type="function" name="g_enum_info_get_method ()" link="gi-GIEnumInfo.html#g-enum-info-get-method" since="1.30"/>
<keyword type="function" name="g_enum_info_get_storage_type ()" link="gi-GIEnumInfo.html#g-enum-info-get-storage-type"/>
- <keyword type="function" name="g_enum_info_get_error_domain ()" link="gi-GIEnumInfo.html#g-enum-info-get-error-domain" since="1.29.17"/>
+ <keyword type="function" name="g_enum_info_get_error_domain ()" link="gi-GIEnumInfo.html#g-enum-info-get-error-domain" since="1.30"/>
<keyword type="function" name="g_value_info_get_value ()" link="gi-GIEnumInfo.html#g-value-info-get-value"/>
<keyword type="typedef" name="GIEnumInfo" link="gi-GIEnumInfo.html#GIEnumInfo"/>
<keyword type="macro" name="GI_IS_STRUCT_INFO()" link="gi-GIStructInfo.html#GI-IS-STRUCT-INFO:CAPS"/>
+ <keyword type="function" name="g_struct_info_find_field ()" link="gi-GIStructInfo.html#g-struct-info-find-field" since="1.46"/>
<keyword type="function" name="g_struct_info_get_alignment ()" link="gi-GIStructInfo.html#g-struct-info-get-alignment"/>
<keyword type="function" name="g_struct_info_get_size ()" link="gi-GIStructInfo.html#g-struct-info-get-size"/>
<keyword type="function" name="g_struct_info_is_gtype_struct ()" link="gi-GIStructInfo.html#g-struct-info-is-gtype-struct"/>
<keyword type="function" name="g_arg_info_is_caller_allocates ()" link="gi-GIArgInfo.html#g-arg-info-is-caller-allocates"/>
<keyword type="function" name="g_arg_info_is_optional ()" link="gi-GIArgInfo.html#g-arg-info-is-optional"/>
<keyword type="function" name="g_arg_info_is_return_value ()" link="gi-GIArgInfo.html#g-arg-info-is-return-value"/>
- <keyword type="function" name="g_arg_info_is_skip ()" link="gi-GIArgInfo.html#g-arg-info-is-skip" since="1.29.0"/>
+ <keyword type="function" name="g_arg_info_is_skip ()" link="gi-GIArgInfo.html#g-arg-info-is-skip" since="1.30"/>
<keyword type="typedef" name="GIArgInfo" link="gi-GIArgInfo.html#GIArgInfo"/>
<keyword type="enum" name="enum GIDirection" link="gi-GIArgInfo.html#GIDirection"/>
<keyword type="enum" name="enum GIScopeType" link="gi-GIArgInfo.html#GIScopeType"/>
<keyword type="enum" name="enum GITransfer" link="gi-GIArgInfo.html#GITransfer"/>
<keyword type="macro" name="GI_IS_CONSTANT_INFO()" link="gi-GIConstantInfo.html#GI-IS-CONSTANT-INFO:CAPS"/>
- <keyword type="function" name="g_constant_info_free_value ()" link="gi-GIConstantInfo.html#g-constant-info-free-value" since="1.30.1"/>
+ <keyword type="function" name="g_constant_info_free_value ()" link="gi-GIConstantInfo.html#g-constant-info-free-value" since="1.32"/>
<keyword type="function" name="g_constant_info_get_type ()" link="gi-GIConstantInfo.html#g-constant-info-get-type"/>
<keyword type="function" name="g_constant_info_get_value ()" link="gi-GIConstantInfo.html#g-constant-info-get-value"/>
<keyword type="typedef" name="GIConstantInfo" link="gi-GIConstantInfo.html#GIConstantInfo"/>
<keyword type="function" name="g_property_info_get_type ()" link="gi-GIPropertyInfo.html#g-property-info-get-type"/>
<keyword type="typedef" name="GIPropertyInfo" link="gi-GIPropertyInfo.html#GIPropertyInfo"/>
<keyword type="macro" name="GI_IS_TYPE_INFO()" link="gi-GITypeInfo.html#GI-IS-TYPE-INFO:CAPS"/>
- <keyword type="function" name="g_type_tag_to_string ()" link="gi-GITypeInfo.html#g-type-tag-to-string"/>
- <keyword type="function" name="g_info_type_to_string ()" link="gi-GITypeInfo.html#g-info-type-to-string"/>
<keyword type="function" name="g_type_info_is_pointer ()" link="gi-GITypeInfo.html#g-type-info-is-pointer"/>
<keyword type="function" name="g_type_info_get_tag ()" link="gi-GITypeInfo.html#g-type-info-get-tag"/>
<keyword type="function" name="g_type_info_get_param_type ()" link="gi-GITypeInfo.html#g-type-info-get-param-type"/>
<keyword type="function" name="g_type_info_get_array_type ()" link="gi-GITypeInfo.html#g-type-info-get-array-type"/>
<keyword type="typedef" name="GITypeInfo" link="gi-GITypeInfo.html#GITypeInfo"/>
<keyword type="typedef" name="GIValueInfo" link="gi-GIValueInfo.html#GIValueInfo"/>
- <keyword type="function" name="g_typelib_new_from_memory ()" link="gi-gitypelib.html#g-typelib-new-from-memory"/>
- <keyword type="function" name="g_typelib_new_from_const_memory ()" link="gi-gitypelib.html#g-typelib-new-from-const-memory"/>
- <keyword type="function" name="g_typelib_new_from_mapped_file ()" link="gi-gitypelib.html#g-typelib-new-from-mapped-file"/>
- <keyword type="function" name="g_typelib_free ()" link="gi-gitypelib.html#g-typelib-free"/>
- <keyword type="function" name="g_typelib_symbol ()" link="gi-gitypelib.html#g-typelib-symbol"/>
- <keyword type="function" name="g_typelib_get_namespace ()" link="gi-gitypelib.html#g-typelib-get-namespace"/>
- <keyword type="struct" name="GITypelib" link="gi-gitypelib.html#GITypelib"/>
- <keyword type="function" name="g_typelib_get_dir_entry ()" link="gi-GITypelib.html#g-typelib-get-dir-entry"/>
- <keyword type="function" name="g_typelib_get_dir_entry_by_name ()" link="gi-GITypelib.html#g-typelib-get-dir-entry-by-name"/>
- <keyword type="function" name="g_typelib_get_dir_entry_by_gtype_name ()" link="gi-GITypelib.html#g-typelib-get-dir-entry-by-gtype-name"/>
- <keyword type="function" name="g_typelib_get_dir_entry_by_error_domain ()" link="gi-GITypelib.html#g-typelib-get-dir-entry-by-error-domain"/>
- <keyword type="function" name="g_typelib_matches_gtype_name_prefix ()" link="gi-GITypelib.html#g-typelib-matches-gtype-name-prefix"/>
- <keyword type="function" name="g_typelib_check_sanity ()" link="gi-GITypelib.html#g-typelib-check-sanity"/>
- <keyword type="macro" name="g_typelib_get_string()" link="gi-GITypelib.html#g-typelib-get-string"/>
- <keyword type="function" name="g_typelib_error_quark ()" link="gi-GITypelib.html#g-typelib-error-quark"/>
- <keyword type="function" name="g_typelib_validate ()" link="gi-GITypelib.html#g-typelib-validate"/>
- <keyword type="macro" name="G_IR_MAGIC" link="gi-GITypelib.html#G-IR-MAGIC:CAPS"/>
- <keyword type="enum" name="enum GTypelibBlobType" link="gi-GITypelib.html#GTypelibBlobType"/>
- <keyword type="struct" name="Header" link="gi-GITypelib.html#Header"/>
- <keyword type="enum" name="enum SectionType" link="gi-GITypelib.html#SectionType"/>
- <keyword type="struct" name="Section" link="gi-GITypelib.html#Section"/>
- <keyword type="struct" name="DirEntry" link="gi-GITypelib.html#DirEntry"/>
- <keyword type="struct" name="SimpleTypeBlobFlags" link="gi-GITypelib.html#SimpleTypeBlobFlags"/>
- <keyword type="union" name="SimpleTypeBlob" link="gi-GITypelib.html#SimpleTypeBlob"/>
- <keyword type="struct" name="ArgBlob" link="gi-GITypelib.html#ArgBlob"/>
- <keyword type="struct" name="SignatureBlob" link="gi-GITypelib.html#SignatureBlob"/>
- <keyword type="struct" name="CommonBlob" link="gi-GITypelib.html#CommonBlob"/>
- <keyword type="struct" name="FunctionBlob" link="gi-GITypelib.html#FunctionBlob"/>
- <keyword type="struct" name="CallbackBlob" link="gi-GITypelib.html#CallbackBlob"/>
- <keyword type="struct" name="InterfaceTypeBlob" link="gi-GITypelib.html#InterfaceTypeBlob"/>
- <keyword type="union" name="ArrayTypeDimension" link="gi-GITypelib.html#ArrayTypeDimension"/>
- <keyword type="struct" name="ArrayTypeBlob" link="gi-GITypelib.html#ArrayTypeBlob"/>
- <keyword type="struct" name="ParamTypeBlob" link="gi-GITypelib.html#ParamTypeBlob"/>
- <keyword type="struct" name="ErrorTypeBlob" link="gi-GITypelib.html#ErrorTypeBlob"/>
- <keyword type="struct" name="ValueBlob" link="gi-GITypelib.html#ValueBlob"/>
- <keyword type="struct" name="FieldBlob" link="gi-GITypelib.html#FieldBlob"/>
- <keyword type="struct" name="RegisteredTypeBlob" link="gi-GITypelib.html#RegisteredTypeBlob"/>
- <keyword type="struct" name="StructBlob" link="gi-GITypelib.html#StructBlob"/>
- <keyword type="struct" name="UnionBlob" link="gi-GITypelib.html#UnionBlob"/>
- <keyword type="struct" name="EnumBlob" link="gi-GITypelib.html#EnumBlob"/>
- <keyword type="struct" name="PropertyBlob" link="gi-GITypelib.html#PropertyBlob"/>
- <keyword type="struct" name="SignalBlob" link="gi-GITypelib.html#SignalBlob"/>
- <keyword type="struct" name="VFuncBlob" link="gi-GITypelib.html#VFuncBlob"/>
- <keyword type="struct" name="ObjectBlob" link="gi-GITypelib.html#ObjectBlob"/>
- <keyword type="struct" name="InterfaceBlob" link="gi-GITypelib.html#InterfaceBlob"/>
- <keyword type="struct" name="ConstantBlob" link="gi-GITypelib.html#ConstantBlob"/>
- <keyword type="struct" name="AttributeBlob" link="gi-GITypelib.html#AttributeBlob"/>
- <keyword type="enum" name="enum GITypelibError" link="gi-GITypelib.html#GITypelibError"/>
- <keyword type="macro" name="G_TYPELIB_ERROR" link="gi-GITypelib.html#G-TYPELIB-ERROR:CAPS"/>
- <keyword type="struct" name="GITypelibHashBuilder" link="gi-GITypelib.html#GITypelibHashBuilder"/>
<keyword type="function" name="GIFFIClosureCallback ()" link="gi-girffi.html#GIFFIClosureCallback"/>
<keyword type="function" name="gi_type_tag_get_ffi_type ()" link="gi-girffi.html#gi-type-tag-get-ffi-type"/>
<keyword type="function" name="g_type_info_get_ffi_type ()" link="gi-girffi.html#g-type-info-get-ffi-type"/>
<keyword type="function" name="g_callable_info_free_closure ()" link="gi-girffi.html#g-callable-info-free-closure"/>
<keyword type="struct" name="struct GIFunctionInvoker" link="gi-girffi.html#GIFunctionInvoker"/>
<keyword type="typedef" name="GIFFIReturnValue" link="gi-girffi.html#GIFFIReturnValue"/>
+ <keyword type="function" name="g_typelib_get_dir_entry ()" link="gi-GITypelib-Internals.html#g-typelib-get-dir-entry"/>
+ <keyword type="function" name="g_typelib_get_dir_entry_by_name ()" link="gi-GITypelib-Internals.html#g-typelib-get-dir-entry-by-name"/>
+ <keyword type="function" name="g_typelib_get_dir_entry_by_gtype_name ()" link="gi-GITypelib-Internals.html#g-typelib-get-dir-entry-by-gtype-name"/>
+ <keyword type="function" name="g_typelib_get_dir_entry_by_error_domain ()" link="gi-GITypelib-Internals.html#g-typelib-get-dir-entry-by-error-domain"/>
+ <keyword type="function" name="g_typelib_matches_gtype_name_prefix ()" link="gi-GITypelib-Internals.html#g-typelib-matches-gtype-name-prefix"/>
+ <keyword type="function" name="g_typelib_check_sanity ()" link="gi-GITypelib-Internals.html#g-typelib-check-sanity"/>
+ <keyword type="macro" name="g_typelib_get_string()" link="gi-GITypelib-Internals.html#g-typelib-get-string"/>
+ <keyword type="function" name="g_typelib_error_quark ()" link="gi-GITypelib-Internals.html#g-typelib-error-quark"/>
+ <keyword type="function" name="g_typelib_validate ()" link="gi-GITypelib-Internals.html#g-typelib-validate"/>
+ <keyword type="macro" name="G_IR_MAGIC" link="gi-GITypelib-Internals.html#G-IR-MAGIC:CAPS"/>
+ <keyword type="enum" name="enum GTypelibBlobType" link="gi-GITypelib-Internals.html#GTypelibBlobType"/>
+ <keyword type="struct" name="Header" link="gi-GITypelib-Internals.html#Header"/>
+ <keyword type="enum" name="enum SectionType" link="gi-GITypelib-Internals.html#SectionType"/>
+ <keyword type="struct" name="Section" link="gi-GITypelib-Internals.html#Section"/>
+ <keyword type="struct" name="DirEntry" link="gi-GITypelib-Internals.html#DirEntry"/>
+ <keyword type="struct" name="SimpleTypeBlobFlags" link="gi-GITypelib-Internals.html#SimpleTypeBlobFlags"/>
+ <keyword type="union" name="SimpleTypeBlob" link="gi-GITypelib-Internals.html#SimpleTypeBlob"/>
+ <keyword type="struct" name="ArgBlob" link="gi-GITypelib-Internals.html#ArgBlob"/>
+ <keyword type="struct" name="SignatureBlob" link="gi-GITypelib-Internals.html#SignatureBlob"/>
+ <keyword type="struct" name="CommonBlob" link="gi-GITypelib-Internals.html#CommonBlob"/>
+ <keyword type="struct" name="FunctionBlob" link="gi-GITypelib-Internals.html#FunctionBlob"/>
+ <keyword type="struct" name="CallbackBlob" link="gi-GITypelib-Internals.html#CallbackBlob"/>
+ <keyword type="struct" name="InterfaceTypeBlob" link="gi-GITypelib-Internals.html#InterfaceTypeBlob"/>
+ <keyword type="union" name="ArrayTypeDimension" link="gi-GITypelib-Internals.html#ArrayTypeDimension"/>
+ <keyword type="struct" name="ArrayTypeBlob" link="gi-GITypelib-Internals.html#ArrayTypeBlob"/>
+ <keyword type="struct" name="ParamTypeBlob" link="gi-GITypelib-Internals.html#ParamTypeBlob"/>
+ <keyword type="struct" name="ErrorTypeBlob" link="gi-GITypelib-Internals.html#ErrorTypeBlob"/>
+ <keyword type="struct" name="ValueBlob" link="gi-GITypelib-Internals.html#ValueBlob"/>
+ <keyword type="struct" name="FieldBlob" link="gi-GITypelib-Internals.html#FieldBlob"/>
+ <keyword type="struct" name="RegisteredTypeBlob" link="gi-GITypelib-Internals.html#RegisteredTypeBlob"/>
+ <keyword type="struct" name="StructBlob" link="gi-GITypelib-Internals.html#StructBlob"/>
+ <keyword type="struct" name="UnionBlob" link="gi-GITypelib-Internals.html#UnionBlob"/>
+ <keyword type="struct" name="EnumBlob" link="gi-GITypelib-Internals.html#EnumBlob"/>
+ <keyword type="struct" name="PropertyBlob" link="gi-GITypelib-Internals.html#PropertyBlob"/>
+ <keyword type="struct" name="SignalBlob" link="gi-GITypelib-Internals.html#SignalBlob"/>
+ <keyword type="struct" name="VFuncBlob" link="gi-GITypelib-Internals.html#VFuncBlob"/>
+ <keyword type="struct" name="ObjectBlob" link="gi-GITypelib-Internals.html#ObjectBlob"/>
+ <keyword type="struct" name="InterfaceBlob" link="gi-GITypelib-Internals.html#InterfaceBlob"/>
+ <keyword type="struct" name="ConstantBlob" link="gi-GITypelib-Internals.html#ConstantBlob"/>
+ <keyword type="struct" name="AttributeBlob" link="gi-GITypelib-Internals.html#AttributeBlob"/>
+ <keyword type="enum" name="enum GITypelibError" link="gi-GITypelib-Internals.html#GITypelibError"/>
+ <keyword type="macro" name="G_TYPELIB_ERROR" link="gi-GITypelib-Internals.html#G-TYPELIB-ERROR:CAPS"/>
+ <keyword type="struct" name="GITypelibHashBuilder" link="gi-GITypelib-Internals.html#GITypelibHashBuilder"/>
<keyword type="constant" name="G_IREPOSITORY_LOAD_FLAG_LAZY" link="GIRepository.html#G-IREPOSITORY-LOAD-FLAG-LAZY:CAPS"/>
<keyword type="constant" name="G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND" link="GIRepository.html#G-IREPOSITORY-ERROR-TYPELIB-NOT-FOUND:CAPS"/>
<keyword type="constant" name="G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH" link="GIRepository.html#G-IREPOSITORY-ERROR-NAMESPACE-MISMATCH:CAPS"/>
<keyword type="constant" name="G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT" link="GIRepository.html#G-IREPOSITORY-ERROR-NAMESPACE-VERSION-CONFLICT:CAPS"/>
<keyword type="constant" name="G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND" link="GIRepository.html#G-IREPOSITORY-ERROR-LIBRARY-NOT-FOUND:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_VOID" link="gi-common-types.html#GI-TYPE-TAG-VOID:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_BOOLEAN" link="gi-common-types.html#GI-TYPE-TAG-BOOLEAN:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_INT8" link="gi-common-types.html#GI-TYPE-TAG-INT8:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_UINT8" link="gi-common-types.html#GI-TYPE-TAG-UINT8:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_INT16" link="gi-common-types.html#GI-TYPE-TAG-INT16:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_UINT16" link="gi-common-types.html#GI-TYPE-TAG-UINT16:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_INT32" link="gi-common-types.html#GI-TYPE-TAG-INT32:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_UINT32" link="gi-common-types.html#GI-TYPE-TAG-UINT32:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_INT64" link="gi-common-types.html#GI-TYPE-TAG-INT64:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_UINT64" link="gi-common-types.html#GI-TYPE-TAG-UINT64:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_FLOAT" link="gi-common-types.html#GI-TYPE-TAG-FLOAT:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_DOUBLE" link="gi-common-types.html#GI-TYPE-TAG-DOUBLE:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_GTYPE" link="gi-common-types.html#GI-TYPE-TAG-GTYPE:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_UTF8" link="gi-common-types.html#GI-TYPE-TAG-UTF8:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_FILENAME" link="gi-common-types.html#GI-TYPE-TAG-FILENAME:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_ARRAY" link="gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_INTERFACE" link="gi-common-types.html#GI-TYPE-TAG-INTERFACE:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_GLIST" link="gi-common-types.html#GI-TYPE-TAG-GLIST:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_GSLIST" link="gi-common-types.html#GI-TYPE-TAG-GSLIST:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_GHASH" link="gi-common-types.html#GI-TYPE-TAG-GHASH:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_ERROR" link="gi-common-types.html#GI-TYPE-TAG-ERROR:CAPS"/>
- <keyword type="constant" name="GI_TYPE_TAG_UNICHAR" link="gi-common-types.html#GI-TYPE-TAG-UNICHAR:CAPS"/>
- <keyword type="constant" name="GI_ARRAY_TYPE_C" link="gi-common-types.html#GI-ARRAY-TYPE-C:CAPS"/>
- <keyword type="constant" name="GI_ARRAY_TYPE_ARRAY" link="gi-common-types.html#GI-ARRAY-TYPE-ARRAY:CAPS"/>
- <keyword type="constant" name="GI_ARRAY_TYPE_PTR_ARRAY" link="gi-common-types.html#GI-ARRAY-TYPE-PTR-ARRAY:CAPS"/>
- <keyword type="constant" name="GI_ARRAY_TYPE_BYTE_ARRAY" link="gi-common-types.html#GI-ARRAY-TYPE-BYTE-ARRAY:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_INVALID" link="gi-GIBaseInfo.html#GI-INFO-TYPE-INVALID:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_FUNCTION" link="gi-GIBaseInfo.html#GI-INFO-TYPE-FUNCTION:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_CALLBACK" link="gi-GIBaseInfo.html#GI-INFO-TYPE-CALLBACK:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_STRUCT" link="gi-GIBaseInfo.html#GI-INFO-TYPE-STRUCT:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_BOXED" link="gi-GIBaseInfo.html#GI-INFO-TYPE-BOXED:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_ENUM" link="gi-GIBaseInfo.html#GI-INFO-TYPE-ENUM:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_FLAGS" link="gi-GIBaseInfo.html#GI-INFO-TYPE-FLAGS:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_OBJECT" link="gi-GIBaseInfo.html#GI-INFO-TYPE-OBJECT:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_INTERFACE" link="gi-GIBaseInfo.html#GI-INFO-TYPE-INTERFACE:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_CONSTANT" link="gi-GIBaseInfo.html#GI-INFO-TYPE-CONSTANT:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_INVALID_0" link="gi-GIBaseInfo.html#GI-INFO-TYPE-INVALID-0:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_UNION" link="gi-GIBaseInfo.html#GI-INFO-TYPE-UNION:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_VALUE" link="gi-GIBaseInfo.html#GI-INFO-TYPE-VALUE:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_SIGNAL" link="gi-GIBaseInfo.html#GI-INFO-TYPE-SIGNAL:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_VFUNC" link="gi-GIBaseInfo.html#GI-INFO-TYPE-VFUNC:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_PROPERTY" link="gi-GIBaseInfo.html#GI-INFO-TYPE-PROPERTY:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_FIELD" link="gi-GIBaseInfo.html#GI-INFO-TYPE-FIELD:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_ARG" link="gi-GIBaseInfo.html#GI-INFO-TYPE-ARG:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_TYPE" link="gi-GIBaseInfo.html#GI-INFO-TYPE-TYPE:CAPS"/>
- <keyword type="constant" name="GI_INFO_TYPE_UNRESOLVED" link="gi-GIBaseInfo.html#GI-INFO-TYPE-UNRESOLVED:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_VOID" link="gi-Common-Types.html#GI-TYPE-TAG-VOID:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_BOOLEAN" link="gi-Common-Types.html#GI-TYPE-TAG-BOOLEAN:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_INT8" link="gi-Common-Types.html#GI-TYPE-TAG-INT8:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_UINT8" link="gi-Common-Types.html#GI-TYPE-TAG-UINT8:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_INT16" link="gi-Common-Types.html#GI-TYPE-TAG-INT16:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_UINT16" link="gi-Common-Types.html#GI-TYPE-TAG-UINT16:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_INT32" link="gi-Common-Types.html#GI-TYPE-TAG-INT32:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_UINT32" link="gi-Common-Types.html#GI-TYPE-TAG-UINT32:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_INT64" link="gi-Common-Types.html#GI-TYPE-TAG-INT64:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_UINT64" link="gi-Common-Types.html#GI-TYPE-TAG-UINT64:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_FLOAT" link="gi-Common-Types.html#GI-TYPE-TAG-FLOAT:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_DOUBLE" link="gi-Common-Types.html#GI-TYPE-TAG-DOUBLE:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_GTYPE" link="gi-Common-Types.html#GI-TYPE-TAG-GTYPE:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_UTF8" link="gi-Common-Types.html#GI-TYPE-TAG-UTF8:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_FILENAME" link="gi-Common-Types.html#GI-TYPE-TAG-FILENAME:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_ARRAY" link="gi-Common-Types.html#GI-TYPE-TAG-ARRAY:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_INTERFACE" link="gi-Common-Types.html#GI-TYPE-TAG-INTERFACE:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_GLIST" link="gi-Common-Types.html#GI-TYPE-TAG-GLIST:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_GSLIST" link="gi-Common-Types.html#GI-TYPE-TAG-GSLIST:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_GHASH" link="gi-Common-Types.html#GI-TYPE-TAG-GHASH:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_ERROR" link="gi-Common-Types.html#GI-TYPE-TAG-ERROR:CAPS"/>
+ <keyword type="constant" name="GI_TYPE_TAG_UNICHAR" link="gi-Common-Types.html#GI-TYPE-TAG-UNICHAR:CAPS"/>
+ <keyword type="constant" name="GI_ARRAY_TYPE_C" link="gi-Common-Types.html#GI-ARRAY-TYPE-C:CAPS"/>
+ <keyword type="constant" name="GI_ARRAY_TYPE_ARRAY" link="gi-Common-Types.html#GI-ARRAY-TYPE-ARRAY:CAPS"/>
+ <keyword type="constant" name="GI_ARRAY_TYPE_PTR_ARRAY" link="gi-Common-Types.html#GI-ARRAY-TYPE-PTR-ARRAY:CAPS"/>
+ <keyword type="constant" name="GI_ARRAY_TYPE_BYTE_ARRAY" link="gi-Common-Types.html#GI-ARRAY-TYPE-BYTE-ARRAY:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_INVALID" link="GIBaseInfo.html#GI-INFO-TYPE-INVALID:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_FUNCTION" link="GIBaseInfo.html#GI-INFO-TYPE-FUNCTION:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_CALLBACK" link="GIBaseInfo.html#GI-INFO-TYPE-CALLBACK:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_STRUCT" link="GIBaseInfo.html#GI-INFO-TYPE-STRUCT:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_BOXED" link="GIBaseInfo.html#GI-INFO-TYPE-BOXED:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_ENUM" link="GIBaseInfo.html#GI-INFO-TYPE-ENUM:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_FLAGS" link="GIBaseInfo.html#GI-INFO-TYPE-FLAGS:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_OBJECT" link="GIBaseInfo.html#GI-INFO-TYPE-OBJECT:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_INTERFACE" link="GIBaseInfo.html#GI-INFO-TYPE-INTERFACE:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_CONSTANT" link="GIBaseInfo.html#GI-INFO-TYPE-CONSTANT:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_INVALID_0" link="GIBaseInfo.html#GI-INFO-TYPE-INVALID-0:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_UNION" link="GIBaseInfo.html#GI-INFO-TYPE-UNION:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_VALUE" link="GIBaseInfo.html#GI-INFO-TYPE-VALUE:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_SIGNAL" link="GIBaseInfo.html#GI-INFO-TYPE-SIGNAL:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_VFUNC" link="GIBaseInfo.html#GI-INFO-TYPE-VFUNC:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_PROPERTY" link="GIBaseInfo.html#GI-INFO-TYPE-PROPERTY:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_FIELD" link="GIBaseInfo.html#GI-INFO-TYPE-FIELD:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_ARG" link="GIBaseInfo.html#GI-INFO-TYPE-ARG:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_TYPE" link="GIBaseInfo.html#GI-INFO-TYPE-TYPE:CAPS"/>
+ <keyword type="constant" name="GI_INFO_TYPE_UNRESOLVED" link="GIBaseInfo.html#GI-INFO-TYPE-UNRESOLVED:CAPS"/>
<keyword type="constant" name="GI_FUNCTION_IS_METHOD" link="gi-GIFunctionInfo.html#GI-FUNCTION-IS-METHOD:CAPS"/>
<keyword type="constant" name="GI_FUNCTION_IS_CONSTRUCTOR" link="gi-GIFunctionInfo.html#GI-FUNCTION-IS-CONSTRUCTOR:CAPS"/>
<keyword type="constant" name="GI_FUNCTION_IS_GETTER" link="gi-GIFunctionInfo.html#GI-FUNCTION-IS-GETTER:CAPS"/>
<keyword type="constant" name="GI_TRANSFER_EVERYTHING" link="gi-GIArgInfo.html#GI-TRANSFER-EVERYTHING:CAPS"/>
<keyword type="constant" name="GI_FIELD_IS_READABLE" link="gi-GIFieldInfo.html#GI-FIELD-IS-READABLE:CAPS"/>
<keyword type="constant" name="GI_FIELD_IS_WRITABLE" link="gi-GIFieldInfo.html#GI-FIELD-IS-WRITABLE:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_INVALID" link="gi-GITypelib.html#BLOB-TYPE-INVALID:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_FUNCTION" link="gi-GITypelib.html#BLOB-TYPE-FUNCTION:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_CALLBACK" link="gi-GITypelib.html#BLOB-TYPE-CALLBACK:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_STRUCT" link="gi-GITypelib.html#BLOB-TYPE-STRUCT:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_BOXED" link="gi-GITypelib.html#BLOB-TYPE-BOXED:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_ENUM" link="gi-GITypelib.html#BLOB-TYPE-ENUM:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_FLAGS" link="gi-GITypelib.html#BLOB-TYPE-FLAGS:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_OBJECT" link="gi-GITypelib.html#BLOB-TYPE-OBJECT:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_INTERFACE" link="gi-GITypelib.html#BLOB-TYPE-INTERFACE:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_CONSTANT" link="gi-GITypelib.html#BLOB-TYPE-CONSTANT:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_INVALID_0" link="gi-GITypelib.html#BLOB-TYPE-INVALID-0:CAPS"/>
- <keyword type="constant" name="BLOB_TYPE_UNION" link="gi-GITypelib.html#BLOB-TYPE-UNION:CAPS"/>
- <keyword type="constant" name="GI_SECTION_END" link="gi-GITypelib.html#GI-SECTION-END:CAPS"/>
- <keyword type="constant" name="GI_SECTION_DIRECTORY_INDEX" link="gi-GITypelib.html#GI-SECTION-DIRECTORY-INDEX:CAPS"/>
- <keyword type="constant" name="G_TYPELIB_ERROR_INVALID" link="gi-GITypelib.html#G-TYPELIB-ERROR-INVALID:CAPS"/>
- <keyword type="constant" name="G_TYPELIB_ERROR_INVALID_HEADER" link="gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-HEADER:CAPS"/>
- <keyword type="constant" name="G_TYPELIB_ERROR_INVALID_DIRECTORY" link="gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-DIRECTORY:CAPS"/>
- <keyword type="constant" name="G_TYPELIB_ERROR_INVALID_ENTRY" link="gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-ENTRY:CAPS"/>
- <keyword type="constant" name="G_TYPELIB_ERROR_INVALID_BLOB" link="gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-BLOB:CAPS"/>
- <keyword type="member" name="Header.magic" link="gi-GITypelib.html#Header.magic"/>
- <keyword type="member" name="Header.major-version" link="gi-GITypelib.html#Header.major-version"/>
- <keyword type="member" name="Header.minor-version" link="gi-GITypelib.html#Header.minor-version"/>
- <keyword type="member" name="Header.reserved" link="gi-GITypelib.html#Header.reserved"/>
- <keyword type="member" name="Header.n-entries" link="gi-GITypelib.html#Header.n-entries"/>
- <keyword type="member" name="Header.n-local-entries" link="gi-GITypelib.html#Header.n-local-entries"/>
- <keyword type="member" name="Header.directory" link="gi-GITypelib.html#Header.directory"/>
- <keyword type="member" name="Header.n-attributes" link="gi-GITypelib.html#Header.n-attributes"/>
- <keyword type="member" name="Header.attributes" link="gi-GITypelib.html#Header.attributes"/>
- <keyword type="member" name="Header.dependencies" link="gi-GITypelib.html#Header.dependencies"/>
- <keyword type="member" name="Header.size" link="gi-GITypelib.html#Header.size"/>
- <keyword type="member" name="Header.namespace" link="gi-GITypelib.html#Header.namespace"/>
- <keyword type="member" name="Header.nsversion" link="gi-GITypelib.html#Header.nsversion"/>
- <keyword type="member" name="Header.shared-library" link="gi-GITypelib.html#Header.shared-library"/>
- <keyword type="member" name="Header.c-prefix" link="gi-GITypelib.html#Header.c-prefix"/>
- <keyword type="member" name="Header.entry-blob-size" link="gi-GITypelib.html#Header.entry-blob-size"/>
- <keyword type="member" name="Header.function-blob-size" link="gi-GITypelib.html#Header.function-blob-size"/>
- <keyword type="member" name="Header.callback-blob-size" link="gi-GITypelib.html#Header.callback-blob-size"/>
- <keyword type="member" name="Header.signal-blob-size" link="gi-GITypelib.html#Header.signal-blob-size"/>
- <keyword type="member" name="Header.vfunc-blob-size" link="gi-GITypelib.html#Header.vfunc-blob-size"/>
- <keyword type="member" name="Header.arg-blob-size" link="gi-GITypelib.html#Header.arg-blob-size"/>
- <keyword type="member" name="Header.property-blob-size" link="gi-GITypelib.html#Header.property-blob-size"/>
- <keyword type="member" name="Header.field-blob-size" link="gi-GITypelib.html#Header.field-blob-size"/>
- <keyword type="member" name="Header.value-blob-size" link="gi-GITypelib.html#Header.value-blob-size"/>
- <keyword type="member" name="Header.attribute-blob-size" link="gi-GITypelib.html#Header.attribute-blob-size"/>
- <keyword type="member" name="Header.constant-blob-size" link="gi-GITypelib.html#Header.constant-blob-size"/>
- <keyword type="member" name="Header.error-domain-blob-size" link="gi-GITypelib.html#Header.error-domain-blob-size"/>
- <keyword type="member" name="Header.signature-blob-size" link="gi-GITypelib.html#Header.signature-blob-size"/>
- <keyword type="member" name="Header.enum-blob-size" link="gi-GITypelib.html#Header.enum-blob-size"/>
- <keyword type="member" name="Header.struct-blob-size" link="gi-GITypelib.html#Header.struct-blob-size"/>
- <keyword type="member" name="Header.object-blob-size" link="gi-GITypelib.html#Header.object-blob-size"/>
- <keyword type="member" name="Header.interface-blob-size" link="gi-GITypelib.html#Header.interface-blob-size"/>
- <keyword type="member" name="Header.union-blob-size" link="gi-GITypelib.html#Header.union-blob-size"/>
- <keyword type="member" name="Header.sections" link="gi-GITypelib.html#Header.sections"/>
- <keyword type="member" name="Header.padding" link="gi-GITypelib.html#Header.padding"/>
- <keyword type="member" name="Section.id" link="gi-GITypelib.html#Section.id"/>
- <keyword type="member" name="Section.offset" link="gi-GITypelib.html#Section.offset"/>
- <keyword type="member" name="DirEntry.blob-type" link="gi-GITypelib.html#DirEntry.blob-type"/>
- <keyword type="member" name="DirEntry.local" link="gi-GITypelib.html#DirEntry.local"/>
- <keyword type="member" name="DirEntry.reserved" link="gi-GITypelib.html#DirEntry.reserved"/>
- <keyword type="member" name="DirEntry.name" link="gi-GITypelib.html#DirEntry.name"/>
- <keyword type="member" name="DirEntry.offset" link="gi-GITypelib.html#DirEntry.offset"/>
- <keyword type="member" name="SimpleTypeBlobFlags.reserved" link="gi-GITypelib.html#SimpleTypeBlobFlags.reserved"/>
- <keyword type="member" name="SimpleTypeBlobFlags.reserved2" link="gi-GITypelib.html#SimpleTypeBlobFlags.reserved2"/>
- <keyword type="member" name="SimpleTypeBlobFlags.pointer" link="gi-GITypelib.html#SimpleTypeBlobFlags.pointer"/>
- <keyword type="member" name="SimpleTypeBlobFlags.reserved3" link="gi-GITypelib.html#SimpleTypeBlobFlags.reserved3"/>
- <keyword type="member" name="SimpleTypeBlobFlags.tag" link="gi-GITypelib.html#SimpleTypeBlobFlags.tag"/>
- <keyword type="member" name="ArgBlob.name" link="gi-GITypelib.html#ArgBlob.name"/>
- <keyword type="member" name="ArgBlob.in" link="gi-GITypelib.html#ArgBlob.in"/>
- <keyword type="member" name="ArgBlob.out" link="gi-GITypelib.html#ArgBlob.out"/>
- <keyword type="member" name="ArgBlob.caller-allocates" link="gi-GITypelib.html#ArgBlob.caller-allocates"/>
- <keyword type="member" name="ArgBlob.nullable" link="gi-GITypelib.html#ArgBlob.nullable"/>
- <keyword type="member" name="ArgBlob.optional" link="gi-GITypelib.html#ArgBlob.optional"/>
- <keyword type="member" name="ArgBlob.transfer-ownership" link="gi-GITypelib.html#ArgBlob.transfer-ownership"/>
- <keyword type="member" name="ArgBlob.transfer-container-ownership" link="gi-GITypelib.html#ArgBlob.transfer-container-ownership"/>
- <keyword type="member" name="ArgBlob.return-value" link="gi-GITypelib.html#ArgBlob.return-value"/>
- <keyword type="member" name="ArgBlob.scope" link="gi-GITypelib.html#ArgBlob.scope"/>
- <keyword type="member" name="ArgBlob.skip" link="gi-GITypelib.html#ArgBlob.skip"/>
- <keyword type="member" name="ArgBlob.reserved" link="gi-GITypelib.html#ArgBlob.reserved"/>
- <keyword type="member" name="ArgBlob.closure" link="gi-GITypelib.html#ArgBlob.closure"/>
- <keyword type="member" name="ArgBlob.destroy" link="gi-GITypelib.html#ArgBlob.destroy"/>
- <keyword type="member" name="ArgBlob.padding" link="gi-GITypelib.html#ArgBlob.padding"/>
- <keyword type="member" name="ArgBlob.arg-type" link="gi-GITypelib.html#ArgBlob.arg-type"/>
- <keyword type="member" name="SignatureBlob.return-type" link="gi-GITypelib.html#SignatureBlob.return-type"/>
- <keyword type="member" name="SignatureBlob.may-return-null" link="gi-GITypelib.html#SignatureBlob.may-return-null"/>
- <keyword type="member" name="SignatureBlob.caller-owns-return-value" link="gi-GITypelib.html#SignatureBlob.caller-owns-return-value"/>
- <keyword type="member" name="SignatureBlob.caller-owns-return-container" link="gi-GITypelib.html#SignatureBlob.caller-owns-return-container"/>
- <keyword type="member" name="SignatureBlob.skip-return" link="gi-GITypelib.html#SignatureBlob.skip-return"/>
- <keyword type="member" name="SignatureBlob.instance-transfer-ownership" link="gi-GITypelib.html#SignatureBlob.instance-transfer-ownership"/>
- <keyword type="member" name="SignatureBlob.throws" link="gi-GITypelib.html#SignatureBlob.throws"/>
- <keyword type="member" name="SignatureBlob.reserved" link="gi-GITypelib.html#SignatureBlob.reserved"/>
- <keyword type="member" name="SignatureBlob.n-arguments" link="gi-GITypelib.html#SignatureBlob.n-arguments"/>
- <keyword type="member" name="SignatureBlob.arguments" link="gi-GITypelib.html#SignatureBlob.arguments"/>
- <keyword type="member" name="CommonBlob.blob-type" link="gi-GITypelib.html#CommonBlob.blob-type"/>
- <keyword type="member" name="CommonBlob.deprecated" link="gi-GITypelib.html#CommonBlob.deprecated"/>
- <keyword type="member" name="CommonBlob.reserved" link="gi-GITypelib.html#CommonBlob.reserved"/>
- <keyword type="member" name="CommonBlob.name" link="gi-GITypelib.html#CommonBlob.name"/>
- <keyword type="member" name="FunctionBlob.blob-type" link="gi-GITypelib.html#FunctionBlob.blob-type"/>
- <keyword type="member" name="FunctionBlob.deprecated" link="gi-GITypelib.html#FunctionBlob.deprecated"/>
- <keyword type="member" name="FunctionBlob.setter" link="gi-GITypelib.html#FunctionBlob.setter"/>
- <keyword type="member" name="FunctionBlob.getter" link="gi-GITypelib.html#FunctionBlob.getter"/>
- <keyword type="member" name="FunctionBlob.constructor" link="gi-GITypelib.html#FunctionBlob.constructor"/>
- <keyword type="member" name="FunctionBlob.wraps-vfunc" link="gi-GITypelib.html#FunctionBlob.wraps-vfunc"/>
- <keyword type="member" name="FunctionBlob.throws" link="gi-GITypelib.html#FunctionBlob.throws"/>
- <keyword type="member" name="FunctionBlob.index" link="gi-GITypelib.html#FunctionBlob.index"/>
- <keyword type="member" name="FunctionBlob.name" link="gi-GITypelib.html#FunctionBlob.name"/>
- <keyword type="member" name="FunctionBlob.symbol" link="gi-GITypelib.html#FunctionBlob.symbol"/>
- <keyword type="member" name="FunctionBlob.signature" link="gi-GITypelib.html#FunctionBlob.signature"/>
- <keyword type="member" name="FunctionBlob.is-static" link="gi-GITypelib.html#FunctionBlob.is-static"/>
- <keyword type="member" name="FunctionBlob.reserved" link="gi-GITypelib.html#FunctionBlob.reserved"/>
- <keyword type="member" name="FunctionBlob.reserved2" link="gi-GITypelib.html#FunctionBlob.reserved2"/>
- <keyword type="member" name="CallbackBlob.blob-type" link="gi-GITypelib.html#CallbackBlob.blob-type"/>
- <keyword type="member" name="CallbackBlob.deprecated" link="gi-GITypelib.html#CallbackBlob.deprecated"/>
- <keyword type="member" name="CallbackBlob.reserved" link="gi-GITypelib.html#CallbackBlob.reserved"/>
- <keyword type="member" name="CallbackBlob.name" link="gi-GITypelib.html#CallbackBlob.name"/>
- <keyword type="member" name="CallbackBlob.signature" link="gi-GITypelib.html#CallbackBlob.signature"/>
- <keyword type="member" name="InterfaceTypeBlob.pointer" link="gi-GITypelib.html#InterfaceTypeBlob.pointer"/>
- <keyword type="member" name="InterfaceTypeBlob.reserved" link="gi-GITypelib.html#InterfaceTypeBlob.reserved"/>
- <keyword type="member" name="InterfaceTypeBlob.tag" link="gi-GITypelib.html#InterfaceTypeBlob.tag"/>
- <keyword type="member" name="InterfaceTypeBlob.reserved2" link="gi-GITypelib.html#InterfaceTypeBlob.reserved2"/>
- <keyword type="member" name="InterfaceTypeBlob.interface" link="gi-GITypelib.html#InterfaceTypeBlob.interface"/>
- <keyword type="member" name="ArrayTypeBlob.pointer" link="gi-GITypelib.html#ArrayTypeBlob.pointer"/>
- <keyword type="member" name="ArrayTypeBlob.reserved" link="gi-GITypelib.html#ArrayTypeBlob.reserved"/>
- <keyword type="member" name="ArrayTypeBlob.tag" link="gi-GITypelib.html#ArrayTypeBlob.tag"/>
- <keyword type="member" name="ArrayTypeBlob.zero-terminated" link="gi-GITypelib.html#ArrayTypeBlob.zero-terminated"/>
- <keyword type="member" name="ArrayTypeBlob.has-length" link="gi-GITypelib.html#ArrayTypeBlob.has-length"/>
- <keyword type="member" name="ArrayTypeBlob.has-size" link="gi-GITypelib.html#ArrayTypeBlob.has-size"/>
- <keyword type="member" name="ArrayTypeBlob.array-type" link="gi-GITypelib.html#ArrayTypeBlob.array-type"/>
- <keyword type="member" name="ArrayTypeBlob.reserved2" link="gi-GITypelib.html#ArrayTypeBlob.reserved2"/>
- <keyword type="member" name="ArrayTypeBlob.dimensions" link="gi-GITypelib.html#ArrayTypeBlob.dimensions"/>
- <keyword type="member" name="ArrayTypeBlob.type" link="gi-GITypelib.html#ArrayTypeBlob.type"/>
- <keyword type="member" name="ParamTypeBlob.pointer" link="gi-GITypelib.html#ParamTypeBlob.pointer"/>
- <keyword type="member" name="ParamTypeBlob.reserved" link="gi-GITypelib.html#ParamTypeBlob.reserved"/>
- <keyword type="member" name="ParamTypeBlob.tag" link="gi-GITypelib.html#ParamTypeBlob.tag"/>
- <keyword type="member" name="ParamTypeBlob.reserved2" link="gi-GITypelib.html#ParamTypeBlob.reserved2"/>
- <keyword type="member" name="ParamTypeBlob.n-types" link="gi-GITypelib.html#ParamTypeBlob.n-types"/>
- <keyword type="member" name="ParamTypeBlob.type" link="gi-GITypelib.html#ParamTypeBlob.type"/>
- <keyword type="member" name="ErrorTypeBlob.pointer" link="gi-GITypelib.html#ErrorTypeBlob.pointer"/>
- <keyword type="member" name="ErrorTypeBlob.reserved" link="gi-GITypelib.html#ErrorTypeBlob.reserved"/>
- <keyword type="member" name="ErrorTypeBlob.tag" link="gi-GITypelib.html#ErrorTypeBlob.tag"/>
- <keyword type="member" name="ErrorTypeBlob.reserved2" link="gi-GITypelib.html#ErrorTypeBlob.reserved2"/>
- <keyword type="member" name="ErrorTypeBlob.n-domains" link="gi-GITypelib.html#ErrorTypeBlob.n-domains"/>
- <keyword type="member" name="ErrorTypeBlob.domains" link="gi-GITypelib.html#ErrorTypeBlob.domains"/>
- <keyword type="member" name="ValueBlob.deprecated" link="gi-GITypelib.html#ValueBlob.deprecated"/>
- <keyword type="member" name="ValueBlob.unsigned-value" link="gi-GITypelib.html#ValueBlob.unsigned-value"/>
- <keyword type="member" name="ValueBlob.reserved" link="gi-GITypelib.html#ValueBlob.reserved"/>
- <keyword type="member" name="ValueBlob.name" link="gi-GITypelib.html#ValueBlob.name"/>
- <keyword type="member" name="ValueBlob.value" link="gi-GITypelib.html#ValueBlob.value"/>
- <keyword type="member" name="FieldBlob.name" link="gi-GITypelib.html#FieldBlob.name"/>
- <keyword type="member" name="FieldBlob.readable" link="gi-GITypelib.html#FieldBlob.readable"/>
- <keyword type="member" name="FieldBlob.writable" link="gi-GITypelib.html#FieldBlob.writable"/>
- <keyword type="member" name="FieldBlob.has-embedded-type" link="gi-GITypelib.html#FieldBlob.has-embedded-type"/>
- <keyword type="member" name="FieldBlob.reserved" link="gi-GITypelib.html#FieldBlob.reserved"/>
- <keyword type="member" name="FieldBlob.bits" link="gi-GITypelib.html#FieldBlob.bits"/>
- <keyword type="member" name="FieldBlob.struct-offset" link="gi-GITypelib.html#FieldBlob.struct-offset"/>
- <keyword type="member" name="FieldBlob.reserved2" link="gi-GITypelib.html#FieldBlob.reserved2"/>
- <keyword type="member" name="FieldBlob.type" link="gi-GITypelib.html#FieldBlob.type"/>
- <keyword type="member" name="RegisteredTypeBlob.blob-type" link="gi-GITypelib.html#RegisteredTypeBlob.blob-type"/>
- <keyword type="member" name="RegisteredTypeBlob.deprecated" link="gi-GITypelib.html#RegisteredTypeBlob.deprecated"/>
- <keyword type="member" name="RegisteredTypeBlob.unregistered" link="gi-GITypelib.html#RegisteredTypeBlob.unregistered"/>
- <keyword type="member" name="RegisteredTypeBlob.reserved" link="gi-GITypelib.html#RegisteredTypeBlob.reserved"/>
- <keyword type="member" name="RegisteredTypeBlob.name" link="gi-GITypelib.html#RegisteredTypeBlob.name"/>
- <keyword type="member" name="RegisteredTypeBlob.gtype-name" link="gi-GITypelib.html#RegisteredTypeBlob.gtype-name"/>
- <keyword type="member" name="RegisteredTypeBlob.gtype-init" link="gi-GITypelib.html#RegisteredTypeBlob.gtype-init"/>
- <keyword type="member" name="StructBlob.blob-type" link="gi-GITypelib.html#StructBlob.blob-type"/>
- <keyword type="member" name="StructBlob.deprecated" link="gi-GITypelib.html#StructBlob.deprecated"/>
- <keyword type="member" name="StructBlob.unregistered" link="gi-GITypelib.html#StructBlob.unregistered"/>
- <keyword type="member" name="StructBlob.is-gtype-struct" link="gi-GITypelib.html#StructBlob.is-gtype-struct"/>
- <keyword type="member" name="StructBlob.alignment" link="gi-GITypelib.html#StructBlob.alignment"/>
- <keyword type="member" name="StructBlob.foreign" link="gi-GITypelib.html#StructBlob.foreign"/>
- <keyword type="member" name="StructBlob.reserved" link="gi-GITypelib.html#StructBlob.reserved"/>
- <keyword type="member" name="StructBlob.name" link="gi-GITypelib.html#StructBlob.name"/>
- <keyword type="member" name="StructBlob.gtype-name" link="gi-GITypelib.html#StructBlob.gtype-name"/>
- <keyword type="member" name="StructBlob.gtype-init" link="gi-GITypelib.html#StructBlob.gtype-init"/>
- <keyword type="member" name="StructBlob.size" link="gi-GITypelib.html#StructBlob.size"/>
- <keyword type="member" name="StructBlob.n-fields" link="gi-GITypelib.html#StructBlob.n-fields"/>
- <keyword type="member" name="StructBlob.n-methods" link="gi-GITypelib.html#StructBlob.n-methods"/>
- <keyword type="member" name="StructBlob.reserved2" link="gi-GITypelib.html#StructBlob.reserved2"/>
- <keyword type="member" name="StructBlob.reserved3" link="gi-GITypelib.html#StructBlob.reserved3"/>
- <keyword type="member" name="UnionBlob.blob-type" link="gi-GITypelib.html#UnionBlob.blob-type"/>
- <keyword type="member" name="UnionBlob.deprecated" link="gi-GITypelib.html#UnionBlob.deprecated"/>
- <keyword type="member" name="UnionBlob.unregistered" link="gi-GITypelib.html#UnionBlob.unregistered"/>
- <keyword type="member" name="UnionBlob.discriminated" link="gi-GITypelib.html#UnionBlob.discriminated"/>
- <keyword type="member" name="UnionBlob.alignment" link="gi-GITypelib.html#UnionBlob.alignment"/>
- <keyword type="member" name="UnionBlob.reserved" link="gi-GITypelib.html#UnionBlob.reserved"/>
- <keyword type="member" name="UnionBlob.name" link="gi-GITypelib.html#UnionBlob.name"/>
- <keyword type="member" name="UnionBlob.gtype-name" link="gi-GITypelib.html#UnionBlob.gtype-name"/>
- <keyword type="member" name="UnionBlob.gtype-init" link="gi-GITypelib.html#UnionBlob.gtype-init"/>
- <keyword type="member" name="UnionBlob.size" link="gi-GITypelib.html#UnionBlob.size"/>
- <keyword type="member" name="UnionBlob.n-fields" link="gi-GITypelib.html#UnionBlob.n-fields"/>
- <keyword type="member" name="UnionBlob.n-functions" link="gi-GITypelib.html#UnionBlob.n-functions"/>
- <keyword type="member" name="UnionBlob.reserved2" link="gi-GITypelib.html#UnionBlob.reserved2"/>
- <keyword type="member" name="UnionBlob.reserved3" link="gi-GITypelib.html#UnionBlob.reserved3"/>
- <keyword type="member" name="UnionBlob.discriminator-offset" link="gi-GITypelib.html#UnionBlob.discriminator-offset"/>
- <keyword type="member" name="UnionBlob.discriminator-type" link="gi-GITypelib.html#UnionBlob.discriminator-type"/>
- <keyword type="member" name="EnumBlob.blob-type" link="gi-GITypelib.html#EnumBlob.blob-type"/>
- <keyword type="member" name="EnumBlob.deprecated" link="gi-GITypelib.html#EnumBlob.deprecated"/>
- <keyword type="member" name="EnumBlob.unregistered" link="gi-GITypelib.html#EnumBlob.unregistered"/>
- <keyword type="member" name="EnumBlob.storage-type" link="gi-GITypelib.html#EnumBlob.storage-type"/>
- <keyword type="member" name="EnumBlob.reserved" link="gi-GITypelib.html#EnumBlob.reserved"/>
- <keyword type="member" name="EnumBlob.name" link="gi-GITypelib.html#EnumBlob.name"/>
- <keyword type="member" name="EnumBlob.gtype-name" link="gi-GITypelib.html#EnumBlob.gtype-name"/>
- <keyword type="member" name="EnumBlob.gtype-init" link="gi-GITypelib.html#EnumBlob.gtype-init"/>
- <keyword type="member" name="EnumBlob.n-values" link="gi-GITypelib.html#EnumBlob.n-values"/>
- <keyword type="member" name="EnumBlob.n-methods" link="gi-GITypelib.html#EnumBlob.n-methods"/>
- <keyword type="member" name="EnumBlob.error-domain" link="gi-GITypelib.html#EnumBlob.error-domain"/>
- <keyword type="member" name="EnumBlob.values" link="gi-GITypelib.html#EnumBlob.values"/>
- <keyword type="member" name="PropertyBlob.name" link="gi-GITypelib.html#PropertyBlob.name"/>
- <keyword type="member" name="PropertyBlob.deprecated" link="gi-GITypelib.html#PropertyBlob.deprecated"/>
- <keyword type="member" name="PropertyBlob.readable" link="gi-GITypelib.html#PropertyBlob.readable"/>
- <keyword type="member" name="PropertyBlob.writable" link="gi-GITypelib.html#PropertyBlob.writable"/>
- <keyword type="member" name="PropertyBlob.construct" link="gi-GITypelib.html#PropertyBlob.construct"/>
- <keyword type="member" name="PropertyBlob.construct-only" link="gi-GITypelib.html#PropertyBlob.construct-only"/>
- <keyword type="member" name="PropertyBlob.transfer-ownership" link="gi-GITypelib.html#PropertyBlob.transfer-ownership"/>
- <keyword type="member" name="PropertyBlob.transfer-container-ownership" link="gi-GITypelib.html#PropertyBlob.transfer-container-ownership"/>
- <keyword type="member" name="PropertyBlob.reserved" link="gi-GITypelib.html#PropertyBlob.reserved"/>
- <keyword type="member" name="PropertyBlob.reserved2" link="gi-GITypelib.html#PropertyBlob.reserved2"/>
- <keyword type="member" name="PropertyBlob.type" link="gi-GITypelib.html#PropertyBlob.type"/>
- <keyword type="member" name="SignalBlob.deprecated" link="gi-GITypelib.html#SignalBlob.deprecated"/>
- <keyword type="member" name="SignalBlob.run-first" link="gi-GITypelib.html#SignalBlob.run-first"/>
- <keyword type="member" name="SignalBlob.run-last" link="gi-GITypelib.html#SignalBlob.run-last"/>
- <keyword type="member" name="SignalBlob.run-cleanup" link="gi-GITypelib.html#SignalBlob.run-cleanup"/>
- <keyword type="member" name="SignalBlob.no-recurse" link="gi-GITypelib.html#SignalBlob.no-recurse"/>
- <keyword type="member" name="SignalBlob.detailed" link="gi-GITypelib.html#SignalBlob.detailed"/>
- <keyword type="member" name="SignalBlob.action" link="gi-GITypelib.html#SignalBlob.action"/>
- <keyword type="member" name="SignalBlob.no-hooks" link="gi-GITypelib.html#SignalBlob.no-hooks"/>
- <keyword type="member" name="SignalBlob.has-class-closure" link="gi-GITypelib.html#SignalBlob.has-class-closure"/>
- <keyword type="member" name="SignalBlob.true-stops-emit" link="gi-GITypelib.html#SignalBlob.true-stops-emit"/>
- <keyword type="member" name="SignalBlob.reserved" link="gi-GITypelib.html#SignalBlob.reserved"/>
- <keyword type="member" name="SignalBlob.class-closure" link="gi-GITypelib.html#SignalBlob.class-closure"/>
- <keyword type="member" name="SignalBlob.name" link="gi-GITypelib.html#SignalBlob.name"/>
- <keyword type="member" name="SignalBlob.reserved2" link="gi-GITypelib.html#SignalBlob.reserved2"/>
- <keyword type="member" name="SignalBlob.signature" link="gi-GITypelib.html#SignalBlob.signature"/>
- <keyword type="member" name="VFuncBlob.name" link="gi-GITypelib.html#VFuncBlob.name"/>
- <keyword type="member" name="VFuncBlob.must-chain-up" link="gi-GITypelib.html#VFuncBlob.must-chain-up"/>
- <keyword type="member" name="VFuncBlob.must-be-implemented" link="gi-GITypelib.html#VFuncBlob.must-be-implemented"/>
- <keyword type="member" name="VFuncBlob.must-not-be-implemented" link="gi-GITypelib.html#VFuncBlob.must-not-be-implemented"/>
- <keyword type="member" name="VFuncBlob.class-closure" link="gi-GITypelib.html#VFuncBlob.class-closure"/>
- <keyword type="member" name="VFuncBlob.throws" link="gi-GITypelib.html#VFuncBlob.throws"/>
- <keyword type="member" name="VFuncBlob.reserved" link="gi-GITypelib.html#VFuncBlob.reserved"/>
- <keyword type="member" name="VFuncBlob.signal" link="gi-GITypelib.html#VFuncBlob.signal"/>
- <keyword type="member" name="VFuncBlob.struct-offset" link="gi-GITypelib.html#VFuncBlob.struct-offset"/>
- <keyword type="member" name="VFuncBlob.invoker" link="gi-GITypelib.html#VFuncBlob.invoker"/>
- <keyword type="member" name="VFuncBlob.reserved2" link="gi-GITypelib.html#VFuncBlob.reserved2"/>
- <keyword type="member" name="VFuncBlob.reserved3" link="gi-GITypelib.html#VFuncBlob.reserved3"/>
- <keyword type="member" name="VFuncBlob.signature" link="gi-GITypelib.html#VFuncBlob.signature"/>
- <keyword type="member" name="ObjectBlob.blob-type" link="gi-GITypelib.html#ObjectBlob.blob-type"/>
- <keyword type="member" name="ObjectBlob.deprecated" link="gi-GITypelib.html#ObjectBlob.deprecated"/>
- <keyword type="member" name="ObjectBlob.abstract" link="gi-GITypelib.html#ObjectBlob.abstract"/>
- <keyword type="member" name="ObjectBlob.fundamental" link="gi-GITypelib.html#ObjectBlob.fundamental"/>
- <keyword type="member" name="ObjectBlob.reserved" link="gi-GITypelib.html#ObjectBlob.reserved"/>
- <keyword type="member" name="ObjectBlob.name" link="gi-GITypelib.html#ObjectBlob.name"/>
- <keyword type="member" name="ObjectBlob.gtype-name" link="gi-GITypelib.html#ObjectBlob.gtype-name"/>
- <keyword type="member" name="ObjectBlob.gtype-init" link="gi-GITypelib.html#ObjectBlob.gtype-init"/>
- <keyword type="member" name="ObjectBlob.parent" link="gi-GITypelib.html#ObjectBlob.parent"/>
- <keyword type="member" name="ObjectBlob.gtype-struct" link="gi-GITypelib.html#ObjectBlob.gtype-struct"/>
- <keyword type="member" name="ObjectBlob.n-interfaces" link="gi-GITypelib.html#ObjectBlob.n-interfaces"/>
- <keyword type="member" name="ObjectBlob.n-fields" link="gi-GITypelib.html#ObjectBlob.n-fields"/>
- <keyword type="member" name="ObjectBlob.n-properties" link="gi-GITypelib.html#ObjectBlob.n-properties"/>
- <keyword type="member" name="ObjectBlob.n-methods" link="gi-GITypelib.html#ObjectBlob.n-methods"/>
- <keyword type="member" name="ObjectBlob.n-signals" link="gi-GITypelib.html#ObjectBlob.n-signals"/>
- <keyword type="member" name="ObjectBlob.n-vfuncs" link="gi-GITypelib.html#ObjectBlob.n-vfuncs"/>
- <keyword type="member" name="ObjectBlob.n-constants" link="gi-GITypelib.html#ObjectBlob.n-constants"/>
- <keyword type="member" name="ObjectBlob.n-field-callbacks" link="gi-GITypelib.html#ObjectBlob.n-field-callbacks"/>
- <keyword type="member" name="ObjectBlob.ref-func" link="gi-GITypelib.html#ObjectBlob.ref-func"/>
- <keyword type="member" name="ObjectBlob.unref-func" link="gi-GITypelib.html#ObjectBlob.unref-func"/>
- <keyword type="member" name="ObjectBlob.set-value-func" link="gi-GITypelib.html#ObjectBlob.set-value-func"/>
- <keyword type="member" name="ObjectBlob.get-value-func" link="gi-GITypelib.html#ObjectBlob.get-value-func"/>
- <keyword type="member" name="ObjectBlob.reserved3" link="gi-GITypelib.html#ObjectBlob.reserved3"/>
- <keyword type="member" name="ObjectBlob.reserved4" link="gi-GITypelib.html#ObjectBlob.reserved4"/>
- <keyword type="member" name="ObjectBlob.interfaces" link="gi-GITypelib.html#ObjectBlob.interfaces"/>
- <keyword type="member" name="InterfaceBlob.blob-type" link="gi-GITypelib.html#InterfaceBlob.blob-type"/>
- <keyword type="member" name="InterfaceBlob.deprecated" link="gi-GITypelib.html#InterfaceBlob.deprecated"/>
- <keyword type="member" name="InterfaceBlob.reserved" link="gi-GITypelib.html#InterfaceBlob.reserved"/>
- <keyword type="member" name="InterfaceBlob.name" link="gi-GITypelib.html#InterfaceBlob.name"/>
- <keyword type="member" name="InterfaceBlob.gtype-name" link="gi-GITypelib.html#InterfaceBlob.gtype-name"/>
- <keyword type="member" name="InterfaceBlob.gtype-init" link="gi-GITypelib.html#InterfaceBlob.gtype-init"/>
- <keyword type="member" name="InterfaceBlob.gtype-struct" link="gi-GITypelib.html#InterfaceBlob.gtype-struct"/>
- <keyword type="member" name="InterfaceBlob.n-prerequisites" link="gi-GITypelib.html#InterfaceBlob.n-prerequisites"/>
- <keyword type="member" name="InterfaceBlob.n-properties" link="gi-GITypelib.html#InterfaceBlob.n-properties"/>
- <keyword type="member" name="InterfaceBlob.n-methods" link="gi-GITypelib.html#InterfaceBlob.n-methods"/>
- <keyword type="member" name="InterfaceBlob.n-signals" link="gi-GITypelib.html#InterfaceBlob.n-signals"/>
- <keyword type="member" name="InterfaceBlob.n-vfuncs" link="gi-GITypelib.html#InterfaceBlob.n-vfuncs"/>
- <keyword type="member" name="InterfaceBlob.n-constants" link="gi-GITypelib.html#InterfaceBlob.n-constants"/>
- <keyword type="member" name="InterfaceBlob.padding" link="gi-GITypelib.html#InterfaceBlob.padding"/>
- <keyword type="member" name="InterfaceBlob.reserved2" link="gi-GITypelib.html#InterfaceBlob.reserved2"/>
- <keyword type="member" name="InterfaceBlob.reserved3" link="gi-GITypelib.html#InterfaceBlob.reserved3"/>
- <keyword type="member" name="InterfaceBlob.prerequisites" link="gi-GITypelib.html#InterfaceBlob.prerequisites"/>
- <keyword type="member" name="ConstantBlob.blob-type" link="gi-GITypelib.html#ConstantBlob.blob-type"/>
- <keyword type="member" name="ConstantBlob.deprecated" link="gi-GITypelib.html#ConstantBlob.deprecated"/>
- <keyword type="member" name="ConstantBlob.reserved" link="gi-GITypelib.html#ConstantBlob.reserved"/>
- <keyword type="member" name="ConstantBlob.name" link="gi-GITypelib.html#ConstantBlob.name"/>
- <keyword type="member" name="ConstantBlob.type" link="gi-GITypelib.html#ConstantBlob.type"/>
- <keyword type="member" name="ConstantBlob.size" link="gi-GITypelib.html#ConstantBlob.size"/>
- <keyword type="member" name="ConstantBlob.offset" link="gi-GITypelib.html#ConstantBlob.offset"/>
- <keyword type="member" name="ConstantBlob.reserved2" link="gi-GITypelib.html#ConstantBlob.reserved2"/>
- <keyword type="member" name="AttributeBlob.offset" link="gi-GITypelib.html#AttributeBlob.offset"/>
- <keyword type="member" name="AttributeBlob.name" link="gi-GITypelib.html#AttributeBlob.name"/>
- <keyword type="member" name="AttributeBlob.value" link="gi-GITypelib.html#AttributeBlob.value"/>
+ <keyword type="constant" name="BLOB_TYPE_INVALID" link="gi-GITypelib-Internals.html#BLOB-TYPE-INVALID:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_FUNCTION" link="gi-GITypelib-Internals.html#BLOB-TYPE-FUNCTION:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_CALLBACK" link="gi-GITypelib-Internals.html#BLOB-TYPE-CALLBACK:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_STRUCT" link="gi-GITypelib-Internals.html#BLOB-TYPE-STRUCT:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_BOXED" link="gi-GITypelib-Internals.html#BLOB-TYPE-BOXED:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_ENUM" link="gi-GITypelib-Internals.html#BLOB-TYPE-ENUM:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_FLAGS" link="gi-GITypelib-Internals.html#BLOB-TYPE-FLAGS:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_OBJECT" link="gi-GITypelib-Internals.html#BLOB-TYPE-OBJECT:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_INTERFACE" link="gi-GITypelib-Internals.html#BLOB-TYPE-INTERFACE:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_CONSTANT" link="gi-GITypelib-Internals.html#BLOB-TYPE-CONSTANT:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_INVALID_0" link="gi-GITypelib-Internals.html#BLOB-TYPE-INVALID-0:CAPS"/>
+ <keyword type="constant" name="BLOB_TYPE_UNION" link="gi-GITypelib-Internals.html#BLOB-TYPE-UNION:CAPS"/>
+ <keyword type="constant" name="GI_SECTION_END" link="gi-GITypelib-Internals.html#GI-SECTION-END:CAPS"/>
+ <keyword type="constant" name="GI_SECTION_DIRECTORY_INDEX" link="gi-GITypelib-Internals.html#GI-SECTION-DIRECTORY-INDEX:CAPS"/>
+ <keyword type="constant" name="G_TYPELIB_ERROR_INVALID" link="gi-GITypelib-Internals.html#G-TYPELIB-ERROR-INVALID:CAPS"/>
+ <keyword type="constant" name="G_TYPELIB_ERROR_INVALID_HEADER" link="gi-GITypelib-Internals.html#G-TYPELIB-ERROR-INVALID-HEADER:CAPS"/>
+ <keyword type="constant" name="G_TYPELIB_ERROR_INVALID_DIRECTORY" link="gi-GITypelib-Internals.html#G-TYPELIB-ERROR-INVALID-DIRECTORY:CAPS"/>
+ <keyword type="constant" name="G_TYPELIB_ERROR_INVALID_ENTRY" link="gi-GITypelib-Internals.html#G-TYPELIB-ERROR-INVALID-ENTRY:CAPS"/>
+ <keyword type="constant" name="G_TYPELIB_ERROR_INVALID_BLOB" link="gi-GITypelib-Internals.html#G-TYPELIB-ERROR-INVALID-BLOB:CAPS"/>
<keyword type="member" name="GIFunctionInvoker.cif" link="gi-girffi.html#GIFunctionInvoker.cif"/>
<keyword type="member" name="GIFunctionInvoker.native-address" link="gi-girffi.html#GIFunctionInvoker.native-address"/>
+ <keyword type="member" name="Header.magic" link="gi-GITypelib-Internals.html#Header.magic"/>
+ <keyword type="member" name="Header.major-version" link="gi-GITypelib-Internals.html#Header.major-version"/>
+ <keyword type="member" name="Header.minor-version" link="gi-GITypelib-Internals.html#Header.minor-version"/>
+ <keyword type="member" name="Header.reserved" link="gi-GITypelib-Internals.html#Header.reserved"/>
+ <keyword type="member" name="Header.n-entries" link="gi-GITypelib-Internals.html#Header.n-entries"/>
+ <keyword type="member" name="Header.n-local-entries" link="gi-GITypelib-Internals.html#Header.n-local-entries"/>
+ <keyword type="member" name="Header.directory" link="gi-GITypelib-Internals.html#Header.directory"/>
+ <keyword type="member" name="Header.n-attributes" link="gi-GITypelib-Internals.html#Header.n-attributes"/>
+ <keyword type="member" name="Header.attributes" link="gi-GITypelib-Internals.html#Header.attributes"/>
+ <keyword type="member" name="Header.dependencies" link="gi-GITypelib-Internals.html#Header.dependencies"/>
+ <keyword type="member" name="Header.size" link="gi-GITypelib-Internals.html#Header.size"/>
+ <keyword type="member" name="Header.namespace" link="gi-GITypelib-Internals.html#Header.namespace"/>
+ <keyword type="member" name="Header.nsversion" link="gi-GITypelib-Internals.html#Header.nsversion"/>
+ <keyword type="member" name="Header.shared-library" link="gi-GITypelib-Internals.html#Header.shared-library"/>
+ <keyword type="member" name="Header.c-prefix" link="gi-GITypelib-Internals.html#Header.c-prefix"/>
+ <keyword type="member" name="Header.entry-blob-size" link="gi-GITypelib-Internals.html#Header.entry-blob-size"/>
+ <keyword type="member" name="Header.function-blob-size" link="gi-GITypelib-Internals.html#Header.function-blob-size"/>
+ <keyword type="member" name="Header.callback-blob-size" link="gi-GITypelib-Internals.html#Header.callback-blob-size"/>
+ <keyword type="member" name="Header.signal-blob-size" link="gi-GITypelib-Internals.html#Header.signal-blob-size"/>
+ <keyword type="member" name="Header.vfunc-blob-size" link="gi-GITypelib-Internals.html#Header.vfunc-blob-size"/>
+ <keyword type="member" name="Header.arg-blob-size" link="gi-GITypelib-Internals.html#Header.arg-blob-size"/>
+ <keyword type="member" name="Header.property-blob-size" link="gi-GITypelib-Internals.html#Header.property-blob-size"/>
+ <keyword type="member" name="Header.field-blob-size" link="gi-GITypelib-Internals.html#Header.field-blob-size"/>
+ <keyword type="member" name="Header.value-blob-size" link="gi-GITypelib-Internals.html#Header.value-blob-size"/>
+ <keyword type="member" name="Header.attribute-blob-size" link="gi-GITypelib-Internals.html#Header.attribute-blob-size"/>
+ <keyword type="member" name="Header.constant-blob-size" link="gi-GITypelib-Internals.html#Header.constant-blob-size"/>
+ <keyword type="member" name="Header.error-domain-blob-size" link="gi-GITypelib-Internals.html#Header.error-domain-blob-size"/>
+ <keyword type="member" name="Header.signature-blob-size" link="gi-GITypelib-Internals.html#Header.signature-blob-size"/>
+ <keyword type="member" name="Header.enum-blob-size" link="gi-GITypelib-Internals.html#Header.enum-blob-size"/>
+ <keyword type="member" name="Header.struct-blob-size" link="gi-GITypelib-Internals.html#Header.struct-blob-size"/>
+ <keyword type="member" name="Header.object-blob-size" link="gi-GITypelib-Internals.html#Header.object-blob-size"/>
+ <keyword type="member" name="Header.interface-blob-size" link="gi-GITypelib-Internals.html#Header.interface-blob-size"/>
+ <keyword type="member" name="Header.union-blob-size" link="gi-GITypelib-Internals.html#Header.union-blob-size"/>
+ <keyword type="member" name="Header.sections" link="gi-GITypelib-Internals.html#Header.sections"/>
+ <keyword type="member" name="Header.padding" link="gi-GITypelib-Internals.html#Header.padding"/>
+ <keyword type="member" name="Section.id" link="gi-GITypelib-Internals.html#Section.id"/>
+ <keyword type="member" name="Section.offset" link="gi-GITypelib-Internals.html#Section.offset"/>
+ <keyword type="member" name="DirEntry.blob-type" link="gi-GITypelib-Internals.html#DirEntry.blob-type"/>
+ <keyword type="member" name="DirEntry.local" link="gi-GITypelib-Internals.html#DirEntry.local"/>
+ <keyword type="member" name="DirEntry.reserved" link="gi-GITypelib-Internals.html#DirEntry.reserved"/>
+ <keyword type="member" name="DirEntry.name" link="gi-GITypelib-Internals.html#DirEntry.name"/>
+ <keyword type="member" name="DirEntry.offset" link="gi-GITypelib-Internals.html#DirEntry.offset"/>
+ <keyword type="member" name="SimpleTypeBlobFlags.reserved" link="gi-GITypelib-Internals.html#SimpleTypeBlobFlags.reserved"/>
+ <keyword type="member" name="SimpleTypeBlobFlags.reserved2" link="gi-GITypelib-Internals.html#SimpleTypeBlobFlags.reserved2"/>
+ <keyword type="member" name="SimpleTypeBlobFlags.pointer" link="gi-GITypelib-Internals.html#SimpleTypeBlobFlags.pointer"/>
+ <keyword type="member" name="SimpleTypeBlobFlags.reserved3" link="gi-GITypelib-Internals.html#SimpleTypeBlobFlags.reserved3"/>
+ <keyword type="member" name="SimpleTypeBlobFlags.tag" link="gi-GITypelib-Internals.html#SimpleTypeBlobFlags.tag"/>
+ <keyword type="member" name="ArgBlob.name" link="gi-GITypelib-Internals.html#ArgBlob.name"/>
+ <keyword type="member" name="ArgBlob.in" link="gi-GITypelib-Internals.html#ArgBlob.in"/>
+ <keyword type="member" name="ArgBlob.out" link="gi-GITypelib-Internals.html#ArgBlob.out"/>
+ <keyword type="member" name="ArgBlob.caller-allocates" link="gi-GITypelib-Internals.html#ArgBlob.caller-allocates"/>
+ <keyword type="member" name="ArgBlob.nullable" link="gi-GITypelib-Internals.html#ArgBlob.nullable"/>
+ <keyword type="member" name="ArgBlob.optional" link="gi-GITypelib-Internals.html#ArgBlob.optional"/>
+ <keyword type="member" name="ArgBlob.transfer-ownership" link="gi-GITypelib-Internals.html#ArgBlob.transfer-ownership"/>
+ <keyword type="member" name="ArgBlob.transfer-container-ownership" link="gi-GITypelib-Internals.html#ArgBlob.transfer-container-ownership"/>
+ <keyword type="member" name="ArgBlob.return-value" link="gi-GITypelib-Internals.html#ArgBlob.return-value"/>
+ <keyword type="member" name="ArgBlob.scope" link="gi-GITypelib-Internals.html#ArgBlob.scope"/>
+ <keyword type="member" name="ArgBlob.skip" link="gi-GITypelib-Internals.html#ArgBlob.skip"/>
+ <keyword type="member" name="ArgBlob.reserved" link="gi-GITypelib-Internals.html#ArgBlob.reserved"/>
+ <keyword type="member" name="ArgBlob.closure" link="gi-GITypelib-Internals.html#ArgBlob.closure"/>
+ <keyword type="member" name="ArgBlob.destroy" link="gi-GITypelib-Internals.html#ArgBlob.destroy"/>
+ <keyword type="member" name="ArgBlob.padding" link="gi-GITypelib-Internals.html#ArgBlob.padding"/>
+ <keyword type="member" name="ArgBlob.arg-type" link="gi-GITypelib-Internals.html#ArgBlob.arg-type"/>
+ <keyword type="member" name="SignatureBlob.return-type" link="gi-GITypelib-Internals.html#SignatureBlob.return-type"/>
+ <keyword type="member" name="SignatureBlob.may-return-null" link="gi-GITypelib-Internals.html#SignatureBlob.may-return-null"/>
+ <keyword type="member" name="SignatureBlob.caller-owns-return-value" link="gi-GITypelib-Internals.html#SignatureBlob.caller-owns-return-value"/>
+ <keyword type="member" name="SignatureBlob.caller-owns-return-container" link="gi-GITypelib-Internals.html#SignatureBlob.caller-owns-return-container"/>
+ <keyword type="member" name="SignatureBlob.skip-return" link="gi-GITypelib-Internals.html#SignatureBlob.skip-return"/>
+ <keyword type="member" name="SignatureBlob.instance-transfer-ownership" link="gi-GITypelib-Internals.html#SignatureBlob.instance-transfer-ownership"/>
+ <keyword type="member" name="SignatureBlob.throws" link="gi-GITypelib-Internals.html#SignatureBlob.throws"/>
+ <keyword type="member" name="SignatureBlob.reserved" link="gi-GITypelib-Internals.html#SignatureBlob.reserved"/>
+ <keyword type="member" name="SignatureBlob.n-arguments" link="gi-GITypelib-Internals.html#SignatureBlob.n-arguments"/>
+ <keyword type="member" name="SignatureBlob.arguments" link="gi-GITypelib-Internals.html#SignatureBlob.arguments"/>
+ <keyword type="member" name="CommonBlob.blob-type" link="gi-GITypelib-Internals.html#CommonBlob.blob-type"/>
+ <keyword type="member" name="CommonBlob.deprecated" link="gi-GITypelib-Internals.html#CommonBlob.deprecated"/>
+ <keyword type="member" name="CommonBlob.reserved" link="gi-GITypelib-Internals.html#CommonBlob.reserved"/>
+ <keyword type="member" name="CommonBlob.name" link="gi-GITypelib-Internals.html#CommonBlob.name"/>
+ <keyword type="member" name="FunctionBlob.blob-type" link="gi-GITypelib-Internals.html#FunctionBlob.blob-type"/>
+ <keyword type="member" name="FunctionBlob.deprecated" link="gi-GITypelib-Internals.html#FunctionBlob.deprecated"/>
+ <keyword type="member" name="FunctionBlob.setter" link="gi-GITypelib-Internals.html#FunctionBlob.setter"/>
+ <keyword type="member" name="FunctionBlob.getter" link="gi-GITypelib-Internals.html#FunctionBlob.getter"/>
+ <keyword type="member" name="FunctionBlob.constructor" link="gi-GITypelib-Internals.html#FunctionBlob.constructor"/>
+ <keyword type="member" name="FunctionBlob.wraps-vfunc" link="gi-GITypelib-Internals.html#FunctionBlob.wraps-vfunc"/>
+ <keyword type="member" name="FunctionBlob.throws" link="gi-GITypelib-Internals.html#FunctionBlob.throws"/>
+ <keyword type="member" name="FunctionBlob.index" link="gi-GITypelib-Internals.html#FunctionBlob.index"/>
+ <keyword type="member" name="FunctionBlob.name" link="gi-GITypelib-Internals.html#FunctionBlob.name"/>
+ <keyword type="member" name="FunctionBlob.symbol" link="gi-GITypelib-Internals.html#FunctionBlob.symbol"/>
+ <keyword type="member" name="FunctionBlob.signature" link="gi-GITypelib-Internals.html#FunctionBlob.signature"/>
+ <keyword type="member" name="FunctionBlob.is-static" link="gi-GITypelib-Internals.html#FunctionBlob.is-static"/>
+ <keyword type="member" name="FunctionBlob.reserved" link="gi-GITypelib-Internals.html#FunctionBlob.reserved"/>
+ <keyword type="member" name="FunctionBlob.reserved2" link="gi-GITypelib-Internals.html#FunctionBlob.reserved2"/>
+ <keyword type="member" name="CallbackBlob.blob-type" link="gi-GITypelib-Internals.html#CallbackBlob.blob-type"/>
+ <keyword type="member" name="CallbackBlob.deprecated" link="gi-GITypelib-Internals.html#CallbackBlob.deprecated"/>
+ <keyword type="member" name="CallbackBlob.reserved" link="gi-GITypelib-Internals.html#CallbackBlob.reserved"/>
+ <keyword type="member" name="CallbackBlob.name" link="gi-GITypelib-Internals.html#CallbackBlob.name"/>
+ <keyword type="member" name="CallbackBlob.signature" link="gi-GITypelib-Internals.html#CallbackBlob.signature"/>
+ <keyword type="member" name="InterfaceTypeBlob.pointer" link="gi-GITypelib-Internals.html#InterfaceTypeBlob.pointer"/>
+ <keyword type="member" name="InterfaceTypeBlob.reserved" link="gi-GITypelib-Internals.html#InterfaceTypeBlob.reserved"/>
+ <keyword type="member" name="InterfaceTypeBlob.tag" link="gi-GITypelib-Internals.html#InterfaceTypeBlob.tag"/>
+ <keyword type="member" name="InterfaceTypeBlob.reserved2" link="gi-GITypelib-Internals.html#InterfaceTypeBlob.reserved2"/>
+ <keyword type="member" name="InterfaceTypeBlob.interface" link="gi-GITypelib-Internals.html#InterfaceTypeBlob.interface"/>
+ <keyword type="member" name="ArrayTypeBlob.pointer" link="gi-GITypelib-Internals.html#ArrayTypeBlob.pointer"/>
+ <keyword type="member" name="ArrayTypeBlob.reserved" link="gi-GITypelib-Internals.html#ArrayTypeBlob.reserved"/>
+ <keyword type="member" name="ArrayTypeBlob.tag" link="gi-GITypelib-Internals.html#ArrayTypeBlob.tag"/>
+ <keyword type="member" name="ArrayTypeBlob.zero-terminated" link="gi-GITypelib-Internals.html#ArrayTypeBlob.zero-terminated"/>
+ <keyword type="member" name="ArrayTypeBlob.has-length" link="gi-GITypelib-Internals.html#ArrayTypeBlob.has-length"/>
+ <keyword type="member" name="ArrayTypeBlob.has-size" link="gi-GITypelib-Internals.html#ArrayTypeBlob.has-size"/>
+ <keyword type="member" name="ArrayTypeBlob.array-type" link="gi-GITypelib-Internals.html#ArrayTypeBlob.array-type"/>
+ <keyword type="member" name="ArrayTypeBlob.reserved2" link="gi-GITypelib-Internals.html#ArrayTypeBlob.reserved2"/>
+ <keyword type="member" name="ArrayTypeBlob.dimensions" link="gi-GITypelib-Internals.html#ArrayTypeBlob.dimensions"/>
+ <keyword type="member" name="ArrayTypeBlob.type" link="gi-GITypelib-Internals.html#ArrayTypeBlob.type"/>
+ <keyword type="member" name="ParamTypeBlob.pointer" link="gi-GITypelib-Internals.html#ParamTypeBlob.pointer"/>
+ <keyword type="member" name="ParamTypeBlob.reserved" link="gi-GITypelib-Internals.html#ParamTypeBlob.reserved"/>
+ <keyword type="member" name="ParamTypeBlob.tag" link="gi-GITypelib-Internals.html#ParamTypeBlob.tag"/>
+ <keyword type="member" name="ParamTypeBlob.reserved2" link="gi-GITypelib-Internals.html#ParamTypeBlob.reserved2"/>
+ <keyword type="member" name="ParamTypeBlob.n-types" link="gi-GITypelib-Internals.html#ParamTypeBlob.n-types"/>
+ <keyword type="member" name="ParamTypeBlob.type" link="gi-GITypelib-Internals.html#ParamTypeBlob.type"/>
+ <keyword type="member" name="ErrorTypeBlob.pointer" link="gi-GITypelib-Internals.html#ErrorTypeBlob.pointer"/>
+ <keyword type="member" name="ErrorTypeBlob.reserved" link="gi-GITypelib-Internals.html#ErrorTypeBlob.reserved"/>
+ <keyword type="member" name="ErrorTypeBlob.tag" link="gi-GITypelib-Internals.html#ErrorTypeBlob.tag"/>
+ <keyword type="member" name="ErrorTypeBlob.reserved2" link="gi-GITypelib-Internals.html#ErrorTypeBlob.reserved2"/>
+ <keyword type="member" name="ErrorTypeBlob.n-domains" link="gi-GITypelib-Internals.html#ErrorTypeBlob.n-domains"/>
+ <keyword type="member" name="ErrorTypeBlob.domains" link="gi-GITypelib-Internals.html#ErrorTypeBlob.domains"/>
+ <keyword type="member" name="ValueBlob.deprecated" link="gi-GITypelib-Internals.html#ValueBlob.deprecated"/>
+ <keyword type="member" name="ValueBlob.unsigned-value" link="gi-GITypelib-Internals.html#ValueBlob.unsigned-value"/>
+ <keyword type="member" name="ValueBlob.reserved" link="gi-GITypelib-Internals.html#ValueBlob.reserved"/>
+ <keyword type="member" name="ValueBlob.name" link="gi-GITypelib-Internals.html#ValueBlob.name"/>
+ <keyword type="member" name="ValueBlob.value" link="gi-GITypelib-Internals.html#ValueBlob.value"/>
+ <keyword type="member" name="FieldBlob.name" link="gi-GITypelib-Internals.html#FieldBlob.name"/>
+ <keyword type="member" name="FieldBlob.readable" link="gi-GITypelib-Internals.html#FieldBlob.readable"/>
+ <keyword type="member" name="FieldBlob.writable" link="gi-GITypelib-Internals.html#FieldBlob.writable"/>
+ <keyword type="member" name="FieldBlob.has-embedded-type" link="gi-GITypelib-Internals.html#FieldBlob.has-embedded-type"/>
+ <keyword type="member" name="FieldBlob.reserved" link="gi-GITypelib-Internals.html#FieldBlob.reserved"/>
+ <keyword type="member" name="FieldBlob.bits" link="gi-GITypelib-Internals.html#FieldBlob.bits"/>
+ <keyword type="member" name="FieldBlob.struct-offset" link="gi-GITypelib-Internals.html#FieldBlob.struct-offset"/>
+ <keyword type="member" name="FieldBlob.reserved2" link="gi-GITypelib-Internals.html#FieldBlob.reserved2"/>
+ <keyword type="member" name="FieldBlob.type" link="gi-GITypelib-Internals.html#FieldBlob.type"/>
+ <keyword type="member" name="RegisteredTypeBlob.blob-type" link="gi-GITypelib-Internals.html#RegisteredTypeBlob.blob-type"/>
+ <keyword type="member" name="RegisteredTypeBlob.deprecated" link="gi-GITypelib-Internals.html#RegisteredTypeBlob.deprecated"/>
+ <keyword type="member" name="RegisteredTypeBlob.unregistered" link="gi-GITypelib-Internals.html#RegisteredTypeBlob.unregistered"/>
+ <keyword type="member" name="RegisteredTypeBlob.reserved" link="gi-GITypelib-Internals.html#RegisteredTypeBlob.reserved"/>
+ <keyword type="member" name="RegisteredTypeBlob.name" link="gi-GITypelib-Internals.html#RegisteredTypeBlob.name"/>
+ <keyword type="member" name="RegisteredTypeBlob.gtype-name" link="gi-GITypelib-Internals.html#RegisteredTypeBlob.gtype-name"/>
+ <keyword type="member" name="RegisteredTypeBlob.gtype-init" link="gi-GITypelib-Internals.html#RegisteredTypeBlob.gtype-init"/>
+ <keyword type="member" name="StructBlob.blob-type" link="gi-GITypelib-Internals.html#StructBlob.blob-type"/>
+ <keyword type="member" name="StructBlob.deprecated" link="gi-GITypelib-Internals.html#StructBlob.deprecated"/>
+ <keyword type="member" name="StructBlob.unregistered" link="gi-GITypelib-Internals.html#StructBlob.unregistered"/>
+ <keyword type="member" name="StructBlob.is-gtype-struct" link="gi-GITypelib-Internals.html#StructBlob.is-gtype-struct"/>
+ <keyword type="member" name="StructBlob.alignment" link="gi-GITypelib-Internals.html#StructBlob.alignment"/>
+ <keyword type="member" name="StructBlob.foreign" link="gi-GITypelib-Internals.html#StructBlob.foreign"/>
+ <keyword type="member" name="StructBlob.reserved" link="gi-GITypelib-Internals.html#StructBlob.reserved"/>
+ <keyword type="member" name="StructBlob.name" link="gi-GITypelib-Internals.html#StructBlob.name"/>
+ <keyword type="member" name="StructBlob.gtype-name" link="gi-GITypelib-Internals.html#StructBlob.gtype-name"/>
+ <keyword type="member" name="StructBlob.gtype-init" link="gi-GITypelib-Internals.html#StructBlob.gtype-init"/>
+ <keyword type="member" name="StructBlob.size" link="gi-GITypelib-Internals.html#StructBlob.size"/>
+ <keyword type="member" name="StructBlob.n-fields" link="gi-GITypelib-Internals.html#StructBlob.n-fields"/>
+ <keyword type="member" name="StructBlob.n-methods" link="gi-GITypelib-Internals.html#StructBlob.n-methods"/>
+ <keyword type="member" name="StructBlob.reserved2" link="gi-GITypelib-Internals.html#StructBlob.reserved2"/>
+ <keyword type="member" name="StructBlob.reserved3" link="gi-GITypelib-Internals.html#StructBlob.reserved3"/>
+ <keyword type="member" name="UnionBlob.blob-type" link="gi-GITypelib-Internals.html#UnionBlob.blob-type"/>
+ <keyword type="member" name="UnionBlob.deprecated" link="gi-GITypelib-Internals.html#UnionBlob.deprecated"/>
+ <keyword type="member" name="UnionBlob.unregistered" link="gi-GITypelib-Internals.html#UnionBlob.unregistered"/>
+ <keyword type="member" name="UnionBlob.discriminated" link="gi-GITypelib-Internals.html#UnionBlob.discriminated"/>
+ <keyword type="member" name="UnionBlob.alignment" link="gi-GITypelib-Internals.html#UnionBlob.alignment"/>
+ <keyword type="member" name="UnionBlob.reserved" link="gi-GITypelib-Internals.html#UnionBlob.reserved"/>
+ <keyword type="member" name="UnionBlob.name" link="gi-GITypelib-Internals.html#UnionBlob.name"/>
+ <keyword type="member" name="UnionBlob.gtype-name" link="gi-GITypelib-Internals.html#UnionBlob.gtype-name"/>
+ <keyword type="member" name="UnionBlob.gtype-init" link="gi-GITypelib-Internals.html#UnionBlob.gtype-init"/>
+ <keyword type="member" name="UnionBlob.size" link="gi-GITypelib-Internals.html#UnionBlob.size"/>
+ <keyword type="member" name="UnionBlob.n-fields" link="gi-GITypelib-Internals.html#UnionBlob.n-fields"/>
+ <keyword type="member" name="UnionBlob.n-functions" link="gi-GITypelib-Internals.html#UnionBlob.n-functions"/>
+ <keyword type="member" name="UnionBlob.reserved2" link="gi-GITypelib-Internals.html#UnionBlob.reserved2"/>
+ <keyword type="member" name="UnionBlob.reserved3" link="gi-GITypelib-Internals.html#UnionBlob.reserved3"/>
+ <keyword type="member" name="UnionBlob.discriminator-offset" link="gi-GITypelib-Internals.html#UnionBlob.discriminator-offset"/>
+ <keyword type="member" name="UnionBlob.discriminator-type" link="gi-GITypelib-Internals.html#UnionBlob.discriminator-type"/>
+ <keyword type="member" name="EnumBlob.blob-type" link="gi-GITypelib-Internals.html#EnumBlob.blob-type"/>
+ <keyword type="member" name="EnumBlob.deprecated" link="gi-GITypelib-Internals.html#EnumBlob.deprecated"/>
+ <keyword type="member" name="EnumBlob.unregistered" link="gi-GITypelib-Internals.html#EnumBlob.unregistered"/>
+ <keyword type="member" name="EnumBlob.storage-type" link="gi-GITypelib-Internals.html#EnumBlob.storage-type"/>
+ <keyword type="member" name="EnumBlob.reserved" link="gi-GITypelib-Internals.html#EnumBlob.reserved"/>
+ <keyword type="member" name="EnumBlob.name" link="gi-GITypelib-Internals.html#EnumBlob.name"/>
+ <keyword type="member" name="EnumBlob.gtype-name" link="gi-GITypelib-Internals.html#EnumBlob.gtype-name"/>
+ <keyword type="member" name="EnumBlob.gtype-init" link="gi-GITypelib-Internals.html#EnumBlob.gtype-init"/>
+ <keyword type="member" name="EnumBlob.n-values" link="gi-GITypelib-Internals.html#EnumBlob.n-values"/>
+ <keyword type="member" name="EnumBlob.n-methods" link="gi-GITypelib-Internals.html#EnumBlob.n-methods"/>
+ <keyword type="member" name="EnumBlob.error-domain" link="gi-GITypelib-Internals.html#EnumBlob.error-domain"/>
+ <keyword type="member" name="EnumBlob.values" link="gi-GITypelib-Internals.html#EnumBlob.values"/>
+ <keyword type="member" name="PropertyBlob.name" link="gi-GITypelib-Internals.html#PropertyBlob.name"/>
+ <keyword type="member" name="PropertyBlob.deprecated" link="gi-GITypelib-Internals.html#PropertyBlob.deprecated"/>
+ <keyword type="member" name="PropertyBlob.readable" link="gi-GITypelib-Internals.html#PropertyBlob.readable"/>
+ <keyword type="member" name="PropertyBlob.writable" link="gi-GITypelib-Internals.html#PropertyBlob.writable"/>
+ <keyword type="member" name="PropertyBlob.construct" link="gi-GITypelib-Internals.html#PropertyBlob.construct"/>
+ <keyword type="member" name="PropertyBlob.construct-only" link="gi-GITypelib-Internals.html#PropertyBlob.construct-only"/>
+ <keyword type="member" name="PropertyBlob.transfer-ownership" link="gi-GITypelib-Internals.html#PropertyBlob.transfer-ownership"/>
+ <keyword type="member" name="PropertyBlob.transfer-container-ownership" link="gi-GITypelib-Internals.html#PropertyBlob.transfer-container-ownership"/>
+ <keyword type="member" name="PropertyBlob.reserved" link="gi-GITypelib-Internals.html#PropertyBlob.reserved"/>
+ <keyword type="member" name="PropertyBlob.reserved2" link="gi-GITypelib-Internals.html#PropertyBlob.reserved2"/>
+ <keyword type="member" name="PropertyBlob.type" link="gi-GITypelib-Internals.html#PropertyBlob.type"/>
+ <keyword type="member" name="SignalBlob.deprecated" link="gi-GITypelib-Internals.html#SignalBlob.deprecated"/>
+ <keyword type="member" name="SignalBlob.run-first" link="gi-GITypelib-Internals.html#SignalBlob.run-first"/>
+ <keyword type="member" name="SignalBlob.run-last" link="gi-GITypelib-Internals.html#SignalBlob.run-last"/>
+ <keyword type="member" name="SignalBlob.run-cleanup" link="gi-GITypelib-Internals.html#SignalBlob.run-cleanup"/>
+ <keyword type="member" name="SignalBlob.no-recurse" link="gi-GITypelib-Internals.html#SignalBlob.no-recurse"/>
+ <keyword type="member" name="SignalBlob.detailed" link="gi-GITypelib-Internals.html#SignalBlob.detailed"/>
+ <keyword type="member" name="SignalBlob.action" link="gi-GITypelib-Internals.html#SignalBlob.action"/>
+ <keyword type="member" name="SignalBlob.no-hooks" link="gi-GITypelib-Internals.html#SignalBlob.no-hooks"/>
+ <keyword type="member" name="SignalBlob.has-class-closure" link="gi-GITypelib-Internals.html#SignalBlob.has-class-closure"/>
+ <keyword type="member" name="SignalBlob.true-stops-emit" link="gi-GITypelib-Internals.html#SignalBlob.true-stops-emit"/>
+ <keyword type="member" name="SignalBlob.reserved" link="gi-GITypelib-Internals.html#SignalBlob.reserved"/>
+ <keyword type="member" name="SignalBlob.class-closure" link="gi-GITypelib-Internals.html#SignalBlob.class-closure"/>
+ <keyword type="member" name="SignalBlob.name" link="gi-GITypelib-Internals.html#SignalBlob.name"/>
+ <keyword type="member" name="SignalBlob.reserved2" link="gi-GITypelib-Internals.html#SignalBlob.reserved2"/>
+ <keyword type="member" name="SignalBlob.signature" link="gi-GITypelib-Internals.html#SignalBlob.signature"/>
+ <keyword type="member" name="VFuncBlob.name" link="gi-GITypelib-Internals.html#VFuncBlob.name"/>
+ <keyword type="member" name="VFuncBlob.must-chain-up" link="gi-GITypelib-Internals.html#VFuncBlob.must-chain-up"/>
+ <keyword type="member" name="VFuncBlob.must-be-implemented" link="gi-GITypelib-Internals.html#VFuncBlob.must-be-implemented"/>
+ <keyword type="member" name="VFuncBlob.must-not-be-implemented" link="gi-GITypelib-Internals.html#VFuncBlob.must-not-be-implemented"/>
+ <keyword type="member" name="VFuncBlob.class-closure" link="gi-GITypelib-Internals.html#VFuncBlob.class-closure"/>
+ <keyword type="member" name="VFuncBlob.throws" link="gi-GITypelib-Internals.html#VFuncBlob.throws"/>
+ <keyword type="member" name="VFuncBlob.reserved" link="gi-GITypelib-Internals.html#VFuncBlob.reserved"/>
+ <keyword type="member" name="VFuncBlob.signal" link="gi-GITypelib-Internals.html#VFuncBlob.signal"/>
+ <keyword type="member" name="VFuncBlob.struct-offset" link="gi-GITypelib-Internals.html#VFuncBlob.struct-offset"/>
+ <keyword type="member" name="VFuncBlob.invoker" link="gi-GITypelib-Internals.html#VFuncBlob.invoker"/>
+ <keyword type="member" name="VFuncBlob.reserved2" link="gi-GITypelib-Internals.html#VFuncBlob.reserved2"/>
+ <keyword type="member" name="VFuncBlob.reserved3" link="gi-GITypelib-Internals.html#VFuncBlob.reserved3"/>
+ <keyword type="member" name="VFuncBlob.signature" link="gi-GITypelib-Internals.html#VFuncBlob.signature"/>
+ <keyword type="member" name="ObjectBlob.blob-type" link="gi-GITypelib-Internals.html#ObjectBlob.blob-type"/>
+ <keyword type="member" name="ObjectBlob.deprecated" link="gi-GITypelib-Internals.html#ObjectBlob.deprecated"/>
+ <keyword type="member" name="ObjectBlob.abstract" link="gi-GITypelib-Internals.html#ObjectBlob.abstract"/>
+ <keyword type="member" name="ObjectBlob.fundamental" link="gi-GITypelib-Internals.html#ObjectBlob.fundamental"/>
+ <keyword type="member" name="ObjectBlob.reserved" link="gi-GITypelib-Internals.html#ObjectBlob.reserved"/>
+ <keyword type="member" name="ObjectBlob.name" link="gi-GITypelib-Internals.html#ObjectBlob.name"/>
+ <keyword type="member" name="ObjectBlob.gtype-name" link="gi-GITypelib-Internals.html#ObjectBlob.gtype-name"/>
+ <keyword type="member" name="ObjectBlob.gtype-init" link="gi-GITypelib-Internals.html#ObjectBlob.gtype-init"/>
+ <keyword type="member" name="ObjectBlob.parent" link="gi-GITypelib-Internals.html#ObjectBlob.parent"/>
+ <keyword type="member" name="ObjectBlob.gtype-struct" link="gi-GITypelib-Internals.html#ObjectBlob.gtype-struct"/>
+ <keyword type="member" name="ObjectBlob.n-interfaces" link="gi-GITypelib-Internals.html#ObjectBlob.n-interfaces"/>
+ <keyword type="member" name="ObjectBlob.n-fields" link="gi-GITypelib-Internals.html#ObjectBlob.n-fields"/>
+ <keyword type="member" name="ObjectBlob.n-properties" link="gi-GITypelib-Internals.html#ObjectBlob.n-properties"/>
+ <keyword type="member" name="ObjectBlob.n-methods" link="gi-GITypelib-Internals.html#ObjectBlob.n-methods"/>
+ <keyword type="member" name="ObjectBlob.n-signals" link="gi-GITypelib-Internals.html#ObjectBlob.n-signals"/>
+ <keyword type="member" name="ObjectBlob.n-vfuncs" link="gi-GITypelib-Internals.html#ObjectBlob.n-vfuncs"/>
+ <keyword type="member" name="ObjectBlob.n-constants" link="gi-GITypelib-Internals.html#ObjectBlob.n-constants"/>
+ <keyword type="member" name="ObjectBlob.n-field-callbacks" link="gi-GITypelib-Internals.html#ObjectBlob.n-field-callbacks"/>
+ <keyword type="member" name="ObjectBlob.ref-func" link="gi-GITypelib-Internals.html#ObjectBlob.ref-func"/>
+ <keyword type="member" name="ObjectBlob.unref-func" link="gi-GITypelib-Internals.html#ObjectBlob.unref-func"/>
+ <keyword type="member" name="ObjectBlob.set-value-func" link="gi-GITypelib-Internals.html#ObjectBlob.set-value-func"/>
+ <keyword type="member" name="ObjectBlob.get-value-func" link="gi-GITypelib-Internals.html#ObjectBlob.get-value-func"/>
+ <keyword type="member" name="ObjectBlob.reserved3" link="gi-GITypelib-Internals.html#ObjectBlob.reserved3"/>
+ <keyword type="member" name="ObjectBlob.reserved4" link="gi-GITypelib-Internals.html#ObjectBlob.reserved4"/>
+ <keyword type="member" name="ObjectBlob.interfaces" link="gi-GITypelib-Internals.html#ObjectBlob.interfaces"/>
+ <keyword type="member" name="InterfaceBlob.blob-type" link="gi-GITypelib-Internals.html#InterfaceBlob.blob-type"/>
+ <keyword type="member" name="InterfaceBlob.deprecated" link="gi-GITypelib-Internals.html#InterfaceBlob.deprecated"/>
+ <keyword type="member" name="InterfaceBlob.reserved" link="gi-GITypelib-Internals.html#InterfaceBlob.reserved"/>
+ <keyword type="member" name="InterfaceBlob.name" link="gi-GITypelib-Internals.html#InterfaceBlob.name"/>
+ <keyword type="member" name="InterfaceBlob.gtype-name" link="gi-GITypelib-Internals.html#InterfaceBlob.gtype-name"/>
+ <keyword type="member" name="InterfaceBlob.gtype-init" link="gi-GITypelib-Internals.html#InterfaceBlob.gtype-init"/>
+ <keyword type="member" name="InterfaceBlob.gtype-struct" link="gi-GITypelib-Internals.html#InterfaceBlob.gtype-struct"/>
+ <keyword type="member" name="InterfaceBlob.n-prerequisites" link="gi-GITypelib-Internals.html#InterfaceBlob.n-prerequisites"/>
+ <keyword type="member" name="InterfaceBlob.n-properties" link="gi-GITypelib-Internals.html#InterfaceBlob.n-properties"/>
+ <keyword type="member" name="InterfaceBlob.n-methods" link="gi-GITypelib-Internals.html#InterfaceBlob.n-methods"/>
+ <keyword type="member" name="InterfaceBlob.n-signals" link="gi-GITypelib-Internals.html#InterfaceBlob.n-signals"/>
+ <keyword type="member" name="InterfaceBlob.n-vfuncs" link="gi-GITypelib-Internals.html#InterfaceBlob.n-vfuncs"/>
+ <keyword type="member" name="InterfaceBlob.n-constants" link="gi-GITypelib-Internals.html#InterfaceBlob.n-constants"/>
+ <keyword type="member" name="InterfaceBlob.padding" link="gi-GITypelib-Internals.html#InterfaceBlob.padding"/>
+ <keyword type="member" name="InterfaceBlob.reserved2" link="gi-GITypelib-Internals.html#InterfaceBlob.reserved2"/>
+ <keyword type="member" name="InterfaceBlob.reserved3" link="gi-GITypelib-Internals.html#InterfaceBlob.reserved3"/>
+ <keyword type="member" name="InterfaceBlob.prerequisites" link="gi-GITypelib-Internals.html#InterfaceBlob.prerequisites"/>
+ <keyword type="member" name="ConstantBlob.blob-type" link="gi-GITypelib-Internals.html#ConstantBlob.blob-type"/>
+ <keyword type="member" name="ConstantBlob.deprecated" link="gi-GITypelib-Internals.html#ConstantBlob.deprecated"/>
+ <keyword type="member" name="ConstantBlob.reserved" link="gi-GITypelib-Internals.html#ConstantBlob.reserved"/>
+ <keyword type="member" name="ConstantBlob.name" link="gi-GITypelib-Internals.html#ConstantBlob.name"/>
+ <keyword type="member" name="ConstantBlob.type" link="gi-GITypelib-Internals.html#ConstantBlob.type"/>
+ <keyword type="member" name="ConstantBlob.size" link="gi-GITypelib-Internals.html#ConstantBlob.size"/>
+ <keyword type="member" name="ConstantBlob.offset" link="gi-GITypelib-Internals.html#ConstantBlob.offset"/>
+ <keyword type="member" name="ConstantBlob.reserved2" link="gi-GITypelib-Internals.html#ConstantBlob.reserved2"/>
+ <keyword type="member" name="AttributeBlob.offset" link="gi-GITypelib-Internals.html#AttributeBlob.offset"/>
+ <keyword type="member" name="AttributeBlob.name" link="gi-GITypelib-Internals.html#AttributeBlob.name"/>
+ <keyword type="member" name="AttributeBlob.value" link="gi-GITypelib-Internals.html#AttributeBlob.value"/>
</functions>
</book>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Part II. API Reference: GObject Introspection Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="prev" href="gi-programming.html" title="Writing introspected libraries">
-<link rel="next" href="ch01.html" title="GIRepository">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="gi-programming.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="ch01.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="part">
-<div class="titlepage"><div><div><h1 class="title">
-<a name="gi"></a>Part II. API Reference</h1></div></div></div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl class="toc">
-<dt><span class="chapter"><a href="ch01.html">GIRepository</a></span></dt>
-<dd><dl>
-<dt>
-<span class="refentrytitle"><a href="GIRepository.html">GIRepository</a></span><span class="refpurpose"> — GObject Introspection repository manager</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-struct-hierarchy.html">Struct hierarchy</a></span><span class="refpurpose"> — Struct hierarchy description for GIBaseInfo and all its sub structs</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-common-types.html">common types</a></span><span class="refpurpose"> — TODO</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIBaseInfo.html">GIBaseInfo</a></span><span class="refpurpose"> — Base struct for all GITypelib structs</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GICallableInfo.html">GICallableInfo</a></span><span class="refpurpose"> — Struct representing a callable</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIFunctionInfo.html">GIFunctionInfo</a></span><span class="refpurpose"> — Struct representing a function</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GICallbackInfo.html">GICallbackInfo</a></span><span class="refpurpose"> — Struct representing a callback</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GISignalInfo.html">GISignalInfo</a></span><span class="refpurpose"> — Struct representing a signal</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIVFuncInfo.html">GIVFuncInfo</a></span><span class="refpurpose"> — Struct representing a virtual function</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIRegisteredTypeInfo.html">GIRegisteredTypeInfo</a></span><span class="refpurpose"> — Struct representing a struct with a GType</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIEnumInfo.html">GIEnumInfo</a></span><span class="refpurpose"> — Structs representing an enumeration and its values</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIStructInfo.html">GIStructInfo</a></span><span class="refpurpose"> — Struct representing a C structure</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIUnionInfo.html">GIUnionInfo</a></span><span class="refpurpose"> — Struct representing a union.</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIObjectInfo.html">GIObjectInfo</a></span><span class="refpurpose"> — Struct representing a GObject</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIInterfaceInfo.html">GIInterfaceInfo</a></span><span class="refpurpose"> — Struct representing a GInterface</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIArgInfo.html">GIArgInfo</a></span><span class="refpurpose"> — Struct representing an argument</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIConstantInfo.html">GIConstantInfo</a></span><span class="refpurpose"> — Struct representing a constant</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIFieldInfo.html">GIFieldInfo</a></span><span class="refpurpose"> — Struct representing a struct or union field</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIPropertyInfo.html">GIPropertyInfo</a></span><span class="refpurpose"> — Struct representing a property</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GITypeInfo.html">GITypeInfo</a></span><span class="refpurpose"> — Struct representing a type</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GIValueInfo.html">GIValueInfo</a></span><span class="refpurpose"> — Struct representing a value</span>
-</dt>
-</dl></dd>
-<dt><span class="chapter"><a href="gi-typelib.html">GITypelib</a></span></dt>
-<dd><dl>
-<dt>
-<span class="refentrytitle"><a href="gi-gitypelib.html">gitypelib</a></span><span class="refpurpose"> — TODO</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GITypelib.html">GITypelib</a></span><span class="refpurpose"> — Layout and accessors for typelib</span>
-</dt>
-</dl></dd>
-<dt><span class="chapter"><a href="ch03.html">TODO</a></span></dt>
-<dd><dl>
-<dt>
-<span class="refentrytitle"><a href="gi-girffi.html">girffi</a></span><span class="refpurpose"> — TODO</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-gir-reference.html">The GIR XML format</a></span><span class="refpurpose"> — The GIR XML format</span>
-</dt>
-</dl></dd>
-</dl>
-</div>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
-</body>
-</html>
\ No newline at end of file
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GObject Introspection Reference Manual: GObject Introspection Reference Manual</title>
+<title>libgirepository API Reference: libgirepository API Reference</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="next" href="overview.html" title="Part I. GObject-Introspection Overview">
+<link rel="home" href="index.html" title="libgirepository API Reference">
+<link rel="next" href="GIRepository.html" title="GIRepository">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<div lang="en" class="book">
<div class="titlepage">
<div>
-<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GObject Introspection Reference Manual</p></th></tr></table></div>
-<div><p class="releaseinfo">
- This document is for GObject Introspection version 1.58.3
+<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libgirepository API Reference</p></th></tr></table></div>
+<div>
+<p class="releaseinfo">
+ This document is for libgirepository version 1.59.1
.
The latest version of this documentation can be found on-line at
- <a class="ulink" href="http://developer.gnome.org/gi/unstable/" target="_top">http://developer.gnome.org/gi/unstable/</a>.
- </p></div>
+ <a class="ulink" href="https://developer.gnome.org/gi/unstable/" target="_top">https://developer.gnome.org/gi/unstable/</a>.
+ </p>
+<p>
+ For more information on how to build libgirepository, for how to build
+ bindings with it and for information on GObject Introspection in
+ general see
+ <a class="ulink" href="https://gi.readthedocs.io" target="_top">https://gi.readthedocs.io</a>.
+ </p>
+<p class="releaseinfo">
+ </p>
+</div>
</div>
<hr>
</div>
<div class="toc"><dl class="toc">
-<dt><span class="part"><a href="overview.html">I. GObject-Introspection Overview</a></span></dt>
-<dd><dl>
<dt>
-<span class="refentrytitle"><a href="gi-building.html">Compiling the GObject Introspection package</a></span><span class="refpurpose"> — How to compile GObject Introspection itself</span>
+<span class="refentrytitle"><a href="GIRepository.html">GIRepository</a></span><span class="refpurpose"> — GObject Introspection repository manager</span>
</dt>
<dt>
-<span class="refentrytitle"><a href="gi-programming.html">Writing introspected libraries</a></span><span class="refpurpose"> — General considerations when writing introspected libraries</span>
+<span class="refentrytitle"><a href="gi-GITypelib.html">GITypelib</a></span><span class="refpurpose"> — TODO</span>
</dt>
-</dl></dd>
-<dt><span class="part"><a href="gi.html">II. API Reference</a></span></dt>
-<dd><dl>
-<dt><span class="chapter"><a href="ch01.html">GIRepository</a></span></dt>
-<dd><dl>
<dt>
-<span class="refentrytitle"><a href="GIRepository.html">GIRepository</a></span><span class="refpurpose"> — GObject Introspection repository manager</span>
+<span class="refentrytitle"><a href="gi-Version-Information.html">Version Information</a></span><span class="refpurpose"> — macros and functions to check the girepository version</span>
</dt>
<dt>
-<span class="refentrytitle"><a href="gi-struct-hierarchy.html">Struct hierarchy</a></span><span class="refpurpose"> — Struct hierarchy description for GIBaseInfo and all its sub structs</span>
+<span class="refentrytitle"><a href="gi-Common-Types.html">Common Types</a></span><span class="refpurpose"> — TODO</span>
</dt>
+<dt><span class="chapter"><a href="ch01.html">GIBaseInfo</a></span></dt>
+<dd><dl>
<dt>
-<span class="refentrytitle"><a href="gi-common-types.html">common types</a></span><span class="refpurpose"> — TODO</span>
+<span class="refentrytitle"><a href="gi-struct-hierarchy.html">Struct hierarchy</a></span><span class="refpurpose"> — Struct hierarchy description for GIBaseInfo and all its sub structs</span>
</dt>
<dt>
-<span class="refentrytitle"><a href="gi-GIBaseInfo.html">GIBaseInfo</a></span><span class="refpurpose"> — Base struct for all GITypelib structs</span>
+<span class="refentrytitle"><a href="GIBaseInfo.html">GIBaseInfo</a></span><span class="refpurpose"> — Base struct for all GITypelib structs</span>
</dt>
<dt>
<span class="refentrytitle"><a href="gi-GICallableInfo.html">GICallableInfo</a></span><span class="refpurpose"> — Struct representing a callable</span>
<span class="refentrytitle"><a href="gi-GIValueInfo.html">GIValueInfo</a></span><span class="refpurpose"> — Struct representing a value</span>
</dt>
</dl></dd>
-<dt><span class="chapter"><a href="gi-typelib.html">GITypelib</a></span></dt>
-<dd><dl>
-<dt>
-<span class="refentrytitle"><a href="gi-gitypelib.html">gitypelib</a></span><span class="refpurpose"> — TODO</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-GITypelib.html">GITypelib</a></span><span class="refpurpose"> — Layout and accessors for typelib</span>
-</dt>
-</dl></dd>
-<dt><span class="chapter"><a href="ch03.html">TODO</a></span></dt>
-<dd><dl>
-<dt>
+<dt><span class="chapter"><a href="ch02.html">FFI Interface</a></span></dt>
+<dd><dl><dt>
<span class="refentrytitle"><a href="gi-girffi.html">girffi</a></span><span class="refpurpose"> — TODO</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-gir-reference.html">The GIR XML format</a></span><span class="refpurpose"> — The GIR XML format</span>
-</dt>
-</dl></dd>
-</dl></dd>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ch03.html">Internals & Typelib Format</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gi-GITypelib-Internals.html">GITypelib Internals</a></span><span class="refpurpose"> — Layout and accessors for typelib</span>
+</dt></dl></dd>
<dt><span class="index"><a href="api-index-full.html">Index</a></span></dt>
<dt><span class="index"><a href="api-index-deprecated.html">Index of deprecated symbols</a></span></dt>
-<dt><span class="index"><a href="api-index-1-29-0.html">Index of new symbols in 1.29.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-29-17.html">Index of new symbols in 1.29.17</a></span></dt>
-<dt><span class="index"><a href="api-index-1-30-1.html">Index of new symbols in 1.30.1</a></span></dt>
+<dt><span class="index"><a href="api-index-1-30.html">Index of new symbols in 1.30</a></span></dt>
+<dt><span class="index"><a href="api-index-1-32.html">Index of new symbols in 1.32</a></span></dt>
<dt><span class="index"><a href="api-index-1-34.html">Index of new symbols in 1.34</a></span></dt>
-<dt><span class="index"><a href="api-index-1-35-8.html">Index of new symbols in 1.35.8</a></span></dt>
+<dt><span class="index"><a href="api-index-1-36.html">Index of new symbols in 1.36</a></span></dt>
+<dt><span class="index"><a href="api-index-1-42.html">Index of new symbols in 1.42</a></span></dt>
+<dt><span class="index"><a href="api-index-1-44.html">Index of new symbols in 1.44</a></span></dt>
+<dt><span class="index"><a href="api-index-1-46.html">Index of new symbols in 1.46</a></span></dt>
+<dt><span class="index"><a href="api-index-1-60.html">Index of new symbols in 1.60</a></span></dt>
<dt><span class="glossary"><a href="annotation-glossary.html">Annotation Glossary</a></span></dt>
</dl></div>
</div>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Part I. GObject-Introspection Overview: GObject Introspection Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="prev" href="index.html" title="GObject Introspection Reference Manual">
-<link rel="next" href="gi-building.html" title="Compiling the GObject Introspection package">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gi-building.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="part">
-<div class="titlepage"><div><div><h1 class="title">
-<a name="overview"></a>Part I. GObject-Introspection Overview</h1></div></div></div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl class="toc">
-<dt>
-<span class="refentrytitle"><a href="gi-building.html">Compiling the GObject Introspection package</a></span><span class="refpurpose"> — How to compile GObject Introspection itself</span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="gi-programming.html">Writing introspected libraries</a></span><span class="refpurpose"> — General considerations when writing introspected libraries</span>
-</dt>
-</dl>
-</div>
-<p>
- GObject-Introspection is striving to provide a middleware layer between
- (GObject based) C libraries and language bindings. The primary goal of
- this project is to minimize duplicated effort in language binding
- projects by providing shared metadata files on bound C libraries.
- Language bindings can read these metadata files at runtime to learn
- how to interface with a bound C library.
- </p>
-<p>
- The GObject-Introspection package contains of a few different parts:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>The GIR XML format - an XML format describing the exported C API including documentation</p></li>
-<li class="listitem"><p>The GTypelib format - a binary format optimized for fast disk access and low memory usage</p></li>
-<li class="listitem"><p>g-ir-scanner - parses C source code and gtk-doc comments and generates GIR XML files</p></li>
-<li class="listitem"><p>g-ir-compiler - compiles GIR XML files into typelibs</p></li>
-<li class="listitem"><p>libgirepository - library to access typelib from C</p></li>
-</ul></div>
-<p>
- </p>
-<p>The following illustration shows how the different components fit together:</p>
-<img src="overview.png">
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
-</body>
-</html>
\ No newline at end of file
main_xml: 'gi-docs.xml',
dependencies: girepo_dep,
src_dir: 'girepository',
- html_assets: 'images/overview.png',
content_files: [
- 'overview-building.xml',
- 'overview-programming.xml',
- 'gi-gir-reference.xml',
'gi-struct-hierarchy.xml',
],
scan_args: [
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
-<refentry id="gi-building">
- <refmeta>
- <refentrytitle>Compiling the GObject Introspection package</refentrytitle>
- </refmeta>
-
- <refnamediv>
- <refname>Compiling the GObject Introspection Package</refname>
- <refpurpose>How to compile GObject Introspection itself</refpurpose>
- </refnamediv>
-
- <refsect1 id="gi-buildtools">
- <title>Building on UNIX</title>
- <para>
- On UNIX, GObject Introspection uses the standard GNU build system,
- using <application>autoconf</application> for package
- configuration and resolving portability issues,
- <application>automake</application> for building makefiles
- that comply with the GNU Coding Standards, and
- <application>libtool</application> for building shared
- libraries on multiple platforms. The normal sequence for
- compiling and installing the GObject Introspection package is thus:
-
- <literallayout>
- <userinput>./configure</userinput>
- <userinput>make</userinput>
- <userinput>make install</userinput>
- </literallayout>
- </para>
-
- <para>
- The standard options provided by <application>GNU
- autoconf</application> may be passed to the
- <command>configure</command> script. Please see the
- <application>autoconf</application> documentation or run
- <command>./configure --help</command> for information about
- the standard options.
- </para>
- </refsect1>
-
- <refsect1 id="dependencies">
- <title>Dependencies</title>
- <para>
- Before you can compile GObject Introspection, you need to have
- various other tools and libraries installed on your
- system. The tools needed during the build process (as
- differentiated from the basic build tools mentioned
- <link linkend="gi-buildtools">before</link> are:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <ulink url="http://www.freedesktop.org/software/pkgconfig/">pkg-config</ulink>
- is a tool for tracking the compilation flags needed for
- libraries that are used by the GObjecct Introspection. (For each
- library, a small <literal>.pc</literal> text file is
- installed in a standard location that contains the compilation
- flags needed for that library along with version number
- information.)
- </para>
- </listitem>
- <listitem>
- <para>
- The GObject-Introspection makefiles will mostly work with different
- versions of <command>make</command>, however, there tends to be a
- few incompatibilities, so the GObject-Introspection team recommends
- installing <ulink url="http://www.gnu.org/software/make">GNU
- make</ulink> if you don't already have it on your system
- and using it. (It may be called <command>gmake</command>
- rather than <command>make</command>.)
- </para>
- </listitem>
- </itemizedlist>
- <para>
- GObject-Introspection depends on a number of libraries and tools
- maintained under the umbrella of the GNOME project:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- The GLib library provides core non-graphical functionality
- such as high level data types, Unicode manipulation, and
- an object and type system to C programs. It is available
- from the <ulink url="ftp.gnome.org/pub/gnome/sources/glib">GNOME
- FTP site</ulink> or
- <ulink url="http://download.gnome.org/sources/glib/">here</ulink>.
- </para>
- </listitem>
- <listitem>
- <para>
- TODO: GTK-Doc
- </para>
- </listitem>
- </itemizedlist>
- <itemizedlist>
- <title>External dependencies</title>
- <listitem>
- <para>
- Python
- </para>
- </listitem>
- <listitem>
- <para>
- GObject Introspection has an option dependency on the
- <ulink url="TODO">libffi</ulink> library. When available,
- ...
- </para>
- </listitem>
- <listitem>
- <para>
- <para>
- <ulink url="http://www.cairographics.org">Cairo</ulink>
- is a graphics library that supports vector graphics and image
- compositing. When available, GObject Introspection uses
- Cairo in its unit tests.
- </para>
- </para>
- </listitem>
- </itemizedlist>
- </refsect1>
-
- <refsect1 id="extra-configuration-options">
- <title>Extra Configuration Options</title>
-
- <para>
- In addition to the normal options, the
- <command>configure</command> script in the GObject Introspection
- package supports these additional arguments:
- </para>
-
- <formalpara>
- <title><systemitem>--disable-Bsymbolic</systemitem> and
- <systemitem>--enable-Bsymbolic</systemitem></title>
-
- <para>
- By default, the GObject Introspection package uses the
- -Bsymbolic-functions linker flag to avoid intra-library
- PLT jumps. A side-effect of this is that it is no longer
- possible to override internal uses of GObject Introspection
- functions with <envar>LD_PRELOAD</envar>. Therefore, it may
- make sense to turn this feature off in some situations.
- The <option>--disable-Bsymbolic</option> option allows
- to do that.
- </para>
- </formalpara>
-
- <formalpara>
- <title><systemitem>--disable-gtk-doc</systemitem> and
- <systemitem>--enable-gtk-doc</systemitem></title>
-
- <para>
- By default the <command>configure</command> script will try
- to auto-detect whether the
- <application>gtk-doc</application> package is installed.
- If it is, then it will use it to extract and build the
- documentation for the GObject Introspection package. These options
- can be used to explicitly control whether
- <application>gtk-doc</application> should be
- used or not. If it is not used, the distributed,
- pre-generated HTML files will be installed instead of
- building them on your machine.
- </para>
- </formalpara>
-
- <formalpara>
- <title><systemitem>--disable-doctool</systemitem> and
- <systemitem>--enable-doctool</systemitem></title>
-
- <para>
- TODO
- </para>
- </formalpara>
-
- <formalpara>
- <title><systemitem>--with-python</systemitem></title>
-
- <para>
- Allows specifying the Python interpreter to use, either as an
- absolute path, or as a program name. GObject Introspection can
- be built with Python 2 (at least version 2.6) but does not yet
- support Python 3.
- </para>
- </formalpara>
- </refsect1>
-
-</refentry>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
-<refentry id="gi-programming">
- <refmeta>
- <refentrytitle>Writing introspected libraries</refentrytitle>
- </refmeta>
-
- <refnamediv>
- <refname>Writing introspected libraries</refname>
- <refpurpose>General considerations when writing introspected libraries</refpurpose>
- </refnamediv>
-
- <refsect1>
- <title>TODO</title>
- <para>
- ...
- </para>
- </refsect1>
-
-</refentry>
/**
+ * GApplication::name-lost:
+ * @application: the application
+ *
+ * The ::name-lost signal is emitted only on the registered primary instance
+ * when a new instance has taken over. This can only happen if the application
+ * is using the %G_APPLICATION_ALLOW_REPLACEMENT flag.
+ *
+ * The default handler for this signal calls g_application_quit().
+ *
+ * Returns: %TRUE if the signal has been handled
+ * Since: 2.60
+ */
+
+
+/**
* GApplication::open:
* @application: the application
* @files: (array length=n_files) (element-type GFile): an array of #GFiles
* If this function returns %TRUE, registration will proceed; otherwise
* registration will abort. Since: 2.34
* @dbus_unregister: invoked locally during unregistration, if the application
- * is using its D-Bus backend. Use this to undo anything done by the
- * @dbus_register vfunc. Since: 2.34
+ * is using its D-Bus backend. Use this to undo anything done by
+ * the @dbus_register vfunc. Since: 2.34
* @handle_local_options: invoked locally after the parsing of the commandline
* options has occurred. Since: 2.40
+ * @name_lost: invoked when another instance is taking over the name. Since: 2.60
*
* Virtual function table for #GApplication.
*
* g_dtls_connection_set_rehandshake_mode().
*
* Since: 2.48
+ * Deprecated: 2.60.: Changing the rehandshake mode is no longer
+ * required for compatibility. Also, rehandshaking has been removed
+ * from the TLS protocol in TLS 1.3.
*/
* GMountOperation:is-tcrypt-hidden-volume:
*
* Whether the device to be unlocked is a TCRYPT hidden volume.
- * See https://www.veracrypt.fr/en/Hidden%20Volume.html.
+ * See [the VeraCrypt documentation](https://www.veracrypt.fr/en/Hidden%20Volume.html).
*
* Since: 2.58
*/
* In this context, a system volume is a volume with a bootloader
* and operating system installed. This is only supported for Windows
* operating systems. For further documentation, see
- * https://www.veracrypt.fr/en/System%20Encryption.html.
+ * [the VeraCrypt documentation](https://www.veracrypt.fr/en/System%20Encryption.html).
*
* Since: 2.58
*/
* GMountOperation:pim:
*
* The VeraCrypt PIM value, when unlocking a VeraCrypt volume. See
- * https://www.veracrypt.fr/en/Personal%20Iterations%20Multiplier%20(PIM).html.
+ * [the VeraCrypt documentation](https://www.veracrypt.fr/en/Personal%20Iterations%20Multiplier%20(PIM).html).
*
* Since: 2.58
*/
* well-known name, the property cache is flushed when the name owner
* vanishes and reloaded when a name owner appears.
*
- * If a #GDBusProxy is used for a well-known name, the owner of the
- * name is tracked and can be read from
+ * The unique name owner of the proxy's name is tracked and can be read from
* #GDBusProxy:g-name-owner. Connect to the #GObject::notify signal to
* get notified of changes. Additionally, only signals and property
* changes emitted from the current name owner are considered and
* then attempt to connect to that host, handling the possibility of
* multiple IP addresses and multiple address families.
*
- * See #GSocketConnectable for and example of using the connectable
+ * See #GSocketConnectable for an example of using the connectable
* interface.
*/
* address families.
*
* See #GSrvTarget for more information about SRV records, and see
- * #GSocketConnectable for and example of using the connectable
+ * #GSocketConnectable for an example of using the connectable
* interface.
*/
* fixed-size.
*
* #GSeekable on fixed-sized streams is approximately the same as POSIX
- * lseek() on a block device (for example: attmepting to seek past the
+ * lseek() on a block device (for example: attempting to seek past the
* end of the device is an error). Fixed streams typically cannot be
* truncated.
*
* <default>(20,30)</default>
* </key>
*
+ * <key name="empty-string" type="s">
+ * <default>""</default>
+ * <summary>Empty strings have to be provided in GVariant form</summary>
+ * </key>
+ *
* </schema>
* </schemalist>
* ]|
* from a certificate or key store. It is an abstract base class which
* TLS library specific subtypes override.
*
+ * A #GTlsDatabase may be accessed from multiple threads by the TLS backend.
+ * All implementations are required to be fully thread-safe.
+ *
* Most common client applications will not directly interact with
* #GTlsDatabase. It is used internally by #GTlsConnection.
*
* for credentials.
*
* The callback will be fired when the operation has resolved (either
- * with success or failure), and a #GAsyncReady structure will be
+ * with success or failure), and a #GAsyncResult instance will be
* passed to the callback. That callback should then call
* g_volume_mount_finish() with the #GVolume instance and the
- * #GAsyncReady data to see if the operation was completed
+ * #GAsyncResult data to see if the operation was completed
* successfully. If an @error is present when g_volume_mount_finish()
* is called, then it will be filled with any error information.
*
* [thread-default-context aware][g-main-context-push-thread-default],
* and so should not be used other than from the main thread, with no
* thread-default-context active.
+ *
+ * In order to receive updates about volumes and mounts monitored through GVFS,
+ * a main loop must be running.
*/
* @uri: the uri to show
* @context: (nullable): an optional #GAppLaunchContext
* @cancellable: (nullable): a #GCancellable
- * @callback: (nullable): a #GASyncReadyCallback to call when the request is done
+ * @callback: (nullable): a #GAsyncReadyCallback to call when the request is done
* @user_data: (nullable): data to pass to @callback
*
* Async version of g_app_info_launch_default_for_uri().
*
* See also g_cancellable_make_pollfd().
*
- * Returns: A valid file descriptor. %-1 if the file descriptor
+ * Returns: A valid file descriptor. `-1` if the file descriptor
* is not supported, or on errors.
*/
*
* Reads an unsigned 8-bit/1-byte value from @stream.
*
- * Returns: an unsigned 8-bit/1-byte value read from the @stream or %0
+ * Returns: an unsigned 8-bit/1-byte value read from the @stream or `0`
* if an error occurred.
*/
* In order to get the correct byte order for this read operation,
* see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
*
- * Returns: a signed 16-bit/2-byte value read from @stream or %0 if
+ * Returns: a signed 16-bit/2-byte value read from @stream or `0` if
* an error occurred.
*/
* triggering the cancellable object from another thread. If the operation
* was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
*
- * Returns: a signed 32-bit/4-byte value read from the @stream or %0 if
+ * Returns: a signed 32-bit/4-byte value read from the @stream or `0` if
* an error occurred.
*/
* triggering the cancellable object from another thread. If the operation
* was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
*
- * Returns: a signed 64-bit/8-byte value read from @stream or %0 if
+ * Returns: a signed 64-bit/8-byte value read from @stream or `0` if
* an error occurred.
*/
* In order to get the correct byte order for this read operation,
* see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().
*
- * Returns: an unsigned 16-bit/2-byte value read from the @stream or %0 if
+ * Returns: an unsigned 16-bit/2-byte value read from the @stream or `0` if
* an error occurred.
*/
* triggering the cancellable object from another thread. If the operation
* was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
*
- * Returns: an unsigned 32-bit/4-byte value read from the @stream or %0 if
+ * Returns: an unsigned 32-bit/4-byte value read from the @stream or `0` if
* an error occurred.
*/
* triggering the cancellable object from another thread. If the operation
* was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
*
- * Returns: an unsigned 64-bit/8-byte read from @stream or %0 if
+ * Returns: an unsigned 64-bit/8-byte read from @stream or `0` if
* an error occurred.
*/
* bus. This can also be used to figure out if @connection is a
* message bus connection.
*
- * Returns: the unique name or %NULL if @connection is not a message
+ * Returns: (nullable): the unique name or %NULL if @connection is not a message
* bus connection. Do not free this string, it is owned by
* @connection.
* Since: 2.26
* signal is unsubscribed from, and may be called after @connection
* has been destroyed.)
*
+ * The returned subscription identifier is an opaque value which is guaranteed
+ * to never be zero.
+ *
+ * This function can never fail.
+ *
* Returns: a subscription identifier that can be used with g_dbus_connection_signal_unsubscribe()
* Since: 2.26
*/
* match rules for signals. Connect to the #GDBusProxy::g-signal signal
* to handle signals from the remote object.
*
+ * If both %G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES and
+ * %G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS are set, this constructor is
+ * guaranteed to complete immediately without blocking.
+ *
* If @name is a well-known name and the
* %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START and %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION
* flags aren't set and no name owner currently exists, the message bus
* match rules for signals. Connect to the #GDBusProxy::g-signal signal
* to handle signals from the remote object.
*
+ * If both %G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES and
+ * %G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS are set, this constructor is
+ * guaranteed to return immediately without blocking.
+ *
* If @name is a well-known name and the
* %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START and %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION
* flags aren't set and no name owner currently exists, the message bus
/**
+ * g_desktop_app_info_get_string_list:
+ * @info: a #GDesktopAppInfo
+ * @key: the key to look up
+ * @length: (out) (optional): return location for the number of returned strings, or %NULL
+ *
+ * Looks up a string list value in the keyfile backing @info.
+ *
+ * The @key is looked up in the "Desktop Entry" group.
+ *
+ * Returns: (array zero-terminated=1 length=length) (element-type utf8) (transfer full):
+ * a %NULL-terminated string array or %NULL if the specified
+ * key cannot be found. The array should be freed with g_strfreev().
+ * Since: 2.60.0
+ */
+
+
+/**
* g_desktop_app_info_has_key:
* @info: a #GDesktopAppInfo
* @key: the key to look up
* Likewise, on the server side, although a handshake is necessary at
* the beginning of the communication, you do not need to call this
* function explicitly unless you want clearer error reporting.
- * However, you may call g_dtls_connection_handshake() later on to
- * renegotiate parameters (encryption methods, etc) with the client.
+ *
+ * If TLS 1.2 or older is in use, you may call
+ * g_dtls_connection_handshake() after the initial handshake to
+ * rehandshake; however, this usage is deprecated because rehandshaking
+ * is no longer part of the TLS protocol in TLS 1.3. Accordingly, the
+ * behavior of calling this function after the initial handshake is now
+ * undefined, except it is guaranteed to be reasonable and
+ * nondestructive so as to preserve compatibility with code written for
+ * older versions of GLib.
*
* #GDtlsConnection::accept_certificate may be emitted during the
* handshake.
* software.
*
* Since: 2.48
+ * Deprecated: 2.60.: Changing the rehandshake mode is no longer
+ * required for compatibility. Also, rehandshaking has been removed
+ * from the TLS protocol in TLS 1.3.
*/
/**
+ * g_resolver_lookup_by_name_with_flags:
+ * @resolver: a #GResolver
+ * @hostname: the hostname to look up
+ * @flags: extra #GResolverNameLookupFlags for the lookup
+ * @cancellable: (nullable): a #GCancellable, or %NULL
+ * @error: (nullable): return location for a #GError, or %NULL
+ *
+ * This differs from g_resolver_lookup_by_name() in that you can modify
+ * the lookup behavior with @flags. For example this can be used to limit
+ * results with #G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY.
+ *
+ * Returns: (element-type GInetAddress) (transfer full): a non-empty #GList
+ * of #GInetAddress, or %NULL on error. You
+ * must unref each of the addresses and free the list when you are
+ * done with it. (You can use g_resolver_free_addresses() to do this.)
+ * Since: 2.60
+ */
+
+
+/**
+ * g_resolver_lookup_by_name_with_flags_async:
+ * @resolver: a #GResolver
+ * @hostname: the hostname to look up the address of
+ * @flags: extra #GResolverNameLookupFlags for the lookup
+ * @cancellable: (nullable): a #GCancellable, or %NULL
+ * @callback: (scope async): callback to call after resolution completes
+ * @user_data: (closure): data for @callback
+ *
+ * Begins asynchronously resolving @hostname to determine its
+ * associated IP address(es), and eventually calls @callback, which
+ * must call g_resolver_lookup_by_name_with_flags_finish() to get the result.
+ * See g_resolver_lookup_by_name() for more details.
+ *
+ * Since: 2.60
+ */
+
+
+/**
+ * g_resolver_lookup_by_name_with_flags_finish:
+ * @resolver: a #GResolver
+ * @result: the result passed to your #GAsyncReadyCallback
+ * @error: return location for a #GError, or %NULL
+ *
+ * Retrieves the result of a call to
+ * g_resolver_lookup_by_name_with_flags_async().
+ *
+ * If the DNS resolution failed, @error (if non-%NULL) will be set to
+ * a value from #GResolverError. If the operation was cancelled,
+ * @error will be set to %G_IO_ERROR_CANCELLED.
+ *
+ * Returns: (element-type GInetAddress) (transfer full): a #GList
+ * of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
+ * for more details.
+ * Since: 2.60
+ */
+
+
+/**
* g_resolver_lookup_records:
* @resolver: a #GResolver
* @rrname: the DNS name to lookup the record for
* The list is exactly the list of strings for which it is not an error
* to call g_settings_get_child().
*
- * For GSettings objects that are lists, this value can change at any
- * time. Note that there is a race condition here: you may
- * request a child after listing it only for it to have been destroyed
- * in the meantime. For this reason, g_settings_get_child() may return
- * %NULL even for a child that was listed by this function.
- *
- * For GSettings objects that are not lists, you should probably not be
- * calling this function from "normal" code (since you should already
- * know what children are in your schema). This function may still be
- * useful there for introspection reasons, however.
+ * There is little reason to call this function from "normal" code, since
+ * you should already know what children are in your schema. This function
+ * may still be useful there for introspection reasons, however.
*
* You should free the return value with g_strfreev() when you are done
* with it.
* Asynchronously retrieves the next #GSocketAddress from @enumerator
* and then calls @callback, which must call
* g_socket_address_enumerator_next_finish() to get the result.
+ *
+ * It is an error to call this multiple times before the previous callback has finished.
*/
/**
+ * g_tls_backend_set_default_database:
+ * @backend: the #GTlsBackend
+ * @database: (nullable): the #GTlsDatabase
+ *
+ * Set the default #GTlsDatabase used to verify TLS connections
+ *
+ * Any subsequent call to g_tls_backend_get_default_database() will return
+ * the database set in this call. Existing databases and connections are not
+ * modified.
+ *
+ * Setting a %NULL default database will reset to using the system default
+ * database as if g_tls_backend_set_default_database() had never been called.
+ *
+ * Since: 2.60
+ */
+
+
+/**
* g_tls_backend_supports_dtls:
* @backend: the #GTlsBackend
*
*
* Returns: @conn's rehandshaking mode
* Since: 2.28
+ * Deprecated: 2.60.: Changing the rehandshake mode is no longer
+ * required for compatibility. Also, rehandshaking has been removed
+ * from the TLS protocol in TLS 1.3.
*/
* Likewise, on the server side, although a handshake is necessary at
* the beginning of the communication, you do not need to call this
* function explicitly unless you want clearer error reporting.
- * However, you may call g_tls_connection_handshake() later on to
- * rehandshake, if TLS 1.2 or older is in use. With TLS 1.3, the
- * behavior is undefined but guaranteed to be reasonable and
- * nondestructive, so most older code should be expected to continue to
- * work without changes.
+ *
+ * If TLS 1.2 or older is in use, you may call
+ * g_tls_connection_handshake() after the initial handshake to
+ * rehandshake; however, this usage is deprecated because rehandshaking
+ * is no longer part of the TLS protocol in TLS 1.3. Accordingly, the
+ * behavior of calling this function after the initial handshake is now
+ * undefined, except it is guaranteed to be reasonable and
+ * nondestructive so as to preserve compatibility with code written for
+ * older versions of GLib.
*
* #GTlsConnection::accept_certificate may be emitted during the
* handshake.
* software.
*
* Since: 2.28
+ * Deprecated: 2.60.: Changing the rehandshake mode is no longer
+ * required for compatibility. Also, rehandshaking has been removed
+ * from the TLS protocol in TLS 1.3.
*/
*
* Lookup the issuer of @certificate in the database.
*
- * The %issuer property
+ * The #GTlsCertificate:issuer property
* of @certificate is not modified, and the two certificates are not hooked
* into a chain.
*
/**
+ * g_unix_mount_get_root_path:
+ * @mount_entry: a #GUnixMountEntry.
+ *
+ * Gets the root of the mount within the filesystem. This is useful e.g. for
+ * mounts created by bind operation, or btrfs subvolumes.
+ *
+ * For example, the root path is equal to "/" for mount created by
+ * "mount /dev/sda1 /mnt/foo" and "/bar" for
+ * "mount --bind /mnt/foo/bar /mnt/bar".
+ *
+ * Returns: (nullable): a string containing the root, or %NULL if not supported.
+ * Since: 2.60
+ */
+
+
+/**
* g_unix_mount_guess_can_eject:
* @mount_entry: a #GUnixMountEntry
*
/**
+ * G_GNUC_FALLTHROUGH:
+ *
+ * Expands to the GNU C fallthrough statement attribute if the compiler is gcc.
+ * This allows declaring case statement to explicitly fall through in switch
+ * statements. To enable this feature, use -Wimplicit-fallthrough during
+ * compilation.
+ *
+ * Put the attribute right before the case statement you want to fall through
+ * to.
+ *
+ * See the GNU C documentation for more details.
+ *
+ * Since: 2.60
+ */
+
+
+/**
* G_GNUC_FORMAT:
* @arg_idx: the index of the argument
*
/**
+ * G_GNUC_STRFTIME:
+ * @format_idx: the index of the argument corresponding to
+ * the format string (the arguments are numbered from 1)
+ *
+ * Expands to the GNU C strftime format function attribute if the compiler
+ * is gcc. This is used for declaring functions which take a format argument
+ * which is passed to strftime() or an API implementing its formats. It allows
+ * the compiler check the format passed to the function.
+ *
+ * See the
+ * [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-Wformat-3288)
+ * for details.
+ *
+ * Since: 2.60
+ */
+
+
+/**
* G_GNUC_UNUSED:
*
* Expands to the GNU C unused function attribute if the compiler is gcc.
/**
+ * SECTION:warnings
+ * @title: Warnings and Assertions
+ * @short_description: warnings and assertions to use in runtime code
+ *
+ * GLib defines several warning functions and assertions which can be used to
+ * warn of programmer errors when calling functions, and print error messages
+ * from command line programs.
+ *
+ * The g_return_if_fail(), g_return_val_if_fail(), g_return_if_reached() and
+ * g_return_val_if_reached() macros are intended as pre-condition assertions, to
+ * be used at the top of a public function to check that the function’s
+ * arguments are acceptable. Any failure of such a pre-condition assertion is
+ * considered a programming error on the part of the caller of the public API,
+ * and the program is considered to be in an undefined state afterwards. They
+ * are similar to the libc assert() function, but provide more context on
+ * failures.
+ *
+ * For example:
+ * |[<!-- language="C" -->
+ * gboolean
+ * g_dtls_connection_shutdown (GDtlsConnection *conn,
+ * gboolean shutdown_read,
+ * gboolean shutdown_write,
+ * GCancellable *cancellable,
+ * GError **error)
+ * {
+ * // local variable declarations
+ *
+ * g_return_val_if_fail (G_IS_DTLS_CONNECTION (conn), FALSE);
+ * g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), FALSE);
+ * g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+ *
+ * // function body
+ *
+ * return return_val;
+ * }
+ * ]|
+ *
+ * g_print(), g_printerr() and g_set_print_handler() are intended to be used for
+ * output from command line applications, since they output to standard output
+ * and standard error by default — whereas functions like g_message() and
+ * g_log() may be redirected to special purpose message windows, files, or the
+ * system journal.
+ */
+
+
+/**
* SECTION:windows
* @title: Windows Compatibility Functions
* @short_description: UNIX emulation on Windows
* @free_segment: if %TRUE the actual element data is freed as well
*
* Frees the memory allocated for the #GArray. If @free_segment is
- * %TRUE it frees the memory block holding the elements as well and
- * also each element if @array has a @element_free_func set. Pass
+ * %TRUE it frees the memory block holding the elements as well. Pass
* %FALSE if you want to free the #GArray wrapper but preserve the
- * underlying array for use elsewhere. If the reference count of @array
- * is greater than one, the #GArray wrapper is preserved but the size
- * of @array will be set to zero.
+ * underlying array for use elsewhere. If the reference count of
+ * @array is greater than one, the #GArray wrapper is preserved but
+ * the size of @array will be set to zero.
*
- * If array elements contain dynamically-allocated memory, they should
- * be freed separately.
+ * If array contents point to dynamically-allocated memory, they should
+ * be freed separately if @free_seg is %TRUE and no @clear_func
+ * function has been set for @array.
*
* This function is not thread-safe. If using a #GArray from multiple
* threads, use only the atomic g_array_ref() and g_array_unref()
* @base that is within inclusive bounds limited by @min and @max. If
* this is true, then the converted number is stored in @out_num. An
* empty string is not a valid input. A string with leading or
- * trailing whitespace is also an invalid input.
+ * trailing whitespace is also an invalid input. A string with a leading sign
+ * (`-` or `+`) is not a valid input for the unsigned parser.
*
* @base can be between 2 and 36 inclusive. Hexadecimal numbers must
* not be prefixed with "0x" or "0X". Such a problem does not exist
* changing the current locale, since that would not be
* thread-safe.
*
+ * Note that input with a leading minus sign (`-`) is accepted, and will return
+ * the negation of the parsed number, unless that would overflow a #guint64.
+ * Critically, this means you cannot assume that a short fixed length input will
+ * never result in a low return value, as the input could have a leading `-`.
+ *
* This function is typically used when reading configuration
* files or other non-user input that should be locale independent.
* To handle input from the user you should normally use the
/**
* g_assertion_message_expr: (skip)
- * @domain: (nullable):
- * @file:
- * @line:
- * @func:
- * @expr: (nullable):
+ * @domain: (nullable): log domain
+ * @file: file containing the assertion
+ * @line: line number of the assertion
+ * @func: function containing the assertion
+ * @expr: (nullable): expression which failed
+ *
+ * Internal function used to print messages from the public g_assert() and
+ * g_assert_not_reached() macros.
*/
* g_atomic_ref_count_init:
* @arc: the address of an atomic reference count variable
*
- * Atomically initializes a reference count variable.
+ * Initializes a reference count variable.
*
* Since: 2.58
*/
*
* g_get_language_names() returns g_get_language_names_with_category("LC_MESSAGES").
*
- * Returns: (array zero-terminated=1) (transfer none): a %NULL-terminated array of strings owned by GLib
- * that must not be modified or freed.
+ * Returns: (array zero-terminated=1) (transfer none): a %NULL-terminated array of strings owned by
+ * the thread g_get_language_names_with_category was called from.
+ * It must not be modified or freed. It must be copied if planned to be used in another thread.
* Since: 2.58
*/
* @group_name. If both @key and @group_name are %NULL, then
* @comment will be read from above the first group in the file.
*
- * Note that the returned string includes the '#' comment markers.
+ * Note that the returned string does not include the '#' comment markers,
+ * but does include any whitespace after them (on each line). It includes
+ * the line breaks between lines, but does not include the final line break.
*
* Returns: a comment that should be freed with g_free()
* Since: 2.6
* g_path_get_dirname:
* @file_name: (type filename): the name of the file
*
- * Gets the directory components of a file name.
+ * Gets the directory components of a file name. For example, the directory
+ * component of `/usr/bin/test` is `/usr/bin`. The directory component of `/`
+ * is `/`.
*
* If the file name has no directory components "." is returned.
* The returned string should be freed when no longer needed.
/**
* g_return_if_fail_warning: (skip)
- * @log_domain: (nullable):
- * @pretty_function:
- * @expression: (nullable):
+ * @log_domain: (nullable): log domain
+ * @pretty_function: function containing the assertion
+ * @expression: (nullable): expression which failed
+ *
+ * Internal function used to print messages from the public g_return_if_fail()
+ * and g_return_val_if_fail() macros.
*/
* on how to handle memory management of @data.
*
* Typically, you won't use this function. Instead use functions specific
- * to the type of source you are using.
+ * to the type of source you are using, such as g_idle_add() or g_timeout_add().
+ *
+ * It is safe to call this function multiple times on a source which has already
+ * been attached to a context. The changes will take effect for the next time
+ * the source is dispatched after this call returns.
*/
* an initial reference count on @callback_data, and thus
* @callback_funcs->unref will eventually be called once more
* than @callback_funcs->ref.
+ *
+ * It is safe to call this function multiple times on a source which has already
+ * been attached to a context. The changes will take effect for the next time
+ * the source is dispatched after this call returns.
*/
/**
+ * g_utf8_validate_len:
+ * @str: (array length=max_len) (element-type guint8): a pointer to character data
+ * @max_len: max bytes to validate
+ * @end: (out) (optional) (transfer none): return location for end of valid data
+ *
+ * Validates UTF-8 encoded text.
+ *
+ * As with g_utf8_validate(), but @max_len must be set, and hence this function
+ * will always return %FALSE if any of the bytes of @str are nul.
+ *
+ * Returns: %TRUE if the text was valid UTF-8
+ * Since: 2.60
+ */
+
+
+/**
* g_utime:
* @filename: (type filename): a pathname in the GLib file name encoding
* (UTF-8 on Windows)
*
* A reference is taken on @bytes.
*
+ * The data in @bytes must be aligned appropriately for the @type being loaded.
+ * Otherwise this function will internally create a copy of the memory (since
+ * GLib 2.60) or (in older versions) fail and exit the process.
+ *
* Returns: (transfer none): a new #GVariant with a floating reference
* Since: 2.36
*/
* needed. The exact time of this call is unspecified and might even be
* before this function returns.
*
+ * Note: @data must be backed by memory that is aligned appropriately for the
+ * @type being loaded. Otherwise this function will internally create a copy of
+ * the memory (since GLib 2.60) or (in older versions) fail and exit the
+ * process.
+ *
* Returns: (transfer none): a new floating #GVariant of type @type
* Since: 2.24
*/
/**
* g_warn_message: (skip)
- * @domain: (nullable):
- * @file:
- * @line:
- * @func:
- * @warnexpr: (nullable):
+ * @domain: (nullable): log domain
+ * @file: file containing the warning
+ * @line: line number of the warning
+ * @func: function containing the warning
+ * @warnexpr: (nullable): expression which failed
+ *
+ * Internal function used to print messages from the public g_warn_if_reached()
+ * and g_warn_if_fail() macros.
*/
/**
* g_cclosure_marshal_BOOLEAN__FLAGS:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: a #GValue which can store the returned #gboolean
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding instance and arg1
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with handlers that
- * take a flags type as an argument and return a boolean. If you have
- * such a signal, you will probably also need to use an accumulator,
- * such as g_signal_accumulator_true_handled().
+ * A marshaller for a #GCClosure with a callback of type
+ * `gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter
+ * denotes a flags type.
*/
/**
* g_cclosure_marshal_BOOL__FLAGS:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
*
- * An old alias for g_cclosure_marshal_BOOLEAN__FLAGS().
+ * Another name for g_cclosure_marshal_BOOLEAN__FLAGS().
*/
/**
* g_cclosure_marshal_STRING__OBJECT_POINTER:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: a #GValue, which can store the returned string
+ * @n_param_values: 3
+ * @param_values: a #GValue array holding instance, arg1 and arg2
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with handlers that
- * take a #GObject and a pointer and produce a string. It is highly
- * unlikely that your signal handler fits this description.
+ * A marshaller for a #GCClosure with a callback of type
+ * `gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__BOOLEAN:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #gboolean parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single
- * boolean argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__BOXED:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #GBoxed* parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single
- * argument which is any boxed pointer type.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__CHAR:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #gchar parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single
- * character argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, gchar arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__DOUBLE:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #gdouble parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with one
- * double-precision floating point argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__ENUM:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the enumeration parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single
- * argument with an enumerated type.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes an enumeration type..
*/
/**
* g_cclosure_marshal_VOID__FLAGS:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the flags parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single
- * argument with a flags types.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes a flags type.
*/
/**
* g_cclosure_marshal_VOID__FLOAT:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #gfloat parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with one
- * single-precision floating point argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__INT:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #gint parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single
- * integer argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__LONG:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #glong parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with with a single
- * long integer argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, glong arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__OBJECT:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #GObject* parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single
- * #GObject argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__PARAM:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #GParamSpec* parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single
- * argument of type #GParamSpec.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__POINTER:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
- *
- * A #GClosureMarshal function for use with signals with a single raw
- * pointer argument type.
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #gpointer parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * If it is possible, it is better to use one of the more specific
- * functions such as g_cclosure_marshal_VOID__OBJECT() or
- * g_cclosure_marshal_VOID__OBJECT().
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__STRING:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #gchar* parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single string
- * argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__UCHAR:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #guchar parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single
- * unsigned character argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, guchar arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__UINT:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #guint parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with with a single
- * unsigned integer argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, guint arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__UINT_POINTER:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 3
+ * @param_values: a #GValue array holding instance, arg1 and arg2
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a unsigned int
- * and a pointer as arguments.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__ULONG:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #gulong parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with a single
- * unsigned long integer argument.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, gulong arg1, gpointer user_data)`.
*/
/**
* g_cclosure_marshal_VOID__VARIANT:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 2
+ * @param_values: a #GValue array holding the instance and the #GVariant* parameter
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
+ *
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)`.
*
- * A #GClosureMarshal function for use with signals with a single
- * #GVariant argument.
+ * Since: 2.26
*/
/**
* g_cclosure_marshal_VOID__VOID:
- * @closure: A #GClosure.
- * @return_value: A #GValue to store the return value. May be %NULL
- * if the callback of closure doesn't return a value.
- * @n_param_values: The length of the @param_values array.
- * @param_values: An array of #GValues holding the arguments
- * on which to invoke the callback of closure.
- * @invocation_hint: The invocation hint given as the last argument to
- * g_closure_invoke().
- * @marshal_data: Additional data specified when registering the
- * marshaller, see g_closure_set_marshal() and
- * g_closure_set_meta_marshal()
+ * @closure: the #GClosure to which the marshaller belongs
+ * @return_value: ignored
+ * @n_param_values: 1
+ * @param_values: a #GValue array holding only the instance
+ * @invocation_hint: the invocation hint given as the last argument
+ * to g_closure_invoke()
+ * @marshal_data: additional data specified when registering the marshaller
*
- * A #GClosureMarshal function for use with signals with no arguments.
+ * A marshaller for a #GCClosure with a callback of type
+ * `void (*callback) (gpointer instance, gpointer user_data)`.
*/
* Creates a new closure which invokes @callback_func with @user_data as
* the last parameter.
*
+ * @destroy_data will be called as a finalize notifier on the #GClosure.
+ *
* Returns: (transfer none): a floating reference to a new #GCClosure
*/
* Creates a new closure which invokes @callback_func with @user_data as
* the first parameter.
*
+ * @destroy_data will be called as a finalize notifier on the #GClosure.
+ *
* Returns: (transfer none): a floating reference to a new #GCClosure
*/
/**
* g_closure_invalidate:
- * @closure: GClosure to invalidate
+ * @closure: #GClosure to invalidate
*
* Sets a flag on the closure to indicate that its calling
* environment has become invalid, and thus causes any future
/**
* g_object_watch_closure:
- * @object: GObject restricting lifetime of @closure
- * @closure: GClosure to watch
+ * @object: #GObject restricting lifetime of @closure
+ * @closure: #GClosure to watch
*
* This function essentially limits the life time of the @closure to
* the life time of the object. That is, when the object is finalized,
]
typelibdir = join_paths(get_option('libdir'), 'girepository-1.0')
-girdir = join_paths(get_option('datadir'), 'gir-1.0')
install_data(gir_files, install_dir: girdir)
scanner_command = [
foreach h : gobject_headers
hstr = '@0@'.format(h)
- if not hstr.endswith('autocleanups.h') and not hstr.endswith('glib-types.h')
+ if not hstr.endswith('autocleanups.h') and not hstr.endswith('glib-types.h') and not hstr.endswith('gvaluecollector.h')
gobject_files += h
endif
endforeach
girepository_command = scanner_command + [
'--identifier-prefix=GI',
'--symbol-prefix=g',
+ '--symbol-prefix=gi',
'--c-include=girepository.h',
'--namespace=GIRepository',
'--nsversion=2.0',
'--include-uninstalled=' + gobject_gir.full_path(),
'--cflags-begin'] + glib_includes + [
'-I' + meson.current_source_dir() + '/../girepository',
+ '-I' + meson.current_build_dir() + '/../girepository',
'-DGI_COMPILATION',
'--cflags-end',
'@INPUT@',
]
)
+typelibs = []
foreach gir : gir_files
- custom_target('generate-typelib-@0@'.format(gir).underscorify(),
+ typelibs += custom_target('generate-typelib-@0@'.format(gir).underscorify(),
input: gir,
output: '@BASENAME@.typelib',
depends: [gobject_gir, ],
/**
* SECTION:gicommontypes
- * @title: common types
+ * @title: Common Types
* @short_description: TODO
*
* TODO
* <refsect1 id="gi-giarginfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----GIArgInfo
* </synopsis>
* </refsect1>
* Obtain if an argument is only useful in C.
*
* Returns: %TRUE if argument is only useful in C.
- * Since: 1.29.0
+ * Since: 1.30
*/
gboolean
g_arg_info_is_skip (GIArgInfo *info)
}
break;
case GI_INFO_TYPE_TYPE:
+ return NULL;
default: ;
g_assert_not_reached ();
/* unnamed */
G_BEGIN_DECLS
/**
- * GIBaseInfoStub:
- *
- * TODO
- */
-struct _GIBaseInfoStub {
- /* <private> */
- gint32 dummy1;
- gint32 dummy2;
- gpointer dummy3;
- gpointer dummy4;
- gpointer dummy5;
- guint32 dummy6;
- guint32 dummy7;
- gpointer padding[4];
-};
-
-/**
* GIAttributeIter:
*
* An opaque structure used to iterate over attributes
* <refsect1 id="gi-gicallableinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----GICallableInfo
* +----<link linkend="gi-GIFunctionInfo">GIFunctionInfo</link>
* +----<link linkend="gi-GISignalInfo">GISignalInfo</link>
* Obtains the ownership transfer for the instance argument.
* #GITransfer contains a list of possible transfer values.
*
+ * Since: 1.42
* Returns: the transfer mode of the instance argument
*/
GITransfer
* <refsect1 id="gi-giconstantinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----GIConstantInfo
* </synopsis>
* </refsect1>
*
* Free the value returned from g_constant_info_get_value().
*
- * Since: 1.30.1
+ * Since: 1.32
*/
void
g_constant_info_free_value (GIConstantInfo *info,
* <refsect1 id="gi-gienuminfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
* +----GIEnumInfo
* </synopsis>
*
* Returns: (transfer none): the string form of the error domain associated
* with this enum, or %NULL.
- * Since: 1.29.17
+ * Since: 1.30
*/
const gchar *
g_enum_info_get_error_domain (GIEnumInfo *info)
* Obtain the number of methods that this enum type has.
*
* Returns: number of methods
- * Since: 1.29.17
+ * Since: 1.30
*/
gint
g_enum_info_get_n_methods (GIEnumInfo *info)
*
* Returns: (transfer full): the #GIFunctionInfo. Free the struct by calling
* g_base_info_unref() when done.
- * Since: 1.29.17
+ * Since: 1.30
*/
GIFunctionInfo *
g_enum_info_get_method (GIEnumInfo *info,
* <refsect1 id="gi-gifieldinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----GIFieldInfo
* </synopsis>
* </refsect1>
* g_field_info_get_offset:
* @info: a #GIFieldInfo
*
- * Obtain the offset in bits of the field member, this is relative
+ * Obtain the offset in bytes of the field member, this is relative
* to the beginning of the struct or union.
*
* Returns: the field offset
* <refsect1 id="gi-gifunctioninfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----<link linkend="gi-GICallableInfo">GICallableInfo</link>
* +----GIFunctionInfo
* +----<link linkend="gi-GISignalInfo">GISignalInfo</link>
* <refsect1 id="gi-giinterfaceinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
* +----GIInterfaceInfo
* </synopsis>
* <refsect1 id="gi-giobjectinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
* +----GIObjectInfo
* </synopsis>
/**
* g_object_info_find_vfunc_using_interfaces:
* @info: a #GIObjectInfo
- * @name: name of method to obtain
+ * @name: name of vfunc to obtain
* @implementor: (out) (transfer full): The implementor of the interface
*
* Locate a virtual function slot with name @name, searching both the object
* Note that this function does *not* search parent classes; you will have
* to chain up if that's desired.
*
- * Returns: (transfer full): the #GIFunctionInfo. Free the struct by calling
+ * Returns: (transfer full): the #GIVFuncInfo. Free the struct by calling
* g_base_info_unref() when done.
*/
GIVFuncInfo *
* <refsect1 id="gi-gipropertyinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----GIPropertyInfo
* </synopsis>
* </refsect1>
* <refsect1 id="gi-giregisteredtypeinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----GIRegisteredTypeInfo
* +----<link linkend="gi-GIEnumInfo">GIEnumInfo</link>
* +----<link linkend="gi-GIInterfaceInfo">GIInterfaceInfo</link>
* g_irepository_get_search_path:
*
* Returns the current search path #GIRepository will use when loading
- * typelib files. The list is internal to #GIRespository and should not
+ * typelib files. The list is internal to #GIRepository and should not
* be freed, nor should its string elements.
*
* Returns: (element-type filename) (transfer none): #GSList of strings
*
* Returns: (transfer full): #GIEnumInfo representing metadata about @domain's
* enum type, or %NULL
- * Since: 1.29.17
+ * Since: 1.30
*/
GIEnumInfo *
g_irepository_find_by_error_domain (GIRepository *repository,
#include <giunioninfo.h>
#include <giversionmacros.h>
#include <givfuncinfo.h>
+#include <giversion.h>
G_BEGIN_DECLS
if (start_discriminator (context, element_name,
attribute_names, attribute_values,
ctx, error))
- goto out;
+ goto out;
if (strcmp ("doc", element_name) == 0 || strcmp ("doc-deprecated", element_name) == 0 ||
strcmp ("doc-stability", element_name) == 0 || strcmp ("doc-version", element_name) == 0)
{
goto out;
break;
+ case 's':
+ if (strcmp ("source-position", element_name) == 0)
+ {
+ state_switch (ctx, STATE_PASSTHROUGH);
+ goto out;
+ }
+ break;
case 'u':
if (start_union (context, element_name,
attribute_names, attribute_values,
* <refsect1 id="gi-gisignalinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----<link linkend="gi-GICallableInfo">GICallableInfo</link>
* +----<link linkend="gi-GIFunctionInfo">GIFunctionInfo</link>
* +----GISignalInfo
* <refsect1 id="gi-giobjectinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
* +----GIStructInfo
* </synopsis>
*
* Obtain the type information for field named @name.
*
+ * Since: 1.46
* Returns: (transfer full): the #GIFieldInfo or %NULL if not found,
* free it with g_base_info_unref() when done.
*/
GIFieldInfo * g_struct_info_get_field (GIStructInfo *info,
gint n);
-GI_AVAILABLE_IN_ALL
+GI_AVAILABLE_IN_1_46
GIFieldInfo * g_struct_info_find_field (GIStructInfo *info,
const gchar *name);
* <refsect1 id="gi-gitypeinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----GITypeInfo
* </synopsis>
* </refsect1>
/**
* SECTION:gitypelib-internal
- * @title: GITypelib
+ * @title: GITypelib Internals
* @short_description: Layout and accessors for typelib
* @stability: Stable
*
* @constructor: The function acts as a constructor for the object it is
* contained in.
* @wraps_vfunc: The function is a simple wrapper for a virtual function.
- * @throws: (deprecated): This is now additionally stored in the #SignatureBlob.
+ * @throws: This is now additionally stored in the #SignatureBlob. (deprecated)
* @index: Index of the property that this function is a setter or getter of
* in the array of properties of the containing interface, or index
* of the virtual function that this function wraps.
* virtual function.
* @class_closure: Set if this virtual function is the class closure of a
* signal.
- * @throws: (deprecated): This is now additionally stored in the #SignatureBlob.
+ * @throws: This is now additionally stored in the #SignatureBlob. (deprecated)
* @reserved: Reserved for future use.
* @signal: The index of the signal in the list of signals of the object or
* interface to which this virtual function belongs.
* path (ie. LD_LIBRARY_PATH and DT_RPATH in ELF systems).
* See the documentation of your dynamic linker for full details.
*
- * Since: 1.35.8
+ * Since: 1.36
*/
void
g_irepository_prepend_library_path (const char *directory)
/**
* SECTION:gitypelib
- * @title: gitypelib
+ * @title: GITypelib
* @short_description: TODO
*
* TODO
G_BEGIN_DECLS
-#ifndef __GTK_DOC_IGNORE__
-typedef struct _GIBaseInfoStub GIBaseInfo;
-#endif
+typedef struct _GIBaseInfoStub {
+ /* <private> */
+ gint32 dummy1;
+ gint32 dummy2;
+ gpointer dummy3;
+ gpointer dummy4;
+ gpointer dummy5;
+ guint32 dummy6;
+ guint32 dummy7;
+ gpointer padding[4];
+} GIBaseInfo;
/**
* GICallableInfo:
* <refsect1 id="gi-gicallbackinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----<link linkend="gi-GICallableInfo">GICallableInfo</link>
* +----GIFunctionInfo
* +----<link linkend="gi-GISignalInfo">GISignalInfo</link>
* <refsect1 id="gi-givalueinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----GIValueInfo
* </synopsis>
* </refsect1>
* <refsect1 id="gi-giobjectinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
* +----GIUnionInfo
* </synopsis>
--- /dev/null
+/* Copyright (C) 2018 Christoph Reiter
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <girepository.h>
+
+/**
+ * SECTION:giversion
+ * @Title: Version Information
+ * @Short_description: macros and functions to check the girepository version
+ */
+
+/**
+ * GI_MAJOR_VERSION:
+ *
+ * The major version number of the girepository library.
+ *
+ * Since: 1.60
+ */
+
+/**
+ * GI_MINOR_VERSION:
+ *
+ * The minor version number of the girepository library.
+ *
+ * Since: 1.60
+ */
+
+/**
+ * GI_MICRO_VERSION:
+ *
+ * The micro version number of the girepository library.
+ *
+ * Since: 1.60
+ */
+
+/**
+ * GI_CHECK_VERSION:
+ * @major: the major version to check for
+ * @minor: the minor version to check for
+ * @micro: the micro version to check for
+ *
+ * Checks the version of the girepository library that is being compiled
+ * against.
+ *
+ * Returns: %TRUE if the version of the girepository header files
+ * is the same as or newer than the passed-in version.
+ *
+ * Since: 1.60
+ */
+
+/**
+ * gi_get_major_version:
+ *
+ * Returns the major version number of the girepository library.
+ * (e.g. in version 1.58.2 this is 1.)
+ *
+ * Returns: the major version number of the girepository library
+ *
+ * Since: 1.60
+ */
+guint
+gi_get_major_version (void)
+{
+ return GI_MAJOR_VERSION;
+}
+
+/**
+ * gi_get_minor_version:
+ *
+ * Returns the minor version number of the girepository library.
+ * (e.g. in version 1.58.2 this is 58.)
+ *
+ * Returns: the minor version number of the girepository library
+ *
+ * Since: 1.60
+ */
+guint
+gi_get_minor_version (void)
+{
+ return GI_MINOR_VERSION;
+}
+
+/**
+ * gi_get_micro_version:
+ *
+ * Returns the micro version number of the girepository library.
+ * (e.g. in version 1.58.2 this is 2.)
+ *
+ * Returns: the micro version number of the girepository library
+ *
+ * Since: 1.60
+ */
+guint
+gi_get_micro_version (void)
+{
+ return GI_MICRO_VERSION;
+}
--- /dev/null
+/* Copyright (C) 2018 Christoph Reiter
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GIVERISON_H__
+#define __GIVERISON_H__
+
+#if !defined (__GIREPOSITORY_H_INSIDE__) && !defined (GI_COMPILATION)
+#error "Only <girepository.h> can be included directly."
+#endif
+
+G_BEGIN_DECLS
+
+#define GI_MAJOR_VERSION 1
+#define GI_MINOR_VERSION 59
+#define GI_MICRO_VERSION 1
+
+#define GI_CHECK_VERSION(major,minor,micro) \
+ (GI_MAJOR_VERSION > (major) || \
+ (GI_MAJOR_VERSION == (major) && GI_MINOR_VERSION > (minor)) || \
+ (GI_MAJOR_VERSION == (major) && GI_MINOR_VERSION == (minor) && \
+ GI_MICRO_VERSION >= (micro)))
+
+GI_AVAILABLE_IN_1_60
+guint gi_get_major_version (void) G_GNUC_CONST;
+GI_AVAILABLE_IN_1_60
+guint gi_get_minor_version (void) G_GNUC_CONST;
+GI_AVAILABLE_IN_1_60
+guint gi_get_micro_version (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* __GIVERISON_H__ */
--- /dev/null
+/* Copyright (C) 2018 Christoph Reiter
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GIVERISON_H__
+#define __GIVERISON_H__
+
+#if !defined (__GIREPOSITORY_H_INSIDE__) && !defined (GI_COMPILATION)
+#error "Only <girepository.h> can be included directly."
+#endif
+
+G_BEGIN_DECLS
+
+#define GI_MAJOR_VERSION @GI_MAJOR_VERSION@
+#define GI_MINOR_VERSION @GI_MINOR_VERSION@
+#define GI_MICRO_VERSION @GI_MICRO_VERSION@
+
+#define GI_CHECK_VERSION(major,minor,micro) \
+ (GI_MAJOR_VERSION > (major) || \
+ (GI_MAJOR_VERSION == (major) && GI_MINOR_VERSION > (minor)) || \
+ (GI_MAJOR_VERSION == (major) && GI_MINOR_VERSION == (minor) && \
+ GI_MICRO_VERSION >= (micro)))
+
+GI_AVAILABLE_IN_1_60
+guint gi_get_major_version (void) G_GNUC_CONST;
+GI_AVAILABLE_IN_1_60
+guint gi_get_minor_version (void) G_GNUC_CONST;
+GI_AVAILABLE_IN_1_60
+guint gi_get_micro_version (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* __GIVERISON_H__ */
# define GI_AVAILABLE_IN_1_44 _GI_EXTERN
#endif
+#if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_46
+# define GI_DEPRECATED_IN_1_46 GLIB_DEPRECATED
+# define GI_DEPRECATED_IN_1_46_FOR(f) GLIB_DEPRECATED_FOR(f)
+#else
+# define GI_DEPRECATED_IN_1_46 _GI_EXTERN
+# define GI_DEPRECATED_IN_1_46_FOR(f) _GI_EXTERN
+#endif
+
+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_46
+# define GI_AVAILABLE_IN_1_46 GLIB_UNAVAILABLE(2, 46)
+#else
+# define GI_AVAILABLE_IN_1_46 _GI_EXTERN
+#endif
+
+#if defined(GLIB_VERSION_2_60) && GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_60
+# define GI_AVAILABLE_IN_1_60 GLIB_UNAVAILABLE(2, 60)
+#else
+# define GI_AVAILABLE_IN_1_60 _GI_EXTERN
+#endif
+
#endif /* __GIVERSIONMACROS_H__ */
* <refsect1 id="gi-givfuncinfo.struct-hierarchy" role="struct_hierarchy">
* <title role="struct_hierarchy.title">Struct hierarchy</title>
* <synopsis>
- * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
+ * <link linkend="GIBaseInfo">GIBaseInfo</link>
* +----<link linkend="gi-GICallableInfo">GICallableInfo</link>
* +----<link linkend="gi-GIFunctionInfo">GIFunctionInfo</link>
* +----<link linkend="gi-GISignalInfo">GISignalInfo</link>
include_directories: include_directories('.'),
)
+gi_version_h = configure_file(
+ configuration: config,
+ input: 'giversion.h.in',
+ output: 'giversion.h',
+)
+
girepo_headers = [
'giarginfo.h',
'gibaseinfo.h',
'giunioninfo.h',
'giversionmacros.h',
'givfuncinfo.h',
+ gi_version_h,
]
girepo_sources = [
'gitypeinfo.c',
'gitypelib.c',
'giunioninfo.c',
+ 'giversion.c',
'givfuncinfo.c',
]
'gistructinfo.c',
'gitypeinfo.c',
'giunioninfo.c',
+ 'giversion.c',
'givfuncinfo.c',
'giarginfo.h',
'gibaseinfo.h',
'gitypes.h',
'giunioninfo.h',
'givfuncinfo.h',
-)
+) + [gi_version_h]
+
install_headers(girepo_headers, subdir: 'gobject-introspection-1.0')
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
import os
builddir = os.environ.get('UNINSTALLED_INTROSPECTION_BUILDDIR')
if builddir is not None:
-__version__ = '1.58.3'
+__version__ = '1.59.1'
# 02110-1301, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import sys
import optparse
import codecs
@contextmanager
def encode_stdout(encoding):
"""Force stdout into a specific encoding."""
- # Python 2 does not encode stdout writes so wrap it with 'encoding' encoded writer.
# Python 3 uses a io.TextIOBase wrapped stdout with the system default encoding.
# Re-wrap the underlying buffer with a new writer with the given 'encoding'.
# See: https://docs.python.org/3/library/sys.html#sys.stdout
old_stdout = sys.stdout
- if sys.version_info.major < 3:
- binary_stdout = sys.stdout
- else:
- binary_stdout = sys.stdout.buffer
+ binary_stdout = sys.stdout.buffer
sys.stdout = codecs.getwriter(encoding)(binary_stdout)
yield
if options.packages:
process_packages(options, options.packages)
- ss = create_source_scanner(options, args)
+ ss, _ = create_source_scanner(options, args)
if options.extract:
parser = GtkDocCommentBlockParser()
http://developer.gnome.org/gtk-doc-manual/1.18/documenting.html.en
'''
-
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import re
import operator
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import copy
import operator
from itertools import chain
from . import message
+from .sourcescanner import CTYPE_TYPEDEF, CSYMBOL_TYPE_TYPEDEF
from .message import Position
from .utils import to_underscores
self.deprecated = None
self.deprecated_doc = None
self.doc = None
+ self.doc_position = None
class Node(Annotated):
def add_file_position(self, position):
self.file_positions.add(position)
+ def get_main_position(self):
+ if not self.file_positions:
+ return None
+
+ res = None
+ for position in self.file_positions:
+ if position.is_typedef:
+ res = position
+ else:
+ return position
+
+ return res
+
def add_symbol_reference(self, symbol):
if symbol.source_filename:
- self.add_file_position(Position(symbol.source_filename, symbol.line))
+ self.add_file_position(Position(symbol.source_filename, symbol.line,
+ is_typedef=symbol.type in (CTYPE_TYPEDEF, CSYMBOL_TYPE_TYPEDEF)))
def walk(self, callback, chain):
res = callback(self, chain)
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import errno
import glob
import hashlib
import shutil
import sys
import tempfile
-
-try:
- import cPickle as pickle
-except ImportError:
- import pickle
+import pickle
import giscanner
return None
try:
data = pickle.load(fd)
- except (AttributeError, EOFError, ValueError, pickle.BadPickleGet):
+ except Exception:
# Broken cache entry, remove it
self._remove_filename(store_filename)
data = None
args.append('dumpbin.exe')
args.append('-symbols')
- # Work around the attempt to resolve m.lib on Python 2.x
- if sys.version_info.major < 3:
- libraries[:] = [lib for lib in libraries if lib != 'm']
-
# When we are not using Visual C++ (i.e. we are using GCC)...
else:
libtool = utils.get_libtool_command(options)
# Boston, MA 02111-1307, USA.
#
-from __future__ import with_statement
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
from contextlib import contextmanager
from . import ast
# 02110-1301, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import argparse
# 02110-1301, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import re
import sys
from xml.sax import saxutils
from mako.lookup import TemplateLookup
import markdown
+from markdown.extensions.headerid import HeaderIdExtension
from . import ast, xmlwriter
from .utils import to_underscores
}
-def get_headerid_ext():
- try:
- from markdown.extensions.headerid import HeaderIdExtension
- except ImportError:
- # markdown 3.x
- from markdown.extensions.toc import TocExtension
- return TocExtension(toc_depth=0)
- else:
- # markdown 2.x
- return HeaderIdExtension(forceid=False)
-
-
def make_page_id(node, recursive=False):
if isinstance(node, ast.Namespace):
if recursive:
'markdown.extensions.fenced_code',
'markdown.extensions.nl2br',
'markdown.extensions.attr_list',
- get_headerid_ext(),
+ HeaderIdExtension(forceid=False)
])
def format_function_name(self, func):
'markdown.extensions.fenced_code',
'markdown.extensions.nl2br',
'markdown.extensions.attr_list',
- get_headerid_ext(),
+ HeaderIdExtension(forceid=False)
])
def format_in_parameters(self, node):
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import sys
import shlex
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import sys
import tempfile
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
from collections import OrderedDict
from . import ast
from .girwriter import COMPATIBLE_GIR_VERSION
+from .message import Position
CORE_NS = "http://www.gtk.org/introspection/core/1.0"
C_NS = "http://www.gtk.org/introspection/c/1.0"
if doc is not None:
if doc.text:
obj.doc = doc.text
+ obj.doc_position = Position(doc.attrib['filename'],
+ doc.attrib['line'],
+ doc.attrib.get('column', None))
version = node.attrib.get('version')
if version:
obj.version = version
attributes_[name] = value
obj.attributes = attributes_
+ if hasattr(obj, 'add_file_position'):
+ positions = sorted(node.findall(_corens('source-position')),
+ key=lambda x: (x.attrib['filename'],
+ int(x.attrib['line'])))
+ for position in positions:
+ if 'column' in position.attrib:
+ column = int(position.attrib['column'])
+ else:
+ column = None
+
+ obj.add_file_position(Position(position.attrib['filename'],
+ int(position.attrib['line']),
+ column))
+
def _parse_object_interface(self, node):
parent = node.attrib.get('parent')
if parent:
# Boston, MA 02111-1307, USA.
#
-from __future__ import with_statement
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+import os
from . import ast
from .xmlwriter import XMLWriter
class GIRWriter(XMLWriter):
- def __init__(self, namespace):
+ def __init__(self, namespace, sources_roots=[]):
super(GIRWriter, self).__init__()
self.write_comment(
'This file was automatically generated from C sources - DO NOT EDIT!\n'
'To affect the contents of this file, edit the original C definitions,\n'
'and/or use gtk-doc annotations. ')
+ self.sources_roots = sources_roots
self._write_repository(namespace)
def _write_repository(self, namespace):
if node.version:
attrs.append(('version', node.version))
+ def _get_relative_path(self, filename):
+ res = filename
+ for root in self.sources_roots:
+ relpath = ''
+ try:
+ relpath = os.path.relpath(filename, root)
+
+ # We might be on different drives on Windows, so relpath() won't work
+ except ValueError:
+ relpath = filename
+
+ if len(relpath) < len(res):
+ res = relpath
+
+ return res
+
def _write_generic(self, node):
for key, value in node.attributes.items():
self.write_tag('attribute', [('name', key), ('value', value)])
if hasattr(node, 'doc') and node.doc:
- self.write_tag('doc', [('xml:space', 'preserve')],
- node.doc)
+ attrs = [('xml:space', 'preserve'),
+ ('filename', self._get_relative_path(node.doc_position.filename)),
+ ('line', str(node.doc_position.line))]
+ if node.doc_position.column:
+ attrs.append(('column', str(node.doc_position.column)))
+
+ self.write_tag('doc', attrs, node.doc)
if hasattr(node, 'version_doc') and node.version_doc:
self.write_tag('doc-version', [('xml:space', 'preserve')],
self.write_tag('doc-stability', [('xml:space', 'preserve')],
node.stability_doc)
+ filepos = getattr(node, 'get_main_position', lambda: None)()
+ if filepos is not None:
+ position = [('filename', self._get_relative_path(filepos.filename)),
+ ('line', str(filepos.line))]
+ if filepos.column:
+ position.append(('column', str(filepos.column)))
+ self.write_tag('source-position', position)
+
def _append_node_generic(self, node, attrs):
if node.skip or not node.introspectable:
attrs.append(('introspectable', '0'))
#include <Python.h>
#include "sourcescanner.h"
-#ifdef _WIN32
-#include <fcntl.h>
-#include <io.h>
-#define WIN32_LEAN_AND_MEAN
-#define STRICT
-#include <windows.h>
-#endif
-
#include <glib-object.h>
#ifndef Py_TYPE
NEW_CLASS (PyGISourceSymbol, "SourceSymbol", GISourceSymbol, 10);
NEW_CLASS (PyGISourceType, "SourceType", GISourceType, 9);
-NEW_CLASS (PyGISourceScanner, "SourceScanner", GISourceScanner, 8);
+NEW_CLASS (PyGISourceScanner, "SourceScanner", GISourceScanner, 9);
/* Symbol */
pygi_source_scanner_parse_file (PyGISourceScanner *self,
PyObject *args)
{
- int fd;
- FILE *fp;
+ char *filename;
- if (!PyArg_ParseTuple (args, "i:SourceScanner.parse_file", &fd))
+ if (!PyArg_ParseTuple (args, "s:SourceScanner.parse_file", &filename))
return NULL;
-#ifdef _WIN32
- /* The file descriptor passed to us is from the C library Python
- * uses. That is msvcr71.dll for Python 2.5 and msvcr90.dll for
- * Python 2.6, 2.7, 3.2 etc; and msvcr100.dll for Python 3.3 and 3.4.
- * Python 3.5 and later is built with Visual Studio 2015, which uses
- * the universal CRT, so we need to deal with urtbase.dll here instead.
- * This code, at least if compiled with mingw, uses
- * msvcrt.dll, so we cannot use the file descriptor directly. So
- * perform appropriate magic.
- */
-
- /* If we are using the following combinations,
- * we can use the file descriptors directly
- * (Not if a build using WDK is used):
- * Python 2.6.x/2.7.x with Visual C++ 2008
- * Python 3.1.x/3.2.x with Visual C++ 2008
- * Python 3.3.x/3.4.x with Visual C++ 2010
- */
-
- /* XXX: Somehow we cannot use the FD directly on Python 3.5+ even when
- * using Visual Studio 2015, so we currently need to use _get_osfhandle() when
- * in all cases on Python 3.5+
- */
-
-#if (defined(_MSC_VER) && !defined(USE_WIN_DDK))
-#if (PY_MAJOR_VERSION==2 && PY_MINOR_VERSION>=6 && (_MSC_VER >= 1500 && _MSC_VER < 1600))
-#define MSVC_USE_FD_DIRECTLY 1
-#elif (PY_MAJOR_VERSION==3 && PY_MINOR_VERSION<=2 && (_MSC_VER >= 1500 && _MSC_VER < 1600))
-#define MSVC_USE_FD_DIRECTLY 1
-#elif (PY_MAJOR_VERSION==3 && PY_MINOR_VERSION<=4 && (_MSC_VER >= 1600 && _MSC_VER < 1700))
-#define MSVC_USE_FD_DIRECTLY 1
-#endif
-#endif
-
-#if !defined(MSVC_USE_FD_DIRECTLY) && !defined(__MINGW64_VERSION_MAJOR)
- {
-#if defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==2 && PY_MINOR_VERSION==5
-#define PYTHON_MSVCRXX_DLL "msvcr71.dll"
-#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==2 && PY_MINOR_VERSION==7
-#define PYTHON_MSVCRXX_DLL "msvcr90.dll"
-#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==3 && PY_MINOR_VERSION<=2
-#define PYTHON_MSVCRXX_DLL "msvcr90.dll"
-#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==3 && PY_MINOR_VERSION<=4
-#define PYTHON_MSVCRXX_DLL "msvcr100.dll"
-#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==3 && PY_MINOR_VERSION>=5
-#define PYTHON_MSVCRXX_DLL "ucrtbase.dll"
-#else
-#error This Python version not handled
-#endif
- HMODULE msvcrxx;
- intptr_t (*p__get_osfhandle) (int);
- HANDLE handle;
-
- msvcrxx = GetModuleHandle (PYTHON_MSVCRXX_DLL);
- if (!msvcrxx)
- {
- g_print ("No " PYTHON_MSVCRXX_DLL " loaded.\n");
- return NULL;
- }
-
- p__get_osfhandle = (intptr_t (*) (int)) GetProcAddress (msvcrxx, "_get_osfhandle");
- if (!p__get_osfhandle)
- {
- g_print ("No _get_osfhandle found in " PYTHON_MSVCRXX_DLL ".\n");
- return NULL;
- }
-
- handle = (HANDLE) p__get_osfhandle (fd);
- if (!p__get_osfhandle)
- {
- g_print ("Could not get OS handle from " PYTHON_MSVCRXX_DLL " fd.\n");
- return NULL;
- }
-
- fd = _open_osfhandle ((intptr_t) handle, _O_RDONLY);
- if (fd == -1)
- {
- g_print ("Could not open C fd from OS handle.\n");
- return NULL;
- }
- }
-#endif
-#endif
-
- fp = fdopen (fd, "r");
- if (!fp)
- {
- PyErr_SetFromErrno (PyExc_OSError);
- return NULL;
- }
-
- if (!gi_source_scanner_parse_file (self->scanner, fp))
+ if (!gi_source_scanner_parse_file (self->scanner, filename))
{
g_print ("Something went wrong during parsing.\n");
return NULL;
static PyObject *
pygi_source_scanner_get_symbols (PyGISourceScanner *self, G_GNUC_UNUSED PyObject *unused)
{
- GSList *l, *symbols;
+ GPtrArray *symbols;
PyObject *list;
- int i = 0;
+ guint i = 0;
symbols = gi_source_scanner_get_symbols (self->scanner);
- list = PyList_New (g_slist_length (symbols));
+ list = PyList_New (symbols->len);
- for (l = symbols; l; l = l->next)
+ for (i = 0; i != symbols->len; ++i)
{
- PyObject *item = pygi_source_symbol_new (l->data);
- PyList_SetItem (list, i++, item);
+ PyObject *item = pygi_source_symbol_new (g_ptr_array_index (symbols, i));
+ PyList_SetItem (list, i, item);
+ }
+
+ return list;
+}
+
+static PyObject *
+pygi_source_scanner_get_errors (PyGISourceScanner *self, G_GNUC_UNUSED PyObject *unused)
+{
+ GPtrArray *errors;
+ PyObject *list;
+ guint i = 0;
+
+ errors = gi_source_scanner_get_errors (self->scanner);
+ list = PyList_New (errors->len);
+
+ for (i = 0; i != errors->len; ++i)
+ {
+ PyObject *item = PyUnicode_FromString (g_ptr_array_index (errors, i));
+ PyList_SetItem (list, i, item);
}
- g_slist_free (symbols);
- Py_INCREF (list);
return list;
}
static PyObject *
pygi_source_scanner_get_comments (PyGISourceScanner *self, G_GNUC_UNUSED PyObject *unused)
{
- GSList *l, *comments;
+ GPtrArray *comments;
PyObject *list;
- int i = 0;
+ guint i = 0;
comments = gi_source_scanner_get_comments (self->scanner);
- list = PyList_New (g_slist_length (comments));
+ list = PyList_New (comments->len);
- for (l = comments; l; l = l->next)
+ for (i = 0; i != comments->len; ++i)
{
- GISourceComment *comment = l->data;
+ GISourceComment *comment = g_ptr_array_index (comments, i);
PyObject *comment_obj;
PyObject *filename_obj;
PyObject *item;
}
item = Py_BuildValue ("(OOi)", comment_obj, filename_obj, comment->line);
- PyList_SetItem (list, i++, item);
+ PyList_SetItem (list, i, item);
Py_DECREF (comment_obj);
Py_DECREF (filename_obj);
}
- g_slist_free (comments);
- Py_INCREF (list);
return list;
}
static const PyMethodDef _PyGISourceScanner_methods[] = {
+ { "get_errors", (PyCFunction) pygi_source_scanner_get_errors, METH_NOARGS },
{ "get_comments", (PyCFunction) pygi_source_scanner_get_comments, METH_NOARGS },
{ "get_symbols", (PyCFunction) pygi_source_scanner_get_symbols, METH_NOARGS },
{ "append_filename", (PyCFunction) pygi_source_scanner_append_filename, METH_VARARGS },
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
from . import ast
from . import message
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import imp
import os
import sys
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import re
from . import ast
block = self._blocks.get(section_name)
if block and block.description:
node.doc = block.description
+ node.doc_position = block.position
if isinstance(node, (ast.Class, ast.Interface)):
for prop in node.properties:
self._apply_annotations_property(node, prop)
if tag and tag.description:
node.doc = tag.description
+ node.doc_position = tag.position
if ANN_SKIP in annotations:
node.skip = True
if block.description:
node.doc = block.description
+ node.doc_position = block.position
since_tag = block.tags.get(TAG_SINCE)
if since_tag is not None:
if type_annotation:
field.type = self._transformer.create_type_from_user_string(type_annotation[0])
field.doc = tag.description
+ field.doc_position = tag.position
try:
self._adjust_container_type(parent, field, tag.annotations)
except AttributeError as ex:
param = block.params.get(m.symbol, None)
if param and param.description:
m.doc = param.description
+ m.doc_position = param.position
def _pass_read_annotations2(self, node, chain):
if isinstance(node, ast.Function):
# 02110-1301, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import sys
import operator
want to inform about.
"""
- __slots__ = ('filename', 'line', 'column')
+ __slots__ = ('filename', 'line', 'column', 'is_typedef')
- def __init__(self, filename=None, line=None, column=None):
+ def __init__(self, filename=None, line=None, column=None, is_typedef=False):
self.filename = filename
self.line = line
self.column = column
+ self.is_typedef = is_typedef
def _compare(self, other, op):
return op((self.filename, self.line, self.column),
self.column or -1)
def format(self, cwd):
- filename = os.path.realpath(self.filename)
- cwd = os.path.realpath(cwd)
- common_prefix = os.path.commonprefix((filename, cwd))
- if common_prefix:
- filename = os.path.relpath(filename, common_prefix)
+ filename = os.path.relpath(os.path.realpath(self.filename),
+ os.path.realpath(cwd))
if self.column is not None:
return '%s:%d:%d' % (filename, self.line, self.column)
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 171
-#define YY_END_OF_BUFFER 172
+#define YY_NUM_RULES 170
+#define YY_END_OF_BUFFER 171
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_acclist[1135] =
+static const flex_int16_t yy_acclist[1128] =
{ 0,
- 172, 170, 171, 3, 170, 171, 1, 171, 45, 170,
- 171, 170, 171, 20, 170, 171, 40, 170, 171, 42,
- 170, 171, 170, 171, 29, 170, 171, 30, 170, 171,
- 38, 170, 171, 36, 170, 171, 69, 170, 171, 37,
- 170, 171, 35, 170, 171, 39, 170, 171, 163, 170,
- 171, 163, 170, 171, 32, 170, 171, 31, 170, 171,
- 47, 170, 171, 46, 170, 171, 48, 170, 171, 34,
- 170, 171, 110, 160, 170, 171, 110, 160, 170, 171,
- 110, 160, 170, 171, 110, 160, 170, 171, 110, 160,
- 170, 171, 25, 170, 171, 170, 171, 27, 170, 171,
-
- 41, 170, 171, 110, 160, 170, 171, 110, 160, 170,
- 171, 110, 160, 170, 171, 110, 160, 170, 171, 110,
- 160, 170, 171, 110, 160, 170, 171, 110, 160, 170,
- 171, 110, 160, 170, 171, 110, 160, 170, 171, 110,
- 160, 170, 171, 110, 160, 170, 171, 110, 160, 170,
- 171, 110, 160, 170, 171, 110, 160, 170, 171, 110,
- 160, 170, 171, 110, 160, 170, 171, 21, 170, 171,
- 43, 170, 171, 23, 170, 171, 44, 170, 171, 3,
- 1, 62, 168, 53, 24, 65, 55, 166, 51, 67,
- 49, 68, 50, 70, 164, 4, 6, 52, 164, 162,
-
- 163, 163, 163, 163, 28, 22, 26, 57, 63, 61,
- 64, 58, 110, 160, 110, 160, 110, 160, 110, 160,
- 2, 54, 110, 160, 110, 160, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 160, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 160, 110, 160, 110, 119,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 134, 160, 110, 160,
- 110, 160, 110, 160, 110, 160, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 160, 110, 160, 110, 160,
- 110, 160, 110, 160, 56, 66, 33, 164, 6, 162,
-
- 163, 162, 163, 165, 163, 163, 163, 161, 59, 60,
- 110, 160, 110, 160, 169, 167, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 160, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 160, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 160, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 111, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 132, 160, 110, 160, 110, 160,
- 110, 136, 160, 110, 160, 110, 160, 110, 160, 110,
-
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 164,
- 162, 163, 162, 163, 162, 163, 165, 163, 161, 161,
- 110, 160, 110, 160, 110, 160, 106, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 112, 160, 97, 110, 160, 110,
-
- 160, 110, 114, 160, 110, 115, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 121, 160, 110, 122,
- 160, 110, 160, 110, 160, 110, 160, 110, 133, 160,
- 110, 160, 110, 142, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 108, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 157, 160, 110, 160, 110,
- 160, 18, 13, 162, 163, 161, 161, 161, 107, 110,
- 160, 110, 160, 110, 160, 96, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 160, 110, 160, 74, 110,
-
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 103, 110, 160, 110, 113, 160, 110, 116, 160,
- 110, 160, 110, 160, 110, 160, 110, 160, 109, 110,
- 160, 110, 124, 160, 110, 160, 110, 160, 110, 160,
- 110, 160, 110, 146, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 155, 160, 110, 160, 110, 160, 110, 159, 160, 15,
- 161, 110, 160, 110, 160, 110, 160, 110, 160, 110,
-
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 120, 160, 110, 123,
- 160, 110, 135, 160, 110, 160, 110, 160, 110, 145,
- 160, 110, 147, 160, 110, 150, 160, 110, 151, 160,
- 110, 152, 160, 110, 153, 160, 110, 160, 110, 160,
- 110, 160, 110, 160, 14, 16, 5, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
-
- 160, 110, 160, 110, 160, 110, 160, 75, 110, 160,
- 110, 160, 99, 110, 160, 78, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 160, 110, 137, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 118, 160,
- 110, 160, 110, 160, 110, 160, 110, 154, 160, 110,
- 160, 110, 160, 12, 110, 160, 110, 160, 110, 160,
- 110, 125, 160, 110, 126, 160, 110, 127, 160, 83,
- 110, 160, 110, 160, 110, 160, 110, 160, 110, 160,
- 110, 160, 110, 160, 110, 160, 81, 110, 160, 110,
-
- 141, 160, 110, 160, 87, 110, 160, 110, 160, 110,
- 148, 160, 110, 160, 93, 110, 160, 110, 160, 110,
- 160, 110, 117, 160, 110, 143, 160, 110, 144, 160,
- 110, 160, 110, 156, 160, 110, 158, 160, 8, 11,
- 19, 17, 110, 160, 110, 160, 110, 128, 160, 110,
- 129, 160, 110, 130, 160, 86, 110, 160, 110, 160,
- 84, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 82, 110, 160, 110, 160,
- 110, 160, 102, 110, 160, 110, 160, 110, 140, 160,
- 110, 160, 110, 160, 7, 8, 110, 160, 110, 160,
-
- 110, 131, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 80, 110, 160, 110, 139, 160, 88,
- 110, 160, 110, 149, 160, 92, 110, 160, 110, 160,
- 94, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 77, 110, 160, 110, 160, 110, 160,
- 110, 138, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 110, 160, 110, 160, 110, 160, 89,
- 110, 160, 95, 110, 160, 90, 110, 160, 110, 160,
- 110, 160, 110, 160, 91, 110, 160, 76, 110, 160,
- 101, 79, 110, 160, 110, 160, 110, 160, 110, 160,
-
- 71, 110, 160, 110, 160, 110, 160, 110, 160, 110,
- 160, 110, 160, 72, 104, 110, 160, 110, 160, 85,
- 110, 160, 105, 110, 160, 73, 9, 9, 12, 10,
- 10, 11, 100, 98
+ 171, 169, 170, 3, 169, 170, 1, 170, 45, 169,
+ 170, 169, 170, 20, 169, 170, 40, 169, 170, 42,
+ 169, 170, 169, 170, 29, 169, 170, 30, 169, 170,
+ 38, 169, 170, 36, 169, 170, 69, 169, 170, 37,
+ 169, 170, 35, 169, 170, 39, 169, 170, 162, 169,
+ 170, 162, 169, 170, 32, 169, 170, 31, 169, 170,
+ 47, 169, 170, 46, 169, 170, 48, 169, 170, 34,
+ 169, 170, 109, 159, 169, 170, 109, 159, 169, 170,
+ 109, 159, 169, 170, 109, 159, 169, 170, 109, 159,
+ 169, 170, 25, 169, 170, 169, 170, 27, 169, 170,
+
+ 41, 169, 170, 109, 159, 169, 170, 109, 159, 169,
+ 170, 109, 159, 169, 170, 109, 159, 169, 170, 109,
+ 159, 169, 170, 109, 159, 169, 170, 109, 159, 169,
+ 170, 109, 159, 169, 170, 109, 159, 169, 170, 109,
+ 159, 169, 170, 109, 159, 169, 170, 109, 159, 169,
+ 170, 109, 159, 169, 170, 109, 159, 169, 170, 109,
+ 159, 169, 170, 109, 159, 169, 170, 21, 169, 170,
+ 43, 169, 170, 23, 169, 170, 44, 169, 170, 3,
+ 1, 62, 167, 53, 24, 65, 55, 165, 51, 67,
+ 49, 68, 50, 70, 163, 4, 6, 52, 163, 161,
+
+ 162, 162, 162, 162, 28, 22, 26, 57, 63, 61,
+ 64, 58, 109, 159, 109, 159, 109, 159, 109, 159,
+ 2, 54, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 118, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 159, 109, 159, 109, 133, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 56, 66, 33, 163, 6, 161, 162, 161,
+
+ 162, 164, 162, 162, 162, 160, 59, 60, 109, 159,
+ 109, 159, 168, 166, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 110, 159, 109, 159, 109, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 131, 159, 109, 159, 109, 159, 109, 135, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 159, 109, 159, 109, 159, 163, 161, 162, 161, 162,
+ 161, 162, 164, 162, 160, 160, 109, 159, 109, 159,
+ 109, 159, 105, 109, 159, 109, 159, 109, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 111, 159, 109, 159, 109, 113, 159, 109, 114, 159,
+
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 120,
+ 159, 109, 121, 159, 109, 159, 109, 159, 109, 159,
+ 109, 132, 159, 109, 159, 109, 141, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 107, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 156, 159,
+ 109, 159, 109, 159, 18, 13, 161, 162, 160, 160,
+ 160, 106, 109, 159, 109, 159, 109, 159, 96, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 159, 74, 109, 159, 109, 159, 109, 159, 109, 159,
+
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 102, 109, 159, 109, 112, 159,
+ 109, 115, 159, 109, 159, 109, 159, 109, 159, 109,
+ 159, 108, 109, 159, 109, 123, 159, 109, 159, 109,
+ 159, 109, 159, 109, 159, 109, 145, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 154, 159, 109, 159, 109, 159, 109,
+ 158, 159, 15, 160, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 119,
+ 159, 109, 122, 159, 109, 134, 159, 109, 159, 109,
+ 159, 109, 144, 159, 109, 146, 159, 109, 149, 159,
+ 109, 150, 159, 109, 151, 159, 109, 152, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 14, 16, 5,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+
+ 75, 109, 159, 109, 159, 98, 109, 159, 78, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 109,
+ 136, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 117, 159, 109, 159, 109, 159, 109, 159, 109,
+ 153, 159, 109, 159, 109, 159, 12, 109, 159, 109,
+ 159, 109, 159, 109, 124, 159, 109, 125, 159, 109,
+ 126, 159, 83, 109, 159, 109, 159, 109, 159, 109,
+ 159, 109, 159, 109, 159, 109, 159, 109, 159, 81,
+ 109, 159, 109, 140, 159, 109, 159, 87, 109, 159,
+
+ 109, 159, 109, 147, 159, 109, 159, 93, 109, 159,
+ 109, 159, 109, 159, 109, 116, 159, 109, 142, 159,
+ 109, 143, 159, 109, 159, 109, 155, 159, 109, 157,
+ 159, 8, 11, 19, 17, 109, 159, 109, 159, 109,
+ 127, 159, 109, 128, 159, 109, 129, 159, 86, 109,
+ 159, 109, 159, 84, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 82, 109,
+ 159, 109, 159, 109, 159, 101, 109, 159, 109, 159,
+ 109, 139, 159, 109, 159, 109, 159, 7, 8, 109,
+ 159, 109, 159, 109, 130, 159, 109, 159, 109, 159,
+
+ 109, 159, 109, 159, 109, 159, 80, 109, 159, 109,
+ 138, 159, 88, 109, 159, 109, 148, 159, 92, 109,
+ 159, 109, 159, 94, 109, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 77, 109, 159, 109,
+ 159, 109, 159, 109, 137, 159, 109, 159, 109, 159,
+ 109, 159, 109, 159, 109, 159, 109, 159, 109, 159,
+ 109, 159, 89, 109, 159, 95, 109, 159, 90, 109,
+ 159, 109, 159, 109, 159, 109, 159, 91, 109, 159,
+ 76, 109, 159, 100, 79, 109, 159, 109, 159, 109,
+ 159, 109, 159, 71, 109, 159, 109, 159, 109, 159,
+
+ 109, 159, 109, 159, 109, 159, 72, 103, 109, 159,
+ 109, 159, 85, 109, 159, 104, 109, 159, 73, 9,
+ 9, 12, 10, 10, 11, 99, 97
} ;
-static const flex_int16_t yy_accept[749] =
+static const flex_int16_t yy_accept[746] =
{ 0,
1, 1, 1, 2, 4, 7, 9, 12, 14, 17,
20, 23, 25, 28, 31, 34, 37, 40, 43, 46,
211, 212, 213, 215, 217, 219, 219, 219, 221, 222,
223, 225, 227, 229, 231, 233, 235, 237, 239, 241,
- 243, 245, 247, 249, 252, 254, 256, 258, 260, 262,
- 264, 266, 269, 271, 273, 275, 277, 279, 281, 283,
- 285, 287, 289, 291, 293, 295, 296, 297, 297, 297,
- 297, 297, 297, 297, 297, 298, 298, 299, 299, 299,
- 300, 302, 304, 304, 305, 306, 307, 308, 309, 310,
- 311, 313, 315, 315, 316, 316, 316, 317, 317, 319,
+ 243, 245, 247, 250, 252, 254, 256, 258, 260, 262,
+ 264, 267, 269, 271, 273, 275, 277, 279, 281, 283,
+ 285, 287, 289, 291, 293, 294, 295, 295, 295, 295,
+ 295, 295, 295, 295, 296, 296, 297, 297, 297, 298,
+ 300, 302, 302, 303, 304, 305, 306, 307, 308, 309,
+ 311, 313, 313, 314, 314, 314, 315, 315, 317, 319,
321, 323, 325, 327, 329, 331, 333, 335, 337, 339,
- 341, 343, 345, 347, 349, 351, 353, 355, 358, 360,
+ 341, 343, 345, 347, 349, 351, 353, 356, 358, 360,
362, 364, 366, 368, 370, 372, 374, 376, 378, 380,
- 382, 384, 387, 389, 391, 394, 396, 398, 400, 402,
+ 383, 385, 387, 390, 392, 394, 396, 398, 400, 402,
404, 406, 408, 410, 412, 414, 416, 418, 420, 422,
- 424, 426, 428, 430, 430, 430, 430, 430, 430, 430,
- 430, 430, 430, 430, 430, 431, 431, 433, 435, 437,
- 438, 439, 440, 441, 443, 445, 447, 450, 452, 454,
+ 424, 426, 426, 426, 426, 426, 426, 426, 426, 426,
+ 426, 426, 426, 427, 427, 429, 431, 433, 434, 435,
+ 436, 437, 439, 441, 443, 446, 448, 450, 452, 454,
456, 458, 460, 462, 464, 466, 468, 470, 472, 474,
- 476, 478, 480, 482, 484, 486, 488, 490, 492, 494,
- 497, 500, 502, 505, 508, 510, 512, 514, 516, 519,
- 522, 524, 526, 528, 531, 533, 536, 538, 540, 542,
-
- 544, 546, 548, 550, 552, 554, 556, 559, 561, 563,
- 565, 568, 570, 572, 572, 573, 573, 573, 573, 573,
- 573, 574, 574, 574, 574, 574, 574, 576, 577, 578,
- 579, 582, 584, 586, 589, 591, 593, 595, 597, 599,
- 602, 604, 606, 608, 610, 612, 614, 616, 618, 620,
- 622, 624, 626, 628, 630, 632, 635, 638, 641, 643,
- 645, 647, 649, 652, 655, 657, 659, 661, 663, 666,
- 668, 670, 672, 674, 676, 678, 680, 683, 685, 687,
- 690, 690, 690, 690, 691, 691, 691, 691, 691, 691,
- 691, 691, 692, 694, 696, 698, 700, 702, 704, 706,
-
- 708, 708, 710, 712, 714, 716, 718, 720, 722, 724,
- 726, 728, 730, 732, 734, 736, 738, 740, 742, 744,
- 746, 749, 752, 755, 757, 759, 762, 765, 768, 771,
- 774, 777, 779, 781, 783, 785, 785, 785, 786, 786,
- 787, 787, 787, 787, 787, 787, 788, 790, 792, 794,
- 796, 798, 800, 802, 804, 806, 808, 808, 811, 813,
- 816, 819, 821, 823, 825, 827, 830, 832, 834, 836,
- 838, 840, 842, 844, 846, 848, 851, 853, 855, 857,
- 860, 862, 864, 864, 864, 864, 864, 865, 865, 865,
- 865, 865, 865, 867, 869, 871, 874, 877, 880, 883,
-
- 885, 887, 889, 891, 891, 891, 893, 895, 897, 900,
- 903, 905, 908, 910, 913, 915, 918, 920, 922, 925,
- 928, 931, 933, 933, 936, 939, 940, 940, 940, 940,
- 940, 940, 941, 941, 941, 942, 942, 943, 945, 947,
- 950, 953, 956, 959, 961, 964, 966, 966, 966, 966,
- 968, 970, 972, 974, 976, 979, 981, 983, 986, 988,
- 991, 993, 995, 995, 996, 997, 997, 997, 997, 997,
- 999, 1001, 1004, 1006, 1008, 1008, 1008, 1008, 1010, 1012,
- 1014, 1017, 1020, 1023, 1026, 1029, 1031, 1034, 1036, 1036,
- 1036, 1036, 1036, 1036, 1038, 1040, 1042, 1044, 1044, 1044,
-
- 1044, 1047, 1047, 1047, 1049, 1051, 1054, 1056, 1058, 1058,
- 1058, 1058, 1058, 1058, 1060, 1062, 1064, 1066, 1066, 1066,
- 1066, 1068, 1068, 1068, 1068, 1070, 1073, 1076, 1079, 1079,
- 1079, 1079, 1079, 1079, 1081, 1083, 1085, 1088, 1088, 1088,
- 1088, 1091, 1092, 1092, 1095, 1095, 1095, 1095, 1095, 1095,
- 1097, 1099, 1101, 1102, 1102, 1102, 1102, 1102, 1102, 1102,
- 1102, 1102, 1104, 1106, 1108, 1108, 1108, 1108, 1108, 1108,
- 1108, 1108, 1108, 1110, 1112, 1114, 1114, 1115, 1115, 1115,
- 1115, 1115, 1115, 1115, 1118, 1120, 1123, 1123, 1123, 1123,
- 1123, 1123, 1123, 1123, 1126, 1126, 1126, 1126, 1126, 1126,
-
- 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1127,
- 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
- 1128, 1128, 1128, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
- 1131, 1131, 1131, 1133, 1133, 1133, 1133, 1134, 1134, 1134,
- 1134, 1134, 1134, 1134, 1134, 1134, 1135, 1135
+ 476, 478, 480, 482, 484, 486, 488, 490, 493, 495,
+ 498, 501, 503, 505, 507, 509, 512, 515, 517, 519,
+ 521, 524, 526, 529, 531, 533, 535, 537, 539, 541,
+
+ 543, 545, 547, 549, 552, 554, 556, 558, 561, 563,
+ 565, 565, 566, 566, 566, 566, 566, 566, 567, 567,
+ 567, 567, 567, 567, 569, 570, 571, 572, 575, 577,
+ 579, 582, 584, 586, 588, 590, 592, 595, 597, 599,
+ 601, 603, 605, 607, 609, 611, 613, 615, 617, 619,
+ 621, 623, 625, 628, 631, 634, 636, 638, 640, 642,
+ 645, 648, 650, 652, 654, 656, 659, 661, 663, 665,
+ 667, 669, 671, 673, 676, 678, 680, 683, 683, 683,
+ 683, 684, 684, 684, 684, 684, 684, 684, 684, 685,
+ 687, 689, 691, 693, 695, 697, 699, 701, 701, 703,
+
+ 705, 707, 709, 711, 713, 715, 717, 719, 721, 723,
+ 725, 727, 729, 731, 733, 735, 737, 739, 742, 745,
+ 748, 750, 752, 755, 758, 761, 764, 767, 770, 772,
+ 774, 776, 778, 778, 778, 779, 779, 780, 780, 780,
+ 780, 780, 780, 781, 783, 785, 787, 789, 791, 793,
+ 795, 797, 799, 801, 801, 804, 806, 809, 812, 814,
+ 816, 818, 820, 823, 825, 827, 829, 831, 833, 835,
+ 837, 839, 841, 844, 846, 848, 850, 853, 855, 857,
+ 857, 857, 857, 857, 858, 858, 858, 858, 858, 858,
+ 860, 862, 864, 867, 870, 873, 876, 878, 880, 882,
+
+ 884, 884, 884, 886, 888, 890, 893, 896, 898, 901,
+ 903, 906, 908, 911, 913, 915, 918, 921, 924, 926,
+ 926, 929, 932, 933, 933, 933, 933, 933, 933, 934,
+ 934, 934, 935, 935, 936, 938, 940, 943, 946, 949,
+ 952, 954, 957, 959, 959, 959, 959, 961, 963, 965,
+ 967, 969, 972, 974, 976, 979, 981, 984, 986, 988,
+ 988, 989, 990, 990, 990, 990, 990, 992, 994, 997,
+ 999, 1001, 1001, 1001, 1001, 1003, 1005, 1007, 1010, 1013,
+ 1016, 1019, 1022, 1024, 1027, 1029, 1029, 1029, 1029, 1029,
+ 1029, 1031, 1033, 1035, 1037, 1037, 1037, 1037, 1040, 1040,
+
+ 1040, 1042, 1044, 1047, 1049, 1051, 1051, 1051, 1051, 1051,
+ 1051, 1053, 1055, 1057, 1059, 1059, 1059, 1059, 1061, 1061,
+ 1061, 1061, 1063, 1066, 1069, 1072, 1072, 1072, 1072, 1072,
+ 1072, 1074, 1076, 1078, 1081, 1081, 1081, 1081, 1084, 1085,
+ 1085, 1088, 1088, 1088, 1088, 1088, 1088, 1090, 1092, 1094,
+ 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1097,
+ 1099, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101,
+ 1103, 1105, 1107, 1107, 1108, 1108, 1108, 1108, 1108, 1108,
+ 1108, 1111, 1113, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
+ 1116, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
+
+ 1119, 1119, 1119, 1119, 1119, 1119, 1120, 1120, 1120, 1120,
+ 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1121, 1121, 1121,
+ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1124, 1124, 1124,
+ 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127, 1127, 1127,
+ 1127, 1127, 1127, 1128, 1128
} ;
static const YY_CHAR yy_ec[256] =
15, 1, 1, 1, 1
} ;
-static const flex_int16_t yy_base[778] =
+static const flex_int16_t yy_base[775] =
{ 0,
- 0, 0, 1412, 1413, 84, 0, 1379, 80, 85, 59,
- 83, 83, 1413, 1413, 1378, 80, 1413, 81, 79, 97,
- 140, 202, 1376, 1413, 99, 1376, 77, 1413, 0, 1372,
- 1350, 110, 1358, 1413, 1401, 1413, 1371, 98, 44, 51,
- 68, 66, 72, 84, 1331, 86, 1330, 1339, 105, 108,
- 1329, 1327, 1333, 1413, 91, 1413, 1413, 171, 0, 1413,
- 142, 1413, 1393, 211, 1334, 117, 1332, 1328, 1319, 1413,
- 1413, 1413, 1413, 124, 1413, 1388, 1413, 1413, 1413, 1413,
- 1413, 1413, 1372, 153, 238, 0, 1413, 205, 203, 0,
- 266, 230, 134, 0, 1413, 1413, 1413, 1357, 1413, 1413,
-
- 1413, 1356, 0, 1343, 1345, 152, 133, 1335, 1413, 1413,
- 1313, 1315, 118, 1318, 250, 1312, 1305, 1308, 1317, 1303,
- 1319, 1305, 1312, 1297, 1298, 1295, 1295, 1301, 1297, 1294,
- 1291, 0, 51, 1295, 135, 1293, 119, 139, 1298, 1289,
- 1285, 1288, 139, 138, 1294, 1413, 1413, 309, 1296, 177,
- 1297, 202, 1286, 1298, 1413, 323, 1413, 1323, 0, 0,
- 308, 216, 339, 313, 200, 1413, 217, 324, 1413, 1413,
- 1305, 168, 164, 1413, 1349, 244, 1413, 1348, 1311, 1278,
- 1277, 186, 1279, 1273, 183, 204, 1284, 1265, 1273, 1271,
- 1268, 1279, 230, 1259, 1273, 1266, 1310, 0, 1264, 1266,
-
- 1276, 1271, 1258, 225, 1273, 1271, 1267, 1258, 1265, 1251,
- 1267, 0, 1252, 1257, 0, 1258, 1255, 1244, 1242, 1244,
- 1246, 1254, 1239, 1237, 1237, 1250, 1249, 1248, 1237, 1242,
- 1246, 1248, 1236, 1300, 1237, 1239, 1239, 1234, 1295, 1236,
- 1236, 1234, 1231, 381, 329, 1260, 227, 1413, 273, 1413,
- 1413, 343, 274, 1253, 1246, 1247, 0, 1221, 1231, 1217,
- 1225, 1217, 1223, 1214, 1207, 1220, 1210, 1220, 1203, 233,
- 1207, 1219, 1201, 1211, 1213, 1200, 1201, 1202, 1245, 0,
- 0, 1201, 0, 0, 1192, 1201, 1189, 1196, 0, 0,
- 1190, 1201, 1186, 0, 1190, 0, 1185, 1185, 1184, 1181,
-
- 1194, 1183, 1188, 1193, 1192, 1193, 0, 1189, 1178, 1184,
- 0, 1171, 1184, 1241, 1413, 1173, 1237, 1238, 1178, 1236,
- 1413, 1176, 1176, 1231, 1166, 375, 1413, 263, 1413, 310,
- 0, 1185, 1188, 0, 1157, 1155, 1155, 299, 1172, 381,
- 1155, 1168, 1152, 1157, 1163, 1158, 295, 1152, 1158, 1145,
- 1149, 1159, 1156, 1141, 1158, 0, 0, 0, 1144, 1145,
- 1151, 1141, 0, 0, 1149, 1134, 1143, 1137, 0, 1146,
- 1143, 1145, 1128, 1138, 1141, 1139, 0, 1129, 1133, 0,
- 1136, 1193, 1192, 1413, 1191, 263, 1131, 400, 1135, 1177,
- 1171, 1413, 1163, 1139, 373, 1119, 1110, 1109, 1126, 1123,
-
- 408, 1126, 1116, 1112, 1104, 1104, 1107, 1106, 1153, 1150,
- 1097, 1103, 1098, 1109, 1112, 1097, 1146, 1091, 1089, 1089,
- 0, 0, 0, 1102, 1103, 0, 0, 0, 0, 0,
- 0, 1105, 1098, 1098, 1090, 1152, 1153, 1413, 1152, 1413,
- 377, 412, 393, 424, 1149, 1413, 1129, 1126, 408, 1129,
- 1126, 1081, 1075, 1077, 1078, 1089, 1073, 434, 1085, 0,
- 0, 1070, 1067, 1079, 1112, 0, 1070, 1080, 1071, 1075,
- 1066, 1071, 1110, 1066, 1069, 0, 1056, 1053, 1059, 1121,
- 1065, 1063, 0, 1067, 1119, 438, 1413, 316, 430, 451,
- 1118, 1117, 1063, 1094, 1090, 0, 1037, 1036, 0, 1044,
-
- 1039, 1051, 1043, 1042, 453, 1033, 1047, 1042, 1050, 1049,
- 1036, 0, 1044, 1046, 1033, 1044, 1072, 1030, 0, 0,
- 0, 1026, 1037, 0, 0, 1083, 1053, 428, 1037, 1089,
- 457, 1413, 415, 1088, 1413, 1087, 1413, 1052, 1032, 1008,
- 0, 0, 0, 1014, 0, 1014, 1027, 1027, 1011, 1006,
- 1021, 1008, 1022, 1002, 0, 1001, 1019, 0, 1018, 1017,
- 1011, 1012, 1006, 1413, 1057, 1025, 439, 1026, 458, 1020,
- 1028, 0, 1003, 1004, 987, 984, 992, 998, 461, 988,
- 0, 0, 1001, 0, 0, 981, 999, 997, 996, 996,
- 461, 1008, 462, 1005, 1003, 989, 990, 981, 974, 987,
-
- 987, 465, 982, 985, 984, 0, 983, 970, 964, 988,
- 368, 979, 469, 986, 988, 967, 963, 962, 961, 953,
- 971, 0, 1013, 235, 969, 0, 0, 0, 1019, 986,
- 471, 974, 472, 972, 972, 957, 0, 957, 960, 951,
- 0, 1413, 463, 0, 959, 979, 475, 976, 477, 977,
- 962, 945, 1413, 934, 940, 466, 951, 961, 478, 941,
- 480, 859, 868, 841, 836, 839, 471, 825, 853, 484,
- 852, 486, 847, 838, 698, 688, 1413, 475, 680, 714,
- 487, 706, 488, 0, 701, 0, 654, 479, 656, 665,
- 490, 671, 499, 0, 652, 482, 632, 637, 493, 645,
-
- 494, 599, 485, 589, 580, 497, 576, 498, 1413, 490,
- 570, 516, 540, 571, 503, 499, 568, 563, 559, 1413,
- 549, 548, 1413, 553, 558, 535, 490, 541, 537, 1413,
- 525, 524, 1413, 511, 509, 442, 491, 316, 327, 297,
- 237, 248, 227, 196, 93, 1413, 1413, 563, 579, 595,
- 606, 617, 633, 644, 658, 674, 689, 700, 716, 732,
- 743, 759, 775, 791, 807, 817, 833, 849, 865, 878,
- 893, 909, 925, 941, 957, 973, 989
+ 0, 0, 1409, 1410, 84, 0, 1376, 80, 85, 59,
+ 83, 83, 1410, 1410, 1375, 80, 1410, 81, 79, 97,
+ 140, 202, 1373, 1410, 99, 1373, 77, 1410, 0, 1369,
+ 1347, 110, 1355, 1410, 1398, 1410, 1368, 98, 44, 1326,
+ 68, 66, 56, 84, 1327, 78, 1326, 1335, 105, 108,
+ 1325, 1323, 1329, 1410, 90, 1410, 1410, 172, 0, 1410,
+ 89, 1410, 1389, 172, 1330, 81, 1328, 1324, 1315, 1410,
+ 1410, 1410, 1410, 133, 1410, 1384, 1410, 1410, 1410, 1410,
+ 1410, 1410, 1368, 170, 154, 0, 1410, 196, 193, 0,
+ 259, 171, 134, 0, 1410, 1410, 1410, 1353, 1410, 1410,
+
+ 1410, 1352, 0, 1339, 1341, 164, 192, 1331, 1410, 1410,
+ 1309, 1311, 111, 1314, 231, 1308, 1301, 1314, 1300, 1316,
+ 1302, 1309, 1294, 1295, 1292, 1292, 1298, 1294, 1291, 1288,
+ 0, 136, 1292, 179, 1290, 126, 161, 1295, 1286, 1282,
+ 1285, 185, 183, 1291, 1410, 1410, 290, 1293, 191, 1294,
+ 207, 1283, 1295, 1410, 304, 1410, 1320, 0, 0, 289,
+ 205, 320, 231, 218, 1410, 254, 305, 1410, 1410, 1302,
+ 163, 282, 1410, 1346, 244, 1410, 1345, 1308, 1275, 1274,
+ 250, 1276, 1270, 262, 290, 1281, 1262, 1270, 1268, 1265,
+ 1276, 287, 1256, 1270, 1263, 1307, 0, 1261, 1274, 1269,
+
+ 1256, 279, 1271, 1269, 1265, 1256, 1263, 1249, 1265, 0,
+ 1250, 1255, 0, 1256, 1253, 1242, 1240, 1242, 1244, 1252,
+ 1237, 1235, 1235, 1248, 1247, 1246, 1235, 1240, 1244, 1246,
+ 1234, 1298, 1235, 1237, 1237, 1232, 1293, 1234, 1234, 1232,
+ 1229, 362, 330, 1258, 284, 1410, 307, 1410, 1410, 327,
+ 312, 1251, 1244, 1245, 0, 1219, 1229, 1215, 1223, 1215,
+ 1221, 1212, 1205, 1218, 1208, 1218, 1201, 291, 1205, 1217,
+ 1199, 1209, 1211, 1198, 1199, 1200, 1243, 0, 1199, 0,
+ 0, 1190, 1199, 1187, 1194, 0, 0, 1188, 1199, 1184,
+ 0, 1188, 0, 1183, 1183, 1182, 1179, 1192, 1181, 1186,
+
+ 1191, 1190, 1191, 0, 1187, 1176, 1182, 0, 1169, 1182,
+ 1239, 1410, 1171, 1235, 1236, 1176, 1234, 1410, 1174, 1174,
+ 1229, 1164, 362, 1410, 318, 1410, 325, 0, 1183, 1186,
+ 0, 1155, 1153, 1153, 322, 1170, 395, 1153, 1166, 1150,
+ 1155, 1161, 1156, 337, 1150, 1156, 1143, 1147, 1157, 1154,
+ 1139, 1156, 0, 0, 0, 1142, 1143, 1149, 1139, 0,
+ 0, 1147, 1132, 1141, 1135, 0, 1144, 1141, 1143, 1126,
+ 1136, 1139, 1137, 0, 1127, 1131, 0, 1134, 1191, 1190,
+ 1410, 1189, 399, 1129, 385, 1133, 1175, 1169, 1410, 1161,
+ 1137, 393, 1117, 1108, 1107, 1124, 1121, 413, 1124, 1114,
+
+ 1110, 1102, 1102, 1105, 1104, 1151, 1148, 1095, 1101, 1096,
+ 1107, 1110, 1095, 1144, 1089, 1087, 1087, 0, 0, 0,
+ 1100, 1101, 0, 0, 0, 0, 0, 0, 1103, 1096,
+ 1096, 1088, 1150, 1151, 1410, 1150, 1410, 418, 419, 423,
+ 421, 1147, 1410, 1127, 1124, 97, 1127, 1124, 1079, 1073,
+ 1075, 1076, 1087, 1071, 425, 1083, 0, 0, 1068, 1065,
+ 1077, 1110, 0, 1068, 1078, 1069, 1073, 1064, 1069, 1108,
+ 1064, 1067, 0, 1054, 1051, 1057, 1119, 1063, 1061, 0,
+ 1065, 1117, 429, 1410, 335, 431, 435, 1116, 1115, 1061,
+ 1092, 1088, 0, 1035, 1034, 0, 1042, 1037, 1049, 1041,
+
+ 1040, 448, 1031, 1045, 1040, 1048, 1047, 1034, 0, 1042,
+ 1044, 1031, 1042, 1070, 1028, 0, 0, 0, 1024, 1035,
+ 0, 0, 1081, 1051, 259, 1035, 1087, 452, 1410, 432,
+ 1086, 1410, 1085, 1410, 1050, 1030, 1006, 0, 0, 0,
+ 1012, 0, 1012, 1025, 1025, 1009, 1004, 1019, 1006, 1020,
+ 1000, 0, 999, 1017, 0, 1016, 1015, 1009, 1010, 1004,
+ 1410, 1055, 1023, 436, 1024, 453, 1018, 1026, 0, 1001,
+ 1002, 985, 982, 990, 996, 456, 986, 0, 0, 999,
+ 0, 0, 979, 997, 995, 994, 994, 456, 1006, 457,
+ 1003, 1001, 987, 988, 979, 972, 985, 985, 460, 980,
+
+ 983, 982, 0, 981, 968, 962, 986, 461, 977, 460,
+ 984, 986, 965, 961, 960, 959, 951, 969, 0, 1011,
+ 453, 967, 0, 0, 0, 1017, 984, 464, 972, 467,
+ 970, 970, 955, 0, 955, 958, 949, 0, 1410, 456,
+ 0, 957, 977, 468, 974, 470, 975, 960, 943, 1410,
+ 932, 938, 463, 949, 930, 257, 868, 475, 857, 866,
+ 839, 834, 837, 468, 823, 851, 474, 850, 477, 833,
+ 712, 695, 686, 1410, 471, 677, 711, 479, 704, 486,
+ 0, 665, 0, 651, 470, 654, 662, 490, 668, 493,
+ 0, 650, 473, 617, 635, 489, 607, 492, 597, 485,
+
+ 570, 575, 494, 572, 496, 1410, 489, 567, 518, 538,
+ 567, 502, 521, 509, 558, 554, 1410, 552, 548, 1410,
+ 551, 557, 534, 487, 539, 535, 1410, 532, 523, 1410,
+ 511, 504, 439, 498, 432, 341, 323, 297, 210, 158,
+ 202, 172, 1410, 1410, 562, 578, 594, 605, 616, 632,
+ 643, 657, 673, 688, 699, 715, 731, 742, 758, 774,
+ 790, 806, 816, 832, 848, 864, 877, 892, 908, 924,
+ 940, 956, 972, 988
} ;
-static const flex_int16_t yy_def[778] =
+static const flex_int16_t yy_def[775] =
{ 0,
- 747, 1, 747, 747, 747, 748, 747, 749, 747, 747,
- 747, 750, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 751, 751,
- 751, 751, 751, 747, 747, 747, 747, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 747, 747, 747, 747, 747, 748, 747,
- 749, 747, 749, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 750, 747, 750, 747, 747, 747, 747,
- 747, 747, 747, 752, 747, 753, 747, 752, 21, 22,
- 747, 747, 747, 754, 747, 747, 747, 747, 747, 747,
-
- 747, 747, 751, 751, 751, 755, 756, 751, 747, 747,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 757, 753,
- 747, 747, 747, 758, 747, 747, 747, 754, 747, 747,
- 751, 751, 755, 747, 755, 756, 747, 756, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
-
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 759, 747, 747, 747, 747, 760, 747,
- 747, 747, 747, 747, 761, 757, 747, 747, 747, 747,
- 747, 747, 747, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
-
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 759, 747, 747, 747, 762, 747, 760,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 747, 763, 762, 747, 764, 747, 747, 747, 747, 747,
- 747, 747, 751, 751, 751, 751, 751, 751, 751, 751,
-
- 747, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 747, 763, 747, 764, 747,
- 747, 765, 747, 747, 747, 747, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 747, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 766, 747, 765, 765, 747, 765, 747, 767,
- 768, 769, 751, 751, 751, 751, 751, 751, 751, 751,
-
- 751, 751, 751, 747, 747, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 747, 751, 751, 770, 747, 765, 747, 767,
- 767, 747, 767, 768, 747, 769, 747, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 747, 747, 747, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 747, 747, 770, 747, 765, 747, 767, 751,
- 751, 751, 751, 751, 747, 747, 747, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 747, 747,
- 765, 747, 767, 751, 751, 751, 751, 747, 747, 747,
-
- 751, 747, 771, 751, 751, 751, 751, 751, 747, 747,
- 765, 747, 767, 751, 751, 751, 751, 747, 747, 747,
- 751, 771, 771, 771, 751, 751, 751, 751, 747, 747,
- 765, 747, 767, 751, 751, 751, 751, 747, 747, 747,
- 751, 747, 771, 751, 747, 747, 765, 747, 767, 751,
- 751, 751, 747, 747, 747, 771, 747, 747, 765, 747,
- 767, 751, 751, 751, 747, 747, 771, 747, 747, 765,
- 747, 767, 751, 751, 751, 747, 747, 771, 747, 747,
- 765, 747, 767, 751, 751, 751, 747, 771, 747, 747,
- 765, 747, 767, 751, 747, 771, 747, 747, 765, 747,
-
- 767, 747, 771, 747, 747, 765, 747, 767, 747, 771,
- 747, 772, 773, 747, 767, 771, 747, 772, 772, 747,
- 773, 773, 747, 774, 775, 776, 747, 774, 774, 747,
- 775, 775, 747, 776, 776, 747, 776, 747, 747, 747,
- 747, 747, 747, 777, 777, 747, 0, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747
+ 744, 1, 744, 744, 744, 745, 744, 746, 744, 744,
+ 744, 747, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 748, 748,
+ 748, 748, 748, 744, 744, 744, 744, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 744, 744, 744, 744, 744, 745, 744,
+ 746, 744, 746, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 747, 744, 747, 744, 744, 744, 744,
+ 744, 744, 744, 749, 744, 750, 744, 749, 21, 22,
+ 744, 744, 744, 751, 744, 744, 744, 744, 744, 744,
+
+ 744, 744, 748, 748, 748, 752, 753, 748, 744, 744,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 754, 750, 744,
+ 744, 744, 755, 744, 744, 744, 751, 744, 744, 748,
+ 748, 752, 744, 752, 753, 744, 753, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 756, 744, 744, 744, 744, 757, 744, 744, 744,
+ 744, 744, 758, 754, 744, 744, 744, 744, 744, 744,
+ 744, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 756, 744, 744, 744, 759, 744, 757, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 744, 760, 759,
+ 744, 761, 744, 744, 744, 744, 744, 744, 744, 748,
+ 748, 748, 748, 748, 748, 748, 748, 744, 748, 748,
+
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 744, 760, 744, 761, 744, 744, 762, 744,
+ 744, 744, 744, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 744, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 763,
+ 744, 762, 762, 744, 762, 744, 764, 765, 766, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+
+ 744, 744, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 744,
+ 748, 748, 767, 744, 762, 744, 764, 764, 744, 764,
+ 765, 744, 766, 744, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 744, 744, 744, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 744,
+ 744, 767, 744, 762, 744, 764, 748, 748, 748, 748,
+ 748, 744, 744, 744, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 744, 744, 762, 744, 764,
+ 748, 748, 748, 748, 744, 744, 744, 748, 744, 768,
+
+ 748, 748, 748, 748, 748, 744, 744, 762, 744, 764,
+ 748, 748, 748, 748, 744, 744, 744, 748, 768, 768,
+ 768, 748, 748, 748, 748, 744, 744, 762, 744, 764,
+ 748, 748, 748, 748, 744, 744, 744, 748, 744, 768,
+ 748, 744, 744, 762, 744, 764, 748, 748, 748, 744,
+ 744, 744, 768, 744, 744, 762, 744, 764, 748, 748,
+ 748, 744, 744, 768, 744, 744, 762, 744, 764, 748,
+ 748, 748, 744, 744, 768, 744, 744, 762, 744, 764,
+ 748, 748, 748, 744, 768, 744, 744, 762, 744, 764,
+ 748, 744, 768, 744, 744, 762, 744, 764, 744, 768,
+
+ 744, 744, 762, 744, 764, 744, 768, 744, 769, 770,
+ 744, 764, 768, 744, 769, 769, 744, 770, 770, 744,
+ 771, 772, 773, 744, 771, 771, 744, 772, 772, 744,
+ 773, 773, 744, 773, 744, 744, 744, 744, 744, 744,
+ 774, 774, 744, 0, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744
} ;
-static const flex_int16_t yy_nxt[1499] =
+static const flex_int16_t yy_nxt[1496] =
{ 0,
4, 5, 6, 5, 5, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
43, 44, 45, 29, 46, 29, 29, 47, 29, 29,
29, 29, 48, 49, 50, 51, 52, 53, 29, 29,
29, 54, 55, 56, 57, 58, 62, 58, 58, 64,
- 70, 71, 72, 75, 78, 746, 83, 80, 84, 84,
+ 70, 71, 72, 75, 78, 62, 83, 80, 84, 84,
84, 84, 84, 84, 84, 84, 84, 96, 101, 102,
- 85, 79, 81, 82, 73, 86, 106, 116, 214, 117,
- 107, 118, 146, 119, 120, 215, 123, 97, 87, 98,
- 99, 121, 63, 111, 75, 76, 124, 112, 122, 125,
- 128, 126, 113, 177, 65, 66, 114, 132, 62, 67,
- 127, 129, 68, 115, 130, 133, 69, 88, 174, 89,
- 89, 89, 89, 89, 89, 89, 90, 90, 136, 137,
- 174, 140, 58, 147, 58, 58, 76, 167, 91, 138,
- 141, 221, 139, 92, 150, 178, 151, 142, 182, 93,
- 94, 156, 157, 183, 63, 223, 157, 217, 746, 222,
-
- 91, 167, 231, 229, 175, 232, 239, 92, 218, 219,
- 255, 224, 230, 156, 157, 93, 175, 256, 94, 88,
- 157, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 148, 148, 148, 148, 148, 148, 148, 148, 148, 158,
- 91, 236, 158, 156, 157, 92, 161, 642, 157, 166,
- 237, 93, 162, 747, 177, 260, 264, 265, 261, 249,
- 251, 240, 91, 266, 441, 156, 157, 442, 159, 92,
- 161, 241, 157, 165, 267, 166, 248, 93, 162, 166,
- 163, 747, 163, 249, 251, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 274, 643, 178, 165, 285, 286,
-
- 346, 744, 248, 743, 275, 166, 185, 347, 186, 187,
- 188, 742, 329, 234, 189, 409, 327, 330, 487, 190,
- 410, 191, 192, 193, 194, 195, 196, 197, 148, 148,
- 148, 148, 148, 148, 148, 148, 148, 244, 329, 244,
- 327, 330, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 247, 250, 392, 398, 399, 250, 248, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 252, 157, 741,
- 487, 528, 157, 253, 250, 247, 390, 392, 441, 390,
- 250, 441, 401, 248, 401, 401, 328, 740, 391, 739,
- 157, 252, 329, 449, 489, 450, 157, 490, 451, 253,
-
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 401,
- 328, 401, 401, 486, 487, 631, 486, 532, 329, 444,
- 444, 444, 444, 444, 444, 444, 444, 444, 491, 495,
- 487, 489, 484, 496, 489, 505, 402, 505, 505, 486,
- 487, 487, 486, 444, 444, 444, 444, 444, 444, 444,
- 444, 444, 531, 532, 505, 531, 505, 505, 531, 532,
- 532, 531, 602, 487, 532, 602, 602, 488, 567, 602,
- 569, 532, 603, 487, 532, 642, 622, 487, 642, 532,
- 487, 591, 532, 642, 457, 529, 487, 642, 532, 487,
- 532, 642, 487, 488, 642, 487, 532, 642, 593, 487,
-
- 532, 532, 642, 737, 613, 532, 533, 647, 548, 659,
- 726, 642, 533, 661, 672, 738, 611, 719, 720, 649,
- 719, 737, 670, 735, 633, 691, 733, 733, 681, 549,
- 683, 678, 693, 688, 656, 696, 699, 701, 667, 730,
- 708, 722, 723, 730, 722, 710, 736, 735, 706, 716,
- 723, 723, 713, 715, 729, 730, 703, 729, 725, 732,
- 733, 720, 732, 59, 59, 720, 59, 59, 59, 59,
- 59, 59, 59, 59, 59, 59, 59, 59, 59, 61,
+ 85, 79, 81, 82, 73, 86, 106, 116, 492, 117,
+ 107, 145, 493, 124, 119, 125, 122, 97, 87, 98,
+ 99, 120, 63, 111, 126, 76, 123, 112, 121, 131,
+ 127, 63, 113, 75, 65, 66, 114, 132, 149, 67,
+ 150, 128, 68, 115, 129, 157, 69, 88, 157, 89,
+ 89, 89, 89, 89, 89, 89, 90, 90, 135, 136,
+ 173, 139, 146, 58, 743, 58, 58, 166, 91, 137,
+ 140, 181, 138, 92, 158, 76, 182, 141, 219, 93,
+ 94, 147, 147, 147, 147, 147, 147, 147, 147, 147,
+
+ 91, 166, 176, 212, 743, 253, 220, 92, 155, 156,
+ 213, 237, 254, 156, 164, 93, 174, 221, 94, 88,
+ 165, 90, 90, 90, 90, 90, 90, 90, 90, 90,
+ 155, 156, 741, 222, 155, 156, 160, 156, 164, 156,
+ 91, 215, 161, 744, 177, 92, 165, 229, 247, 227,
+ 230, 93, 216, 217, 176, 234, 155, 156, 228, 484,
+ 160, 484, 91, 156, 235, 740, 238, 165, 161, 92,
+ 248, 744, 247, 162, 248, 162, 239, 93, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 184, 173, 185,
+ 186, 187, 248, 165, 232, 188, 177, 249, 248, 564,
+
+ 189, 667, 190, 191, 192, 193, 194, 195, 196, 147,
+ 147, 147, 147, 147, 147, 147, 147, 147, 242, 258,
+ 242, 249, 259, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 245, 246, 174, 262, 263, 484, 246, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 250, 264,
+ 324, 272, 282, 283, 251, 327, 245, 406, 343, 246,
+ 265, 273, 407, 387, 246, 344, 387, 326, 389, 156,
+ 325, 739, 250, 156, 324, 388, 326, 395, 396, 327,
+ 251, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 525, 156, 389, 326, 325, 738, 398, 156, 398, 398,
+
+ 438, 737, 326, 439, 441, 441, 441, 441, 441, 441,
+ 441, 441, 441, 446, 398, 447, 398, 398, 448, 438,
+ 483, 484, 438, 483, 486, 488, 502, 487, 502, 502,
+ 483, 484, 486, 483, 529, 486, 528, 529, 484, 528,
+ 441, 441, 441, 441, 441, 441, 441, 441, 441, 502,
+ 399, 502, 502, 528, 529, 529, 528, 599, 484, 529,
+ 599, 599, 529, 484, 599, 639, 484, 600, 639, 529,
+ 484, 619, 529, 481, 485, 639, 484, 529, 588, 529,
+ 639, 484, 639, 639, 485, 639, 526, 566, 529, 454,
+ 530, 484, 484, 590, 529, 529, 484, 639, 529, 610,
+
+ 644, 639, 656, 545, 529, 736, 658, 530, 628, 669,
+ 734, 608, 735, 640, 646, 630, 734, 688, 678, 716,
+ 717, 680, 716, 732, 546, 730, 693, 653, 675, 685,
+ 690, 698, 723, 639, 730, 664, 696, 727, 705, 719,
+ 720, 727, 719, 733, 703, 707, 732, 700, 713, 710,
+ 720, 712, 726, 727, 720, 726, 717, 722, 729, 730,
+ 717, 729, 59, 59, 724, 59, 59, 59, 59, 59,
+ 59, 59, 59, 59, 59, 59, 59, 59, 61, 61,
61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
- 61, 61, 61, 61, 61, 74, 74, 74, 74, 74,
+ 61, 61, 61, 61, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 103, 103, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 84, 727, 84, 84, 724, 84, 717, 84,
- 84, 714, 84, 160, 160, 712, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160, 160, 168,
- 168, 168, 168, 711, 709, 168, 168, 168, 173, 173,
- 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
- 173, 173, 173, 173, 176, 176, 176, 176, 176, 176,
- 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
- 246, 707, 705, 246, 246, 246, 246, 246, 246, 246,
-
- 246, 246, 246, 246, 246, 164, 704, 702, 164, 700,
- 164, 698, 697, 164, 695, 164, 314, 314, 314, 314,
- 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
- 314, 314, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 245, 694,
- 692, 245, 690, 245, 689, 687, 245, 686, 245, 383,
- 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
- 383, 383, 383, 383, 383, 437, 437, 437, 437, 437,
- 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
- 437, 439, 439, 439, 439, 439, 439, 439, 439, 439,
-
- 439, 439, 439, 439, 439, 439, 439, 485, 485, 485,
- 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
- 485, 485, 485, 526, 526, 526, 526, 526, 526, 526,
- 526, 526, 526, 530, 530, 530, 530, 530, 530, 530,
- 530, 530, 530, 530, 530, 530, 530, 530, 530, 534,
- 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
- 534, 534, 534, 534, 534, 536, 536, 536, 536, 536,
- 536, 536, 536, 536, 536, 536, 536, 536, 536, 536,
- 536, 565, 685, 565, 565, 565, 565, 565, 565, 565,
- 565, 565, 565, 565, 623, 684, 682, 680, 679, 677,
-
- 676, 675, 674, 673, 623, 623, 623, 623, 623, 718,
+ 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 84, 721, 84, 84, 714, 84, 711, 84, 84,
+ 709, 84, 159, 159, 708, 159, 159, 159, 159, 159,
+ 159, 159, 159, 159, 159, 159, 159, 159, 167, 167,
+ 167, 167, 706, 704, 167, 167, 167, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 244,
+ 702, 701, 244, 244, 244, 244, 244, 244, 244, 244,
+
+ 244, 244, 244, 244, 163, 699, 697, 163, 695, 163,
+ 694, 692, 163, 691, 163, 311, 311, 311, 311, 311,
+ 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
+ 311, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 317, 317, 317, 317, 317, 243, 689, 687,
+ 243, 686, 243, 684, 683, 243, 682, 243, 380, 380,
+ 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
+ 380, 380, 380, 380, 434, 434, 434, 434, 434, 434,
+ 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
+ 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
+
+ 436, 436, 436, 436, 436, 436, 482, 482, 482, 482,
+ 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
+ 482, 482, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 527, 527, 527, 527, 527, 527, 527, 527,
+ 527, 527, 527, 527, 527, 527, 527, 527, 531, 531,
+ 531, 531, 531, 531, 531, 531, 531, 531, 531, 531,
+ 531, 531, 531, 531, 533, 533, 533, 533, 533, 533,
+ 533, 533, 533, 533, 533, 533, 533, 533, 533, 533,
+ 562, 681, 562, 562, 562, 562, 562, 562, 562, 562,
+ 562, 562, 562, 620, 679, 677, 676, 674, 673, 672,
+
+ 671, 670, 668, 620, 620, 620, 620, 620, 715, 715,
+ 715, 715, 715, 715, 715, 715, 715, 715, 715, 715,
+ 715, 715, 715, 715, 718, 718, 718, 718, 718, 718,
718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
- 718, 718, 718, 718, 718, 721, 721, 721, 721, 721,
- 721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
- 721, 728, 728, 728, 728, 728, 728, 728, 728, 728,
- 728, 728, 728, 728, 728, 728, 728, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 734, 734, 671, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734, 734, 745,
- 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
-
- 745, 745, 745, 745, 745, 669, 668, 666, 665, 664,
- 663, 662, 660, 658, 657, 655, 654, 653, 652, 651,
- 650, 648, 646, 645, 644, 642, 641, 640, 639, 638,
- 637, 636, 635, 634, 632, 630, 629, 628, 627, 626,
- 625, 624, 621, 620, 619, 618, 617, 616, 615, 614,
- 612, 610, 609, 608, 607, 606, 605, 604, 601, 600,
- 599, 598, 597, 596, 595, 594, 592, 590, 564, 589,
- 588, 587, 586, 585, 584, 583, 582, 581, 580, 579,
- 578, 577, 576, 575, 574, 573, 572, 571, 570, 537,
- 535, 532, 568, 566, 564, 563, 562, 561, 560, 559,
-
- 558, 557, 556, 555, 554, 553, 552, 551, 550, 547,
- 546, 545, 544, 543, 542, 541, 540, 539, 538, 537,
- 535, 487, 527, 525, 524, 523, 522, 521, 520, 519,
- 518, 517, 516, 515, 514, 513, 512, 511, 510, 509,
- 508, 507, 506, 504, 503, 502, 501, 500, 499, 498,
- 497, 494, 493, 492, 440, 438, 483, 482, 481, 480,
- 479, 478, 477, 476, 475, 474, 473, 472, 471, 470,
- 469, 468, 467, 466, 465, 464, 463, 462, 461, 460,
- 459, 458, 456, 455, 454, 453, 452, 448, 447, 446,
- 391, 445, 443, 440, 384, 438, 436, 435, 434, 433,
-
- 432, 431, 430, 429, 428, 427, 426, 425, 424, 423,
- 422, 421, 420, 419, 418, 417, 416, 415, 414, 413,
- 412, 411, 408, 407, 406, 405, 404, 403, 400, 397,
- 396, 395, 394, 393, 389, 388, 387, 386, 321, 385,
- 384, 382, 381, 315, 380, 379, 378, 377, 376, 375,
- 374, 373, 372, 371, 370, 369, 368, 367, 366, 365,
- 364, 363, 362, 361, 360, 359, 358, 357, 356, 355,
- 354, 353, 352, 351, 350, 349, 348, 345, 344, 343,
- 342, 341, 340, 339, 338, 337, 336, 335, 334, 333,
- 332, 331, 326, 325, 324, 323, 322, 321, 319, 318,
-
- 317, 316, 315, 313, 312, 311, 310, 309, 308, 307,
- 306, 305, 304, 303, 302, 301, 300, 299, 298, 297,
- 296, 295, 294, 293, 292, 291, 290, 289, 288, 287,
- 284, 283, 282, 281, 280, 279, 278, 277, 276, 273,
- 272, 271, 270, 269, 268, 263, 262, 259, 258, 257,
- 747, 747, 254, 159, 243, 242, 238, 235, 233, 228,
- 227, 226, 225, 220, 216, 213, 212, 211, 210, 209,
- 208, 207, 206, 205, 204, 203, 202, 201, 200, 199,
- 198, 184, 181, 180, 179, 172, 171, 170, 169, 155,
- 747, 154, 153, 152, 149, 747, 145, 144, 143, 135,
-
- 134, 131, 110, 109, 108, 105, 104, 100, 95, 77,
- 60, 747, 3, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747
+ 725, 725, 725, 725, 725, 725, 725, 725, 725, 725,
+ 725, 725, 725, 725, 725, 725, 728, 728, 728, 728,
+ 728, 728, 728, 728, 728, 728, 728, 728, 728, 728,
+ 728, 728, 731, 731, 666, 731, 731, 731, 731, 731,
+ 731, 731, 731, 731, 731, 731, 731, 731, 742, 742,
+ 742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
+
+ 742, 742, 742, 742, 665, 663, 662, 661, 660, 659,
+ 657, 655, 654, 652, 651, 650, 649, 648, 647, 645,
+ 643, 642, 641, 639, 638, 637, 636, 635, 634, 633,
+ 632, 631, 629, 627, 626, 625, 624, 623, 622, 621,
+ 618, 617, 616, 615, 614, 613, 612, 611, 609, 607,
+ 606, 605, 604, 603, 602, 601, 598, 597, 596, 595,
+ 594, 593, 592, 591, 589, 587, 561, 586, 585, 584,
+ 583, 582, 581, 580, 579, 578, 577, 576, 575, 574,
+ 573, 572, 571, 570, 569, 568, 567, 534, 532, 529,
+ 565, 563, 561, 560, 559, 558, 557, 556, 555, 554,
+
+ 553, 552, 551, 550, 549, 548, 547, 544, 543, 542,
+ 541, 540, 539, 538, 537, 536, 535, 534, 532, 484,
+ 524, 522, 521, 520, 519, 518, 517, 516, 515, 514,
+ 513, 512, 511, 510, 509, 508, 507, 506, 505, 504,
+ 503, 501, 500, 499, 498, 497, 496, 495, 494, 491,
+ 490, 489, 437, 435, 480, 479, 478, 477, 476, 475,
+ 474, 473, 472, 471, 470, 469, 468, 467, 466, 465,
+ 464, 463, 462, 461, 460, 459, 458, 457, 456, 455,
+ 453, 452, 451, 450, 449, 445, 444, 443, 388, 442,
+ 440, 437, 381, 435, 433, 432, 431, 430, 429, 428,
+
+ 427, 426, 425, 424, 423, 422, 421, 420, 419, 418,
+ 417, 416, 415, 414, 413, 412, 411, 410, 409, 408,
+ 405, 404, 403, 402, 401, 400, 397, 394, 393, 392,
+ 391, 390, 386, 385, 384, 383, 318, 382, 381, 379,
+ 378, 312, 377, 376, 375, 374, 373, 372, 371, 370,
+ 369, 368, 367, 366, 365, 364, 363, 362, 361, 360,
+ 359, 358, 357, 356, 355, 354, 353, 352, 351, 350,
+ 349, 348, 347, 346, 345, 342, 341, 340, 339, 338,
+ 337, 336, 335, 334, 333, 332, 331, 330, 329, 328,
+ 323, 322, 321, 320, 319, 318, 316, 315, 314, 313,
+
+ 312, 310, 309, 308, 307, 306, 305, 304, 303, 302,
+ 301, 300, 299, 298, 297, 296, 295, 294, 293, 292,
+ 291, 290, 289, 288, 287, 286, 285, 284, 281, 280,
+ 279, 278, 277, 276, 275, 274, 271, 270, 269, 268,
+ 267, 266, 261, 260, 257, 256, 255, 744, 744, 252,
+ 158, 241, 240, 236, 233, 231, 226, 225, 224, 223,
+ 218, 214, 211, 210, 209, 208, 207, 206, 205, 204,
+ 203, 202, 201, 200, 199, 198, 197, 183, 180, 179,
+ 178, 171, 170, 169, 168, 154, 744, 153, 152, 151,
+ 148, 744, 144, 143, 142, 134, 133, 130, 118, 110,
+
+ 109, 108, 105, 104, 100, 95, 77, 60, 744, 3,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744
} ;
-static const flex_int16_t yy_chk[1499] =
+static const flex_int16_t yy_chk[1496] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 5, 8, 5, 5, 9,
- 10, 10, 11, 12, 16, 745, 19, 18, 19, 19,
+ 10, 10, 11, 12, 16, 61, 19, 18, 19, 19,
19, 19, 19, 19, 19, 19, 19, 25, 27, 27,
- 20, 16, 18, 18, 11, 20, 32, 39, 133, 39,
- 32, 40, 55, 40, 41, 133, 42, 25, 20, 25,
- 25, 41, 8, 38, 74, 12, 42, 38, 41, 43,
- 44, 43, 38, 107, 9, 9, 38, 46, 61, 9,
- 43, 44, 9, 38, 44, 46, 9, 21, 106, 21,
+ 20, 16, 18, 18, 11, 20, 32, 39, 446, 39,
+ 32, 55, 446, 43, 41, 43, 42, 25, 20, 25,
+ 25, 41, 8, 38, 43, 12, 42, 38, 41, 46,
+ 44, 61, 38, 74, 9, 9, 38, 46, 66, 9,
+ 66, 44, 9, 38, 44, 85, 9, 21, 85, 21,
21, 21, 21, 21, 21, 21, 21, 21, 49, 49,
- 173, 50, 58, 55, 58, 58, 74, 93, 21, 49,
- 50, 137, 49, 21, 66, 107, 66, 50, 113, 21,
- 21, 84, 84, 113, 61, 138, 84, 135, 744, 137,
-
- 21, 93, 144, 143, 106, 144, 152, 21, 135, 135,
- 172, 138, 143, 84, 84, 21, 173, 172, 21, 22,
- 84, 22, 22, 22, 22, 22, 22, 22, 22, 22,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 85,
- 22, 150, 85, 88, 88, 22, 89, 624, 88, 165,
- 150, 22, 89, 89, 176, 182, 185, 185, 182, 162,
- 167, 152, 22, 186, 386, 88, 88, 386, 85, 22,
- 89, 152, 88, 92, 186, 165, 247, 22, 89, 92,
- 91, 89, 91, 162, 167, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 193, 624, 176, 92, 204, 204,
-
- 270, 743, 247, 742, 193, 92, 115, 270, 115, 115,
- 115, 741, 328, 148, 115, 347, 249, 253, 488, 115,
- 347, 115, 115, 115, 115, 115, 115, 115, 148, 148,
- 148, 148, 148, 148, 148, 148, 148, 156, 328, 156,
- 249, 253, 156, 156, 156, 156, 156, 156, 156, 156,
- 156, 161, 164, 330, 338, 338, 164, 161, 163, 163,
- 163, 163, 163, 163, 163, 163, 163, 168, 245, 740,
- 611, 488, 245, 168, 164, 161, 326, 330, 441, 326,
- 164, 441, 340, 161, 340, 340, 252, 739, 326, 738,
- 245, 168, 252, 395, 443, 395, 245, 443, 395, 168,
-
- 244, 244, 244, 244, 244, 244, 244, 244, 244, 401,
- 252, 401, 401, 442, 442, 611, 442, 533, 252, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 444, 449,
- 528, 489, 441, 449, 489, 458, 340, 458, 458, 486,
- 486, 567, 486, 444, 444, 444, 444, 444, 444, 444,
- 444, 444, 490, 490, 505, 490, 505, 505, 531, 531,
- 569, 531, 579, 591, 593, 579, 602, 442, 528, 602,
- 533, 613, 579, 631, 633, 643, 602, 647, 656, 649,
- 659, 567, 661, 667, 401, 489, 670, 678, 672, 681,
- 683, 688, 691, 486, 696, 699, 701, 703, 569, 706,
-
- 708, 693, 710, 737, 593, 715, 490, 631, 505, 647,
- 716, 716, 531, 649, 661, 736, 591, 712, 712, 633,
- 712, 735, 659, 734, 613, 681, 732, 731, 670, 505,
- 672, 667, 683, 678, 643, 688, 691, 693, 656, 729,
- 701, 713, 713, 728, 713, 703, 727, 726, 699, 710,
- 722, 721, 706, 708, 724, 724, 696, 724, 715, 725,
- 725, 719, 725, 748, 748, 718, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 748, 749,
- 749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
- 749, 749, 749, 749, 749, 750, 750, 750, 750, 750,
-
- 750, 750, 750, 750, 750, 750, 750, 750, 750, 750,
- 750, 751, 751, 751, 751, 751, 751, 751, 751, 751,
- 751, 751, 752, 717, 752, 752, 714, 752, 711, 752,
- 752, 707, 752, 753, 753, 705, 753, 753, 753, 753,
+ 106, 50, 55, 58, 742, 58, 58, 93, 21, 49,
+ 50, 113, 49, 21, 85, 74, 113, 50, 136, 21,
+ 21, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+
+ 21, 93, 107, 132, 741, 171, 136, 21, 84, 84,
+ 132, 151, 171, 84, 92, 21, 106, 137, 21, 22,
+ 92, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 84, 84, 740, 137, 88, 88, 89, 84, 92, 88,
+ 22, 134, 89, 89, 107, 22, 92, 143, 161, 142,
+ 143, 22, 134, 134, 175, 149, 88, 88, 142, 656,
+ 89, 525, 22, 88, 149, 739, 151, 164, 89, 22,
+ 163, 89, 161, 91, 163, 91, 151, 22, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 115, 172, 115,
+ 115, 115, 163, 164, 147, 115, 175, 166, 163, 525,
+
+ 115, 656, 115, 115, 115, 115, 115, 115, 115, 147,
+ 147, 147, 147, 147, 147, 147, 147, 147, 155, 181,
+ 155, 166, 181, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 160, 245, 172, 184, 184, 485, 160, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 167, 185,
+ 247, 192, 202, 202, 167, 251, 160, 344, 268, 245,
+ 185, 192, 344, 323, 160, 268, 323, 325, 327, 243,
+ 250, 738, 167, 243, 247, 323, 250, 335, 335, 251,
+ 167, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+ 485, 243, 327, 325, 250, 737, 337, 243, 337, 337,
+
+ 383, 736, 250, 383, 385, 385, 385, 385, 385, 385,
+ 385, 385, 385, 392, 398, 392, 398, 398, 392, 438,
+ 439, 439, 438, 439, 440, 441, 455, 440, 455, 455,
+ 483, 483, 486, 483, 530, 486, 487, 487, 564, 487,
+ 441, 441, 441, 441, 441, 441, 441, 441, 441, 502,
+ 337, 502, 502, 528, 528, 566, 528, 576, 588, 590,
+ 576, 599, 610, 608, 599, 621, 628, 576, 640, 630,
+ 644, 599, 646, 438, 439, 653, 667, 658, 564, 669,
+ 664, 678, 685, 675, 483, 693, 486, 530, 680, 398,
+ 487, 696, 688, 566, 698, 690, 703, 700, 705, 590,
+
+ 628, 707, 644, 502, 712, 735, 646, 528, 608, 658,
+ 734, 588, 733, 621, 630, 610, 732, 678, 667, 709,
+ 709, 669, 709, 731, 502, 729, 685, 640, 664, 675,
+ 680, 690, 713, 713, 728, 653, 688, 726, 698, 710,
+ 710, 725, 710, 724, 696, 700, 723, 693, 707, 703,
+ 719, 705, 721, 721, 718, 721, 716, 712, 722, 722,
+ 715, 722, 745, 745, 714, 745, 745, 745, 745, 745,
+ 745, 745, 745, 745, 745, 745, 745, 745, 746, 746,
+ 746, 746, 746, 746, 746, 746, 746, 746, 746, 746,
+ 746, 746, 746, 746, 747, 747, 747, 747, 747, 747,
+
+ 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 749, 711, 749, 749, 708, 749, 704, 749, 749,
+ 702, 749, 750, 750, 701, 750, 750, 750, 750, 750,
+ 750, 750, 750, 750, 750, 750, 750, 750, 751, 751,
+ 751, 751, 699, 697, 751, 751, 751, 752, 752, 752,
+ 752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
+ 752, 752, 752, 753, 753, 753, 753, 753, 753, 753,
753, 753, 753, 753, 753, 753, 753, 753, 753, 754,
- 754, 754, 754, 704, 702, 754, 754, 754, 755, 755,
- 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
- 755, 755, 755, 755, 756, 756, 756, 756, 756, 756,
- 756, 756, 756, 756, 756, 756, 756, 756, 756, 756,
- 757, 700, 698, 757, 757, 757, 757, 757, 757, 757,
+ 695, 694, 754, 754, 754, 754, 754, 754, 754, 754,
- 757, 757, 757, 757, 757, 758, 697, 695, 758, 692,
- 758, 690, 689, 758, 687, 758, 759, 759, 759, 759,
+ 754, 754, 754, 754, 755, 692, 689, 755, 687, 755,
+ 686, 684, 755, 682, 755, 756, 756, 756, 756, 756,
+ 756, 756, 756, 756, 756, 756, 756, 756, 756, 756,
+ 756, 757, 757, 757, 757, 757, 757, 757, 757, 757,
+ 757, 757, 757, 757, 757, 757, 757, 758, 679, 677,
+ 758, 676, 758, 673, 672, 758, 671, 758, 759, 759,
759, 759, 759, 759, 759, 759, 759, 759, 759, 759,
- 759, 759, 760, 760, 760, 760, 760, 760, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 761, 685,
- 682, 761, 680, 761, 679, 676, 761, 675, 761, 762,
- 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
- 762, 762, 762, 762, 762, 763, 763, 763, 763, 763,
- 763, 763, 763, 763, 763, 763, 763, 763, 763, 763,
- 763, 764, 764, 764, 764, 764, 764, 764, 764, 764,
+ 759, 759, 759, 759, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 761, 761, 761, 761, 761, 761, 761, 761, 761, 761,
- 764, 764, 764, 764, 764, 764, 764, 765, 765, 765,
+ 761, 761, 761, 761, 761, 761, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 763, 763, 763, 763, 763, 763, 763, 763,
+ 763, 763, 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764, 765, 765,
765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 767, 767, 767, 767, 767, 768,
- 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 769, 769, 769, 769, 769,
- 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
- 769, 770, 674, 770, 770, 770, 770, 770, 770, 770,
- 770, 770, 770, 770, 771, 673, 671, 669, 668, 666,
+ 765, 765, 765, 765, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
+ 767, 670, 767, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 767, 768, 668, 666, 665, 663, 662, 661,
- 665, 664, 663, 662, 771, 771, 771, 771, 771, 772,
+ 660, 659, 657, 768, 768, 768, 768, 768, 769, 769,
+ 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
+ 769, 769, 769, 769, 770, 770, 770, 770, 770, 770,
+ 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 772, 772, 772, 772,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
- 772, 772, 772, 772, 772, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 775, 775, 775,
- 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
- 775, 775, 775, 776, 776, 660, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 777,
- 777, 777, 777, 777, 777, 777, 777, 777, 777, 777,
-
- 777, 777, 777, 777, 777, 658, 657, 655, 654, 652,
- 651, 650, 648, 646, 645, 640, 639, 638, 636, 635,
- 634, 632, 630, 629, 625, 623, 621, 620, 619, 618,
- 617, 616, 615, 614, 612, 610, 609, 608, 607, 605,
- 604, 603, 601, 600, 599, 598, 597, 596, 595, 594,
- 592, 590, 589, 588, 587, 586, 583, 580, 578, 577,
- 576, 575, 574, 573, 571, 570, 568, 566, 565, 563,
- 562, 561, 560, 559, 557, 556, 554, 553, 552, 551,
- 550, 549, 548, 547, 546, 544, 540, 539, 538, 536,
- 534, 530, 529, 527, 526, 523, 522, 518, 517, 516,
-
- 515, 514, 513, 511, 510, 509, 508, 507, 506, 504,
- 503, 502, 501, 500, 498, 497, 495, 494, 493, 492,
- 491, 485, 484, 482, 481, 480, 479, 478, 477, 475,
- 474, 473, 472, 471, 470, 469, 468, 467, 465, 464,
- 463, 462, 459, 457, 456, 455, 454, 453, 452, 451,
- 450, 448, 447, 445, 439, 437, 436, 435, 434, 433,
- 432, 425, 424, 420, 419, 418, 417, 416, 415, 414,
- 413, 412, 411, 410, 409, 408, 407, 406, 405, 404,
- 403, 402, 400, 399, 398, 397, 396, 394, 393, 391,
- 390, 389, 387, 385, 383, 382, 381, 379, 378, 376,
-
- 375, 374, 373, 372, 371, 370, 368, 367, 366, 365,
- 362, 361, 360, 359, 355, 354, 353, 352, 351, 350,
- 349, 348, 346, 345, 344, 343, 342, 341, 339, 337,
- 336, 335, 333, 332, 325, 324, 323, 322, 320, 319,
- 318, 317, 316, 314, 313, 312, 310, 309, 308, 306,
- 305, 304, 303, 302, 301, 300, 299, 298, 297, 295,
- 293, 292, 291, 288, 287, 286, 285, 282, 279, 278,
- 277, 276, 275, 274, 273, 272, 271, 269, 268, 267,
- 266, 265, 264, 263, 262, 261, 260, 259, 258, 256,
- 255, 254, 246, 243, 242, 241, 240, 239, 238, 237,
-
- 236, 235, 234, 233, 232, 231, 230, 229, 228, 227,
- 226, 225, 224, 223, 222, 221, 220, 219, 218, 217,
- 216, 214, 213, 211, 210, 209, 208, 207, 206, 205,
- 203, 202, 201, 200, 199, 197, 196, 195, 194, 192,
- 191, 190, 189, 188, 187, 184, 183, 181, 180, 179,
- 178, 175, 171, 158, 154, 153, 151, 149, 145, 142,
- 141, 140, 139, 136, 134, 131, 130, 129, 128, 127,
- 126, 125, 124, 123, 122, 121, 120, 119, 118, 117,
- 116, 114, 112, 111, 108, 105, 104, 102, 98, 83,
- 76, 69, 68, 67, 65, 63, 53, 52, 51, 48,
-
- 47, 45, 37, 35, 33, 31, 30, 26, 23, 15,
- 7, 3, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747
+ 772, 772, 773, 773, 655, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
+
+ 774, 774, 774, 774, 654, 652, 651, 649, 648, 647,
+ 645, 643, 642, 637, 636, 635, 633, 632, 631, 629,
+ 627, 626, 622, 620, 618, 617, 616, 615, 614, 613,
+ 612, 611, 609, 607, 606, 605, 604, 602, 601, 600,
+ 598, 597, 596, 595, 594, 593, 592, 591, 589, 587,
+ 586, 585, 584, 583, 580, 577, 575, 574, 573, 572,
+ 571, 570, 568, 567, 565, 563, 562, 560, 559, 558,
+ 557, 556, 554, 553, 551, 550, 549, 548, 547, 546,
+ 545, 544, 543, 541, 537, 536, 535, 533, 531, 527,
+ 526, 524, 523, 520, 519, 515, 514, 513, 512, 511,
+
+ 510, 508, 507, 506, 505, 504, 503, 501, 500, 499,
+ 498, 497, 495, 494, 492, 491, 490, 489, 488, 482,
+ 481, 479, 478, 477, 476, 475, 474, 472, 471, 470,
+ 469, 468, 467, 466, 465, 464, 462, 461, 460, 459,
+ 456, 454, 453, 452, 451, 450, 449, 448, 447, 445,
+ 444, 442, 436, 434, 433, 432, 431, 430, 429, 422,
+ 421, 417, 416, 415, 414, 413, 412, 411, 410, 409,
+ 408, 407, 406, 405, 404, 403, 402, 401, 400, 399,
+ 397, 396, 395, 394, 393, 391, 390, 388, 387, 386,
+ 384, 382, 380, 379, 378, 376, 375, 373, 372, 371,
+
+ 370, 369, 368, 367, 365, 364, 363, 362, 359, 358,
+ 357, 356, 352, 351, 350, 349, 348, 347, 346, 345,
+ 343, 342, 341, 340, 339, 338, 336, 334, 333, 332,
+ 330, 329, 322, 321, 320, 319, 317, 316, 315, 314,
+ 313, 311, 310, 309, 307, 306, 305, 303, 302, 301,
+ 300, 299, 298, 297, 296, 295, 294, 292, 290, 289,
+ 288, 285, 284, 283, 282, 279, 277, 276, 275, 274,
+ 273, 272, 271, 270, 269, 267, 266, 265, 264, 263,
+ 262, 261, 260, 259, 258, 257, 256, 254, 253, 252,
+ 244, 241, 240, 239, 238, 237, 236, 235, 234, 233,
+
+ 232, 231, 230, 229, 228, 227, 226, 225, 224, 223,
+ 222, 221, 220, 219, 218, 217, 216, 215, 214, 212,
+ 211, 209, 208, 207, 206, 205, 204, 203, 201, 200,
+ 199, 198, 196, 195, 194, 193, 191, 190, 189, 188,
+ 187, 186, 183, 182, 180, 179, 178, 177, 174, 170,
+ 157, 153, 152, 150, 148, 144, 141, 140, 139, 138,
+ 135, 133, 130, 129, 128, 127, 126, 125, 124, 123,
+ 122, 121, 120, 119, 118, 117, 116, 114, 112, 111,
+ 108, 105, 104, 102, 98, 83, 76, 69, 68, 67,
+ 65, 63, 53, 52, 51, 48, 47, 45, 40, 37,
+
+ 35, 33, 31, 30, 26, 23, 15, 7, 3, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
+ 744, 744, 744, 744, 744
} ;
#define IS_EOF EOF
#endif
+#line 1223 "giscanner/scannerlexer.c"
#line 1224 "giscanner/scannerlexer.c"
-#line 1225 "giscanner/scannerlexer.c"
#define INITIAL 0
#line 78 "giscanner/scannerlexer.l"
-#line 1449 "giscanner/scannerlexer.c"
+#line 1448 "giscanner/scannerlexer.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 748 )
+ if ( yy_current_state >= 745 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
*(yy_state_ptr)++ = yy_current_state;
++yy_cp;
}
- while ( yy_base[yy_current_state] != 1413 );
+ while ( yy_base[yy_current_state] != 1410 );
yy_find_action:
yy_current_state = *--(yy_state_ptr);
{ return BASIC_TYPE; }
YY_BREAK
case 97:
+/* rule 97 can match eol */
YY_RULE_SETUP
#line 186 "giscanner/scannerlexer.l"
-{ return BASIC_TYPE; }
+{ ++lineno; /* Ignore */ }
YY_BREAK
case 98:
-/* rule 98 can match eol */
YY_RULE_SETUP
#line 187 "giscanner/scannerlexer.l"
-{ ++lineno; /* Ignore */ }
+{ /* Ignore */ }
YY_BREAK
case 99:
YY_RULE_SETUP
case 101:
YY_RULE_SETUP
#line 190 "giscanner/scannerlexer.l"
-{ /* Ignore */ }
+{ /* ignore */ }
YY_BREAK
case 102:
YY_RULE_SETUP
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 192 "giscanner/scannerlexer.l"
-{ /* ignore */ }
+#line 193 "giscanner/scannerlexer.l"
+{ return INTL_CONST; }
YY_BREAK
case 104:
YY_RULE_SETUP
#line 194 "giscanner/scannerlexer.l"
-{ return INTL_CONST; }
+{ return INTUL_CONST; }
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 195 "giscanner/scannerlexer.l"
-{ return INTUL_CONST; }
+#line 196 "giscanner/scannerlexer.l"
+{ return BOOLEAN; }
YY_BREAK
case 106:
YY_RULE_SETUP
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 200 "giscanner/scannerlexer.l"
-{ return BOOLEAN; }
+#line 201 "giscanner/scannerlexer.l"
+{ if (scanner->macro_scan) return check_identifier(scanner, yytext); else REJECT; }
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 202 "giscanner/scannerlexer.l"
-{ if (scanner->macro_scan) return check_identifier(scanner, yytext); else REJECT; }
+#line 203 "giscanner/scannerlexer.l"
+{ if (!parse_ignored_macro()) REJECT; }
YY_BREAK
case 111:
YY_RULE_SETUP
#line 204 "giscanner/scannerlexer.l"
-{ if (!parse_ignored_macro()) REJECT; }
+{ return AUTO; }
YY_BREAK
case 112:
YY_RULE_SETUP
#line 205 "giscanner/scannerlexer.l"
-{ return AUTO; }
+{ return BREAK; }
YY_BREAK
case 113:
YY_RULE_SETUP
#line 206 "giscanner/scannerlexer.l"
-{ return BREAK; }
+{ return CASE; }
YY_BREAK
case 114:
YY_RULE_SETUP
#line 207 "giscanner/scannerlexer.l"
-{ return CASE; }
+{ return BASIC_TYPE; }
YY_BREAK
case 115:
YY_RULE_SETUP
#line 208 "giscanner/scannerlexer.l"
-{ return BASIC_TYPE; }
+{ return CONST; }
YY_BREAK
case 116:
YY_RULE_SETUP
#line 209 "giscanner/scannerlexer.l"
-{ return CONST; }
+{ return CONTINUE; }
YY_BREAK
case 117:
YY_RULE_SETUP
#line 210 "giscanner/scannerlexer.l"
-{ return CONTINUE; }
+{ return DEFAULT; }
YY_BREAK
case 118:
YY_RULE_SETUP
#line 211 "giscanner/scannerlexer.l"
-{ return DEFAULT; }
+{ return DO; }
YY_BREAK
case 119:
YY_RULE_SETUP
#line 212 "giscanner/scannerlexer.l"
-{ return DO; }
+{ return BASIC_TYPE; }
YY_BREAK
case 120:
YY_RULE_SETUP
#line 213 "giscanner/scannerlexer.l"
-{ return BASIC_TYPE; }
+{ return ELSE; }
YY_BREAK
case 121:
YY_RULE_SETUP
#line 214 "giscanner/scannerlexer.l"
-{ return ELSE; }
+{ return ENUM; }
YY_BREAK
case 122:
YY_RULE_SETUP
#line 215 "giscanner/scannerlexer.l"
-{ return ENUM; }
+{ return EXTERN; }
YY_BREAK
case 123:
YY_RULE_SETUP
#line 216 "giscanner/scannerlexer.l"
-{ return EXTERN; }
+{ return BASIC_TYPE; }
YY_BREAK
case 124:
YY_RULE_SETUP
case 131:
YY_RULE_SETUP
#line 224 "giscanner/scannerlexer.l"
-{ return BASIC_TYPE; }
+{ return FOR; }
YY_BREAK
case 132:
YY_RULE_SETUP
#line 225 "giscanner/scannerlexer.l"
-{ return FOR; }
+{ return GOTO; }
YY_BREAK
case 133:
YY_RULE_SETUP
#line 226 "giscanner/scannerlexer.l"
-{ return GOTO; }
+{ return IF; }
YY_BREAK
case 134:
YY_RULE_SETUP
#line 227 "giscanner/scannerlexer.l"
-{ return IF; }
+{ return INLINE; }
YY_BREAK
case 135:
YY_RULE_SETUP
#line 228 "giscanner/scannerlexer.l"
-{ return INLINE; }
+{ return BASIC_TYPE; }
YY_BREAK
case 136:
YY_RULE_SETUP
case 142:
YY_RULE_SETUP
#line 235 "giscanner/scannerlexer.l"
-{ return BASIC_TYPE; }
+{ return REGISTER; }
YY_BREAK
case 143:
YY_RULE_SETUP
#line 236 "giscanner/scannerlexer.l"
-{ return REGISTER; }
+{ return RESTRICT; }
YY_BREAK
case 144:
YY_RULE_SETUP
#line 237 "giscanner/scannerlexer.l"
-{ return RESTRICT; }
+{ return RETURN; }
YY_BREAK
case 145:
YY_RULE_SETUP
#line 238 "giscanner/scannerlexer.l"
-{ return RETURN; }
+{ return BASIC_TYPE; }
YY_BREAK
case 146:
YY_RULE_SETUP
#line 239 "giscanner/scannerlexer.l"
-{ return BASIC_TYPE; }
+{ return SIGNED; }
YY_BREAK
case 147:
YY_RULE_SETUP
case 149:
YY_RULE_SETUP
#line 242 "giscanner/scannerlexer.l"
-{ return SIGNED; }
+{ return SIZEOF; }
YY_BREAK
case 150:
YY_RULE_SETUP
#line 243 "giscanner/scannerlexer.l"
-{ return SIZEOF; }
+{ return STATIC; }
YY_BREAK
case 151:
YY_RULE_SETUP
#line 244 "giscanner/scannerlexer.l"
-{ return STATIC; }
+{ return STRUCT; }
YY_BREAK
case 152:
YY_RULE_SETUP
#line 245 "giscanner/scannerlexer.l"
-{ return STRUCT; }
+{ return SWITCH; }
YY_BREAK
case 153:
YY_RULE_SETUP
#line 246 "giscanner/scannerlexer.l"
-{ return SWITCH; }
+{ return TYPEDEF; }
YY_BREAK
case 154:
YY_RULE_SETUP
#line 247 "giscanner/scannerlexer.l"
-{ return TYPEDEF; }
+{ return UNION; }
YY_BREAK
case 155:
YY_RULE_SETUP
#line 248 "giscanner/scannerlexer.l"
-{ return UNION; }
+{ return UNSIGNED; }
YY_BREAK
case 156:
YY_RULE_SETUP
#line 249 "giscanner/scannerlexer.l"
-{ return UNSIGNED; }
+{ return VOID; }
YY_BREAK
case 157:
YY_RULE_SETUP
#line 250 "giscanner/scannerlexer.l"
-{ return VOID; }
+{ return VOLATILE; }
YY_BREAK
case 158:
YY_RULE_SETUP
#line 251 "giscanner/scannerlexer.l"
-{ return VOLATILE; }
+{ return WHILE; }
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 252 "giscanner/scannerlexer.l"
-{ return WHILE; }
+#line 253 "giscanner/scannerlexer.l"
+{ return check_identifier(scanner, yytext); }
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 254 "giscanner/scannerlexer.l"
-{ return check_identifier(scanner, yytext); }
+#line 255 "giscanner/scannerlexer.l"
+{ return INTEGER; }
YY_BREAK
case 161:
YY_RULE_SETUP
YY_BREAK
case 163:
YY_RULE_SETUP
-#line 258 "giscanner/scannerlexer.l"
-{ return INTEGER; }
+#line 259 "giscanner/scannerlexer.l"
+{ return FLOATING; }
YY_BREAK
case 164:
YY_RULE_SETUP
{ return FLOATING; }
YY_BREAK
case 165:
+/* rule 165 can match eol */
YY_RULE_SETUP
-#line 261 "giscanner/scannerlexer.l"
-{ return FLOATING; }
+#line 262 "giscanner/scannerlexer.l"
+{ return CHARACTER; }
YY_BREAK
case 166:
/* rule 166 can match eol */
case 167:
/* rule 167 can match eol */
YY_RULE_SETUP
-#line 264 "giscanner/scannerlexer.l"
-{ return CHARACTER; }
+#line 265 "giscanner/scannerlexer.l"
+{ return STRING; }
YY_BREAK
case 168:
/* rule 168 can match eol */
{ return STRING; }
YY_BREAK
case 169:
-/* rule 169 can match eol */
YY_RULE_SETUP
-#line 267 "giscanner/scannerlexer.l"
-{ return STRING; }
- YY_BREAK
-case 170:
-YY_RULE_SETUP
-#line 269 "giscanner/scannerlexer.l"
+#line 268 "giscanner/scannerlexer.l"
{ print_error(scanner); }
YY_BREAK
-case 171:
+case 170:
YY_RULE_SETUP
-#line 271 "giscanner/scannerlexer.l"
+#line 270 "giscanner/scannerlexer.l"
ECHO;
YY_BREAK
-#line 2389 "giscanner/scannerlexer.c"
+#line 2383 "giscanner/scannerlexer.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 748 )
+ if ( yy_current_state >= 745 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 748 )
+ if ( yy_current_state >= 745 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 747);
+ yy_is_jam = (yy_current_state == 744);
if ( ! yy_is_jam )
*(yy_state_ptr)++ = yy_current_state;
#define YYTABLES_NAME "yytables"
-#line 271 "giscanner/scannerlexer.l"
+#line 270 "giscanner/scannerlexer.l"
static int
{
if (yytext[0]) {
char *filename = g_file_get_parse_name (scanner->current_file);
- fprintf(stderr, "%s:%d: unexpected character `%c'\n", filename, lineno, yytext[0]);
+ gchar *error = g_strdup_printf ("%s:%d: unexpected character `%c'", filename, lineno, yytext[0]);
+ g_ptr_array_add (scanner->errors, error);
g_free (filename);
}
}
"__volatile" { return VOLATILE; }
"__volatile__" { return VOLATILE; }
"_Bool" { return BASIC_TYPE; }
-"bool" { return BASIC_TYPE; }
"typedef char __static_assert_t".*"\n" { ++lineno; /* Ignore */ }
"__cdecl" { /* Ignore */ }
"__declspec(deprecated(".*"))" { /* Ignore */ }
{
if (yytext[0]) {
char *filename = g_file_get_parse_name (scanner->current_file);
- fprintf(stderr, "%s:%d: unexpected character `%c'\n", filename, lineno, yytext[0]);
+ gchar *error = g_strdup_printf ("%s:%d: unexpected character `%c'", filename, lineno, yytext[0]);
+ g_ptr_array_add (scanner->errors, error);
g_free (filename);
}
}
# 02110-1301, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import errno
import optparse
import os
parser.add_option("", "--include-last-in-src",
action="append", dest="include_last_src", default=[],
help="Header to include after the other headers in generated sources")
+ parser.add_option("", "--sources-top-dirs", default=[], action='append',
+ help="Paths to the sources directories used to determine"
+ " relative files locations to be used in the gir file."
+ " This is especially useful when build dir and source dir are different"
+ " and mirrored.")
return parser
options.cpp_defines,
options.cpp_undefines,
cflags=options.cflags)
- ss.parse_files(filenames)
- ss.parse_macros(filenames)
- return ss
+ try:
+ ss.parse_files(filenames)
+ ss.parse_macros(filenames)
+ finally:
+ for error in ss.get_errors():
+ print(error, file=sys.stderr)
+ return ss, filenames
def write_output(data, options):
except pkgconfig.PkgConfigError as e:
_error(str(e))
- ss = create_source_scanner(options, args)
+ ss, filenames = create_source_scanner(options, args)
cbp = GtkDocCommentBlockParser()
blocks = cbp.parse_comment_blocks(ss.get_comments())
transformer.namespace.c_includes = options.c_includes
transformer.namespace.exported_packages = exported_packages
- writer = Writer(transformer.namespace)
+ if not options.sources_top_dirs:
+ options.sources_top_dirs = [os.path.commonprefix(filenames).rpartition(os.path.sep)[0]]
+ writer = Writer(transformer.namespace, options.sources_top_dirs)
data = writer.get_encoded_xml()
write_output(data, options)
if (type == 0)
{
gchar *filename = g_file_get_path (scanner->current_file);
- fprintf (stderr, "%s:%d: mismatched %s", filename, lineno, yytext);
+ gchar *error = g_strdup_printf ("%s:%d: mismatched %s", filename, lineno, yytext);
+ g_ptr_array_add (scanner->errors, error);
g_free (filename);
}
if (strstr (text, "__GI_SCANNER__"))
{
gchar *filename = g_file_get_path (scanner->current_file);
- fprintf (stderr, "%s:%d: the __GI_SCANNER__ constant should only be used with simple #ifdef or #endif: %s",
+ gchar *error = g_strdup_printf ("%s:%d: the __GI_SCANNER__ constant should only be used with simple #ifdef or #endif: %s",
filename, lineno, text);
+ g_ptr_array_add (scanner->errors, error);
g_free (filename);
}
}
}
-#line 273 "giscanner/scannerparser.c" /* yacc.c:338 */
+#line 275 "giscanner/scannerparser.c" /* yacc.c:338 */
# ifndef YY_NULLPTR
# if defined __cplusplus
# if 201103L <= __cplusplus
union YYSTYPE
{
-#line 234 "giscanner/scannerparser.y" /* yacc.c:353 */
+#line 236 "giscanner/scannerparser.y" /* yacc.c:353 */
char *str;
GList *list;
FunctionSpecifier function_specifier;
UnaryOperator unary_operator;
-#line 477 "giscanner/scannerparser.c" /* yacc.c:353 */
+#line 479 "giscanner/scannerparser.c" /* yacc.c:353 */
};
typedef union YYSTYPE YYSTYPE;
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 72
+#define YYFINAL 74
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2370
+#define YYLAST 2430
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 100
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 78
+#define YYNNTS 79
/* YYNRULES -- Number of rules. */
-#define YYNRULES 252
+#define YYNRULES 254
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 422
+#define YYNSTATES 424
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 328, 328, 337, 353, 359, 365, 372, 373, 377,
- 385, 400, 414, 421, 422, 426, 427, 431, 435, 439,
- 443, 447, 451, 458, 459, 463, 464, 468, 472, 495,
- 502, 509, 513, 521, 525, 529, 533, 537, 541, 548,
- 549, 561, 562, 568, 576, 587, 588, 594, 603, 604,
- 616, 625, 626, 632, 638, 644, 653, 654, 660, 669,
- 670, 679, 680, 689, 690, 699, 700, 711, 712, 723,
- 724, 731, 732, 739, 740, 741, 742, 743, 744, 745,
- 746, 747, 748, 749, 753, 754, 755, 762, 768, 786,
- 793, 798, 803, 816, 817, 822, 827, 832, 840, 844,
- 851, 852, 856, 860, 864, 868, 872, 876, 883, 890,
- 894, 898, 902, 907, 908, 909, 917, 937, 942, 950,
- 955, 963, 964, 971, 991, 996, 997, 1002, 1010, 1014,
- 1022, 1025, 1026, 1030, 1041, 1048, 1055, 1062, 1069, 1076,
- 1085, 1085, 1094, 1102, 1110, 1122, 1126, 1130, 1134, 1141,
- 1148, 1153, 1157, 1162, 1166, 1171, 1176, 1186, 1193, 1202,
- 1207, 1211, 1222, 1235, 1236, 1243, 1247, 1254, 1259, 1264,
- 1269, 1276, 1282, 1291, 1292, 1296, 1301, 1302, 1310, 1314,
- 1319, 1324, 1329, 1334, 1340, 1350, 1356, 1369, 1376, 1377,
- 1378, 1382, 1383, 1389, 1390, 1391, 1392, 1393, 1394, 1398,
- 1399, 1400, 1404, 1405, 1409, 1410, 1414, 1415, 1419, 1420,
- 1424, 1425, 1426, 1430, 1431, 1432, 1433, 1434, 1435, 1436,
- 1437, 1438, 1439, 1443, 1444, 1445, 1446, 1447, 1453, 1454,
- 1458, 1459, 1460, 1464, 1465, 1469, 1470, 1476, 1483, 1490,
- 1494, 1511, 1516, 1521, 1526, 1531, 1536, 1543, 1548, 1556,
- 1557, 1558, 1559
+ 0, 330, 330, 339, 355, 361, 367, 374, 375, 379,
+ 387, 402, 416, 423, 424, 428, 429, 433, 437, 441,
+ 445, 449, 453, 460, 461, 465, 466, 470, 474, 497,
+ 504, 511, 515, 523, 527, 531, 535, 539, 543, 550,
+ 551, 563, 564, 570, 578, 589, 590, 596, 605, 606,
+ 618, 627, 628, 634, 640, 646, 655, 656, 662, 671,
+ 672, 681, 682, 691, 692, 701, 702, 713, 714, 725,
+ 726, 733, 734, 741, 742, 743, 744, 745, 746, 747,
+ 748, 749, 750, 751, 755, 756, 757, 764, 770, 788,
+ 795, 798, 803, 808, 821, 822, 827, 832, 837, 845,
+ 849, 856, 857, 861, 865, 869, 873, 877, 881, 888,
+ 895, 899, 903, 907, 912, 913, 914, 922, 942, 947,
+ 955, 960, 968, 969, 976, 996, 1001, 1002, 1007, 1015,
+ 1019, 1027, 1030, 1031, 1035, 1046, 1053, 1060, 1067, 1074,
+ 1081, 1090, 1090, 1099, 1107, 1115, 1127, 1131, 1135, 1139,
+ 1146, 1153, 1158, 1162, 1167, 1171, 1176, 1181, 1191, 1198,
+ 1207, 1212, 1216, 1227, 1240, 1241, 1248, 1252, 1259, 1264,
+ 1269, 1274, 1281, 1287, 1296, 1297, 1301, 1306, 1307, 1315,
+ 1319, 1324, 1329, 1334, 1339, 1345, 1355, 1361, 1374, 1381,
+ 1382, 1383, 1387, 1388, 1394, 1395, 1396, 1397, 1398, 1399,
+ 1403, 1404, 1405, 1409, 1410, 1414, 1415, 1419, 1420, 1424,
+ 1425, 1429, 1430, 1431, 1435, 1436, 1437, 1438, 1439, 1440,
+ 1441, 1442, 1443, 1444, 1448, 1449, 1450, 1451, 1452, 1458,
+ 1459, 1463, 1464, 1465, 1466, 1470, 1471, 1475, 1476, 1482,
+ 1489, 1496, 1500, 1517, 1522, 1527, 1532, 1537, 1542, 1549,
+ 1554, 1562, 1563, 1564, 1565
};
#endif
"and_expression", "exclusive_or_expression", "inclusive_or_expression",
"logical_and_expression", "logical_or_expression",
"conditional_expression", "assignment_expression", "assignment_operator",
- "expression", "constant_expression", "declaration",
+ "expression", "constant_expression", "declaration", "empty_declaration",
"declaration_specifiers", "init_declarator_list", "init_declarator",
"storage_class_specifier", "basic_type", "type_specifier",
"struct_or_union_specifier", "struct_or_union",
};
# endif
-#define YYPACT_NINF -237
+#define YYPACT_NINF -241
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-237)))
+ (!!((Yystate) == (-241)))
#define YYTABLE_NINF -15
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 2078, -237, -237, -237, -237, -237, -237, -237, -237, -237,
- -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
- -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
- -237, -237, 11, 2306, -237, 2306, -237, 44, -237, 47,
- 2306, 2306, -237, 1997, -237, -237, -41, 1635, -237, -237,
- -237, -237, -237, 138, 207, -237, -237, -61, -237, 884,
- 87, 19, -237, -237, 2179, -237, -23, -237, -237, -10,
- -237, -237, -237, -237, 74, -237, -237, -237, -237, -237,
- 29, 50, 1674, 1674, 65, 1724, 1222, -237, -237, -237,
- -237, -237, -237, -237, 134, -237, 145, -237, 1635, -237,
- 58, 94, 209, 176, 267, 98, 96, 104, 211, 25,
- -237, -237, 136, -237, -237, 207, 138, -237, 441, 1322,
- -237, 11, -237, 2047, 2151, 1341, 87, 2179, 1929, -237,
- 21, 2179, 2179, 137, 74, -237, -237, -18, 1674, 1674,
- 1763, -237, -237, 129, 1222, -237, 1782, 177, -237, -237,
- -11, 130, 166, -237, -237, -237, 324, 1380, 1763, 324,
- -237, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635,
- 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1763,
- -237, -237, -237, -237, 154, 178, 1635, 185, 189, 827,
- 196, 324, 237, 945, 240, 243, -237, -237, 210, 233,
- -30, -237, 252, -237, -237, -237, 547, -237, -237, -237,
- -237, -237, 1322, -237, -237, -237, -237, -237, -237, 90,
- 69, -237, 152, -237, 224, -237, -237, -237, 1635, -20,
- -237, 257, -237, 1966, -237, 32, 241, -237, 231, -237,
- 74, 278, 279, 1782, 741, 280, 1160, 275, -237, -237,
- -237, -237, -237, -237, -237, -237, -237, -237, -237, 1635,
- -237, 1635, 1902, 1430, 242, -237, 245, 1635, -237, -237,
- 173, -237, -49, -237, -237, -237, -237, 58, 58, 94,
- 94, 209, 209, 209, 209, 176, 176, 267, 98, 96,
- 104, 211, -22, -237, 263, -237, 827, 296, 961, 264,
- 1763, -237, 18, 1763, 1763, 827, -237, -237, -237, -237,
- 248, 1840, -237, 39, -237, -237, 2275, -237, -237, -237,
- 21, -237, 1635, -237, -237, -237, 1635, -237, 37, -237,
- -237, -237, 644, -237, -237, -237, -237, 180, 285, -237,
- 283, 245, 2213, 1469, -237, -237, 1635, -237, 1763, 827,
- -237, 289, 1047, 46, -237, 182, -237, 184, 193, -237,
- -237, 1283, -237, -237, -237, -237, -237, 290, -237, -237,
- -237, -237, 197, -237, 287, -237, 275, -237, 1763, 1488,
- 72, 1063, 827, 827, 827, -237, -237, -237, -237, -237,
- 208, 827, 218, 1527, 1577, 73, 329, -237, -237, 274,
- -237, 827, 827, 220, 827, 221, 1616, 827, -237, -237,
- -237, 827, -237, 827, 827, 229, -237, -237, -237, -237,
- 827, -237
+ 529, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, 30, 2366, -241, 2366, -241, 18,
+ -241, 48, 2366, 2366, -241, 442, -241, -241, -4, 1787,
+ -241, -241, -241, -241, -241, 90, 199, -241, -241, -56,
+ -241, 1036, -7, 42, -241, -241, 408, -241, -50, -241,
+ -241, -1, -241, -241, -241, -241, 78, -241, -241, -241,
+ -241, -241, 19, 41, 1826, 1826, 73, 1876, 1374, -241,
+ -241, -241, -241, -241, -241, -241, 162, -241, 147, -241,
+ 1787, -241, 52, 171, 249, 85, 259, 121, 122, 123,
+ 201, 25, -241, -241, 170, -241, -241, 199, 90, -241,
+ 602, 1474, -241, 30, -241, 2149, 2211, 1493, -7, 408,
+ 2081, -241, 34, 408, 408, 65, 78, -241, -241, 84,
+ 1826, 1826, 1915, -241, -241, 191, 1374, -241, 1934, 177,
+ -241, -241, 86, -22, 197, -241, -241, -241, 288, 1532,
+ 1915, 288, -241, 1787, 1787, 1787, 1787, 1787, 1787, 1787,
+ 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787,
+ 1787, 1915, -241, -241, -241, -241, 179, 181, 1787, 195,
+ 204, 979, 231, 288, 234, 1097, 238, 240, -241, -241,
+ 221, 222, -51, -241, 224, -241, -241, -241, 699, -241,
+ -241, -241, -241, -241, 1474, -241, -241, -241, -241, -241,
+ -241, 56, 127, -241, 130, -241, 241, -241, -241, -241,
+ 1787, -16, -241, 228, -241, 2118, -241, 32, 232, -241,
+ 103, -241, 78, 252, 254, 1934, 893, 255, 1312, 250,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, 1787, -241, 1787, 2054, 1582, 141, -241, 215, 1787,
+ -241, -241, 137, -241, -24, -241, -241, -241, -241, 52,
+ 52, 171, 171, 249, 249, 249, 249, 85, 85, 259,
+ 121, 122, 123, 201, -48, -241, 237, -241, 979, 270,
+ 1113, 242, 1915, -241, 63, 1915, 1915, 979, -241, -241,
+ -241, -241, 165, 1992, -241, 21, -241, -241, 2335, -241,
+ -241, -241, 34, -241, 1787, -241, -241, -241, 1787, -241,
+ 37, -241, -241, -241, 796, -241, -241, -241, -241, 142,
+ 262, -241, 261, 215, 2273, 1621, -241, -241, 1787, -241,
+ 1915, 979, -241, 268, 1199, 72, -241, 149, -241, 158,
+ 168, -241, -241, 1435, -241, -241, -241, -241, -241, 271,
+ -241, -241, -241, -241, 169, -241, 264, -241, 250, -241,
+ 1915, 1640, 107, 1215, 979, 979, 979, -241, -241, -241,
+ -241, -241, 172, 979, 182, 1679, 1729, 116, 305, -241,
+ -241, 256, -241, 979, 979, 184, 979, 185, 1768, 979,
+ -241, -241, -241, 979, -241, 979, 979, 193, -241, -241,
+ -241, -241, 979, -241
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 252, 108, 187, 105, 145, 139, 147, 103, 149,
- 106, 146, 110, 104, 119, 107, 102, 120, 111, 109,
- 148, 237, 238, 241, 242, 243, 244, 245, 246, 247,
- 248, 231, 0, 91, 112, 93, 113, 0, 114, 0,
- 95, 97, 115, 0, 228, 230, 0, 0, 249, 250,
- 251, 232, 12, 0, 160, 89, 152, 0, 98, 100,
- 151, 0, 90, 92, 0, 13, 118, 14, 140, 138,
- 94, 96, 1, 229, 0, 3, 6, 4, 5, 10,
- 0, 0, 0, 0, 0, 0, 0, 33, 34, 35,
- 36, 37, 38, 15, 7, 2, 25, 39, 0, 41,
- 45, 48, 51, 56, 59, 61, 63, 65, 67, 69,
- 87, 240, 0, 163, 162, 159, 0, 88, 0, 0,
- 235, 0, 234, 0, 0, 0, 150, 125, 0, 121,
- 130, 127, 0, 0, 0, 140, 171, 0, 0, 0,
- 0, 26, 27, 0, 0, 31, 147, 39, 71, 84,
- 0, 173, 0, 11, 21, 22, 0, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 254, 109, 188, 106, 146, 140, 148, 104, 150,
+ 107, 147, 111, 105, 120, 108, 103, 121, 112, 110,
+ 149, 239, 240, 243, 244, 245, 246, 247, 248, 249,
+ 250, 90, 232, 233, 0, 92, 113, 94, 114, 0,
+ 115, 0, 96, 98, 116, 0, 229, 231, 0, 0,
+ 251, 252, 253, 234, 12, 0, 161, 89, 153, 0,
+ 99, 101, 152, 0, 91, 93, 0, 13, 119, 14,
+ 141, 139, 95, 97, 1, 230, 0, 3, 6, 4,
+ 5, 10, 0, 0, 0, 0, 0, 0, 0, 33,
+ 34, 35, 36, 37, 38, 15, 7, 2, 25, 39,
+ 0, 41, 45, 48, 51, 56, 59, 61, 63, 65,
+ 67, 69, 87, 242, 0, 164, 163, 160, 0, 88,
+ 0, 0, 237, 0, 236, 0, 0, 0, 151, 126,
+ 0, 122, 131, 128, 0, 0, 0, 141, 172, 0,
+ 0, 0, 0, 26, 27, 0, 0, 31, 148, 39,
+ 71, 84, 0, 174, 0, 11, 21, 22, 0, 0,
+ 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 153, 164, 161, 99, 100, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 202, 208, 2, 0,
- 0, 206, 115, 207, 193, 194, 0, 204, 195, 196,
- 197, 198, 0, 188, 101, 236, 233, 170, 158, 169,
- 0, 165, 0, 155, 0, 124, 117, 122, 0, 0,
- 128, 131, 126, 0, 135, 0, 143, 141, 0, 239,
- 0, 0, 0, 0, 0, 0, 0, 86, 77, 78,
- 74, 75, 76, 82, 81, 83, 79, 80, 73, 0,
- 8, 0, 0, 0, 175, 174, 176, 0, 20, 18,
- 0, 23, 0, 19, 42, 43, 44, 46, 47, 49,
- 50, 54, 55, 52, 53, 57, 58, 60, 62, 64,
- 66, 68, 0, 225, 0, 224, 0, 0, 0, 0,
- 0, 226, 0, 0, 0, 0, 209, 203, 205, 191,
- 0, 0, 167, 175, 168, 156, 0, 157, 154, 132,
- 130, 123, 0, 116, 137, 142, 0, 134, 0, 172,
- 29, 30, 0, 32, 72, 85, 183, 0, 0, 179,
- 0, 177, 0, 0, 40, 17, 0, 16, 0, 0,
- 201, 0, 0, 0, 223, 0, 227, 0, 0, 199,
- 189, 0, 166, 129, 133, 144, 136, 0, 184, 178,
- 180, 185, 0, 181, 0, 24, 70, 200, 0, 0,
- 0, 0, 0, 0, 0, 190, 192, 9, 186, 182,
- 0, 0, 0, 0, 0, 0, 210, 212, 213, 0,
- 215, 0, 0, 0, 0, 0, 0, 0, 214, 219,
- 217, 0, 216, 0, 0, 0, 211, 221, 220, 218,
- 0, 222
+ 0, 0, 154, 165, 162, 100, 101, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 203, 209,
+ 2, 0, 0, 207, 116, 208, 194, 195, 0, 205,
+ 196, 197, 198, 199, 0, 189, 102, 238, 235, 171,
+ 159, 170, 0, 166, 0, 156, 0, 125, 118, 123,
+ 0, 0, 129, 132, 127, 0, 136, 0, 144, 142,
+ 0, 241, 0, 0, 0, 0, 0, 0, 0, 86,
+ 77, 78, 74, 75, 76, 82, 81, 83, 79, 80,
+ 73, 0, 8, 0, 0, 0, 176, 175, 177, 0,
+ 20, 18, 0, 23, 0, 19, 42, 43, 44, 46,
+ 47, 49, 50, 54, 55, 52, 53, 57, 58, 60,
+ 62, 64, 66, 68, 0, 226, 0, 225, 0, 0,
+ 0, 0, 0, 227, 0, 0, 0, 0, 210, 204,
+ 206, 192, 0, 0, 168, 176, 169, 157, 0, 158,
+ 155, 133, 131, 124, 0, 117, 138, 143, 0, 135,
+ 0, 173, 29, 30, 0, 32, 72, 85, 184, 0,
+ 0, 180, 0, 178, 0, 0, 40, 17, 0, 16,
+ 0, 0, 202, 0, 0, 0, 224, 0, 228, 0,
+ 0, 200, 190, 0, 167, 130, 134, 145, 137, 0,
+ 185, 179, 181, 186, 0, 182, 0, 24, 70, 201,
+ 0, 0, 0, 0, 0, 0, 0, 191, 193, 9,
+ 187, 183, 0, 0, 0, 0, 0, 0, 211, 213,
+ 214, 0, 216, 0, 0, 0, 0, 0, 0, 0,
+ 215, 220, 218, 0, 217, 0, 0, 0, 212, 222,
+ 221, 219, 0, 223
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -237, -237, -237, -32, -26, -237, -237, 255, -237, -81,
- 183, 175, 164, 172, 192, 199, 204, 206, 212, -237,
- -39, -99, -237, -70, -168, 14, 4, -237, 268, -237,
- -237, 7, -237, -237, 254, -101, -77, -237, 67, -237,
- -237, 256, -237, 258, -24, -237, -31, -59, -51, -237,
- -118, 81, 265, 259, -105, -236, -6, -200, -237, -165,
- -237, -40, 155, -196, -237, -237, -237, -237, -237, 357,
- -237, -237, -237, -237, -237, -237, -237, -237
+ -241, -241, -241, -34, -28, -241, -241, 253, -241, -85,
+ 131, 144, 133, 153, 178, 180, 183, 186, 176, -241,
+ -41, -109, -241, -72, -164, 20, -241, 2, -241, 244,
+ -241, -241, 5, -241, -241, 226, -113, -78, -241, 44,
+ -241, -241, 227, -241, 235, -26, -241, -33, -59, -53,
+ -241, -120, 45, 247, 243, -134, -240, -8, -205, -241,
+ 51, -241, 0, 128, -194, -241, -241, -241, -241, -241,
+ 322, -241, -241, -241, -241, -241, -241, -241, -241
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 93, 94, 95, 199, 96, 270, 147, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
- 148, 149, 259, 200, 111, 201, 121, 57, 58, 33,
- 34, 35, 36, 37, 128, 129, 130, 229, 230, 38,
- 39, 133, 134, 325, 40, 41, 112, 60, 61, 115,
- 337, 221, 137, 152, 338, 266, 42, 214, 310, 203,
- 204, 205, 206, 207, 208, 209, 210, 211, 43, 44,
- 45, 123, 46, 47, 48, 49, 50, 51
+ -1, 95, 96, 97, 201, 98, 272, 149, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 150, 151, 261, 202, 113, 203, 33, 123, 59, 60,
+ 35, 36, 37, 38, 39, 130, 131, 132, 231, 232,
+ 40, 41, 135, 136, 327, 42, 43, 114, 62, 63,
+ 117, 339, 223, 139, 154, 340, 268, 44, 216, 312,
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, 45,
+ 46, 47, 125, 48, 49, 50, 51, 52, 53
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 56, 59, 126, 114, 32, 65, 220, 65, 110, 151,
- 308, 66, 309, 69, 31, 52, 150, 160, 294, 122,
- 213, 56, 116, 52, 297, 52, 224, 227, 341, 56,
- 113, 67, 347, 67, 261, 74, 52, 62, 117, 63,
- 131, 52, 136, 52, 70, 71, 265, 32, 52, 3,
- 225, 52, 3, 261, 232, 132, 178, 31, 271, 239,
- 319, 261, 131, 320, 182, 240, 260, 151, 135, 306,
- 150, 127, 261, 120, 150, 348, 247, 341, 52, 321,
- 274, 275, 276, 216, 56, 184, 198, 53, 272, 56,
- 184, 181, 136, 127, 52, 53, 54, 53, 56, 231,
- 264, 261, 236, 131, 131, 138, 54, 131, 131, 292,
- 55, 324, 202, 213, 314, 311, 366, 356, 228, 263,
- 131, 179, 64, 302, 65, 68, 139, 65, 219, 261,
- 268, 350, 227, 273, 127, 127, 308, 215, 127, 127,
- 359, 143, 52, 161, 153, 381, 315, 110, 162, 163,
- 67, 127, 316, 67, 364, 261, 261, 198, 365, 65,
- 334, 386, 335, 124, 340, 299, 311, 125, 313, 151,
- 263, 393, 406, 247, 198, 54, 150, 154, 155, 156,
- 164, 165, 174, 67, 377, 67, 344, 56, 312, 110,
- 175, 248, 249, 250, 251, 252, 253, 254, 255, 176,
- 202, 256, 257, 236, 168, 169, 262, 244, 329, 131,
- 263, 264, 198, 180, 53, 54, 234, 396, 397, 398,
- 235, 157, 131, 54, 372, 158, 400, 159, 353, 317,
- 355, 166, 167, 357, 358, 240, 409, 410, 202, 412,
- 127, 177, 416, 267, 374, 5, 417, 375, 418, 419,
- 345, 7, 119, 127, 126, 421, 346, 368, 11, 382,
- 313, 383, 213, 316, 198, 261, 219, 261, 170, 171,
- 384, 20, 298, 198, 388, 258, 261, 293, 376, 56,
- 316, 56, 380, 110, 295, 399, 296, 110, 56, 231,
- 67, 261, 54, 172, 173, 401, 236, 411, 413, 67,
- 198, 261, 97, 261, 261, 318, 420, -13, 390, 392,
- 327, 395, 261, 300, 328, 219, 303, 198, 262, 304,
- 219, 342, 263, 403, 405, 343, 202, 360, 52, 3,
- 305, 361, 281, 282, 283, 284, 415, 141, 142, 326,
- 145, 279, 280, 67, 285, 286, 219, 277, 278, -14,
- 198, 198, 198, 97, 322, 330, 331, 333, 261, 198,
- 349, 351, 369, 354, 370, 378, 287, 387, 389, 198,
- 198, 407, 198, 408, 288, 198, 67, 67, 67, 198,
- 289, 198, 198, 290, 183, 67, 233, 363, 198, 222,
- 291, 238, 237, 241, 242, 67, 67, 362, 67, 332,
- 73, 67, 0, 245, 0, 67, 0, 67, 67, 0,
- 0, 0, 0, 0, 67, 0, 97, 97, 97, 97,
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 97, 97, 97, 0, 0, 0, 0, 0, 0,
- 0, 97, 0, 0, 2, 52, 3, 75, 76, 77,
- 78, 79, 80, 81, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 82, 83, 0, 4, 185, 186, 5,
- 187, 188, 189, 97, 6, 146, 8, 190, 191, 192,
- 9, 10, 11, 193, 0, 12, 85, 13, 14, 194,
- 15, 16, 17, 18, 19, 20, 195, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 86, 0, 118,
- 196, 0, 97, 0, 0, 87, 88, 89, 90, 91,
- 92, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 197, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 52, 3, 75, 76, 77, 78, 79, 80, 81,
+ 58, 61, 34, 116, 128, 67, 222, 67, 112, 311,
+ 153, 68, 215, 71, 310, 162, 152, 229, 226, 267,
+ 32, 58, 54, 3, 296, 54, 343, 118, 134, 58,
+ 115, 69, 263, 69, 54, 263, 54, 64, 54, 65,
+ 133, 54, 138, 119, 72, 73, 54, 34, 308, 350,
+ 273, 227, 54, 3, 264, 234, 180, 349, 265, 263,
+ 54, 124, 133, 56, 184, 32, 321, 322, 153, 126,
+ 152, 129, 76, 127, 152, 343, 249, 137, 276, 277,
+ 278, 122, 54, 323, 58, 186, 200, 316, 274, 58,
+ 186, 183, 138, 129, 54, 140, 66, 313, 58, 233,
+ 266, 265, 238, 133, 133, 215, 55, 133, 133, 294,
+ 55, 326, 204, 170, 171, 56, 368, 141, 55, 56,
+ 133, 181, 229, 304, 67, 218, 70, 67, 221, 57,
+ 270, 230, 313, 275, 129, 129, 265, 163, 129, 129,
+ 310, 56, 164, 165, 236, 217, 263, 112, 237, 145,
+ 69, 129, 336, 69, 337, 263, 342, 200, 388, 67,
+ 366, 241, 358, 262, 367, 301, 55, 242, 315, 263,
+ 153, 383, 155, 249, 200, 56, 152, 172, 173, 156,
+ 157, 158, 329, 69, 346, 69, 330, 58, 314, 112,
+ 263, 250, 251, 252, 253, 254, 255, 256, 257, 263,
+ 204, 258, 259, 238, 317, 176, 395, 319, 331, 133,
+ 318, 266, 200, 242, 347, 408, 177, 264, 178, 370,
+ 348, 265, 133, 159, 374, 318, 384, 160, 355, 161,
+ 357, 179, 263, 359, 360, 385, 376, 5, 204, 377,
+ 129, 263, 299, 7, 362, 386, 390, 182, 363, 401,
+ 11, 263, 318, 129, 215, 263, 128, 166, 167, 403,
+ 315, 413, 415, 20, 200, 263, 221, 263, 263, 246,
+ 422, 168, 169, 200, 269, 260, 263, 121, 378, 58,
+ 295, 58, 382, 112, 56, 174, 175, 112, 58, 233,
+ 69, 344, 54, 3, 297, 345, 238, 279, 280, 69,
+ 200, 298, 99, 283, 284, 285, 286, 300, 392, 394,
+ 302, 397, 281, 282, 305, 221, 306, 200, -13, 307,
+ 221, -14, 320, 405, 407, 324, 204, 287, 288, 332,
+ 328, 333, 335, 263, 351, 353, 417, 143, 144, 371,
+ 147, 356, 372, 69, 380, 391, 221, 409, 389, 352,
+ 200, 200, 200, 99, 289, 410, 293, 290, 361, 200,
+ 235, 291, 185, 364, 240, 292, 365, 75, 0, 200,
+ 200, 239, 200, 224, 334, 200, 69, 69, 69, 200,
+ 0, 200, 200, 0, 0, 69, 0, 0, 200, 247,
+ 0, 0, 0, 243, 244, 69, 69, 0, 69, 0,
+ 0, 69, 379, 0, 0, 69, 0, 69, 69, 0,
+ 0, 2, 0, 3, 69, 0, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 0, 398, 399, 400, 0, 0,
+ 0, 99, 74, 1, 402, 2, 5, 3, 0, 0,
+ 0, 6, 7, 0, 411, 412, 0, 414, 0, 11,
+ 418, 0, 12, 0, 419, 14, 420, 421, 0, 17,
+ 18, 19, 20, 423, 0, 0, 0, 4, 0, 0,
+ 5, 0, 0, 99, 0, 6, 7, 8, 0, 0,
+ 0, 9, 10, 11, 0, 0, 12, 0, 13, 14,
+ 0, 15, 16, 17, 18, 19, 20, 0, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
+ 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 2, 0, 3, 0, 0, 0, 0, 0,
+ 0, 31, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 97, 0, 82,
- 83, 97, 4, 185, 186, 5, 187, 188, 189, 0,
- 6, 146, 8, 190, 191, 192, 9, 10, 11, 193,
- 0, 12, 85, 13, 14, 194, 15, 16, 17, 18,
- 19, 20, 195, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 86, 0, 118, 307, 0, 0, 0,
- 0, 87, 88, 89, 90, 91, 92, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 197, 2, 52, 3,
- 75, 76, 77, 78, 79, 80, 81, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 5, 0, 0,
+ 0, 0, 6, 7, 8, 0, 0, 99, 9, 10,
+ 11, 99, 0, 12, 0, 13, 14, 0, 15, 16,
+ 17, 18, 19, 20, 0, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 2, 54, 3, 77, 78,
+ 79, 80, 81, 82, 83, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 0, 0, 0, 84, 85, 0, 4, 187, 188,
+ 5, 189, 190, 191, 0, 6, 148, 8, 192, 193,
+ 194, 9, 10, 11, 195, 0, 12, 87, 13, 14,
+ 196, 15, 16, 17, 18, 19, 20, 197, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88, 0,
+ 120, 198, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 199, 2, 54, 3, 77, 78, 79, 80, 81,
+ 82, 83, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 82, 83, 0, 4,
- 185, 186, 5, 187, 188, 189, 0, 6, 146, 8,
- 190, 191, 192, 9, 10, 11, 193, 0, 12, 85,
- 13, 14, 194, 15, 16, 17, 18, 19, 20, 195,
+ 0, 84, 85, 0, 4, 187, 188, 5, 189, 190,
+ 191, 0, 6, 148, 8, 192, 193, 194, 9, 10,
+ 11, 195, 0, 12, 87, 13, 14, 196, 15, 16,
+ 17, 18, 19, 20, 197, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 88, 0, 120, 309, 0,
+ 0, 0, 0, 89, 90, 91, 92, 93, 94, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 199, 2,
+ 54, 3, 77, 78, 79, 80, 81, 82, 83, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 0, 118, 367, 0, 0, 0, 0, 87, 88,
- 89, 90, 91, 92, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 197, 2, 52, 3, 75, 76, 77,
- 78, 79, 80, 81, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 84, 85,
+ 0, 4, 187, 188, 5, 189, 190, 191, 0, 6,
+ 148, 8, 192, 193, 194, 9, 10, 11, 195, 0,
+ 12, 87, 13, 14, 196, 15, 16, 17, 18, 19,
+ 20, 197, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 88, 0, 120, 369, 0, 0, 0, 0,
+ 89, 90, 91, 92, 93, 94, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 199, 2, 54, 3, 77,
+ 78, 79, 80, 81, 82, 83, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 82, 83, 0, 4, 185, 186, 5,
- 187, 188, 189, 0, 6, 146, 8, 190, 191, 192,
- 9, 10, 11, 193, 0, 12, 85, 13, 14, 194,
- 15, 16, 17, 18, 19, 20, 195, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 86, 0, 118,
- 0, 0, 0, 0, 0, 87, 88, 89, 90, 91,
- 92, 52, 3, 75, 76, 77, 78, 79, 80, 81,
- 197, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,
- 83, 0, 0, 185, 186, 0, 187, 188, 189, 0,
- 0, 243, 0, 190, 191, 192, 0, 0, 0, 193,
- 0, 0, 85, 0, 0, 194, 0, 2, 0, 3,
- 0, 0, 195, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 86, 0, 118, 0, 0, 0, 0,
- 0, 87, 88, 89, 90, 91, 92, 0, 0, 4,
- 0, 0, 5, 0, 0, 0, 197, 6, 7, 8,
- 0, 0, 0, 9, 10, 11, 0, 0, 12, 0,
- 13, 14, 0, 15, 16, 17, 18, 19, 20, 52,
- 0, 75, 76, 77, 78, 79, 80, 81, 0, 0,
- 0, 0, 118, 0, 0, 52, 0, 75, 76, 77,
- 78, 79, 80, 81, 0, 0, 0, 82, 83, 0,
- 0, 0, 119, 0, 0, 0, 0, 0, 0, 243,
- 0, 0, 0, 82, 83, 0, 0, 0, 0, 0,
- 85, 0, 0, 0, 0, 243, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 85, 0, 0, 0,
- 0, 86, 0, 0, 0, 0, 0, 0, 0, 87,
- 88, 89, 90, 91, 92, 0, 0, 86, 0, 0,
- 0, 0, 0, 0, 301, 87, 88, 89, 90, 91,
- 92, 52, 0, 75, 76, 77, 78, 79, 80, 81,
- 352, 0, 0, 0, 0, 0, 0, 52, 0, 75,
- 76, 77, 78, 79, 80, 81, 0, 0, 0, 82,
- 83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 243, 0, 0, 0, 82, 83, 0, 0, 0,
- 0, 0, 85, 0, 0, 0, 0, 243, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 85, 0,
- 0, 0, 0, 86, 0, 0, 0, 0, 0, 0,
- 0, 87, 88, 89, 90, 91, 92, 0, 0, 86,
- 0, 0, 0, 0, 0, 0, 379, 87, 88, 89,
- 90, 91, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 394, 2, 52, 3, 75, 76, 77, 78,
- 79, 80, 81, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 84, 85, 0, 4, 187,
+ 188, 5, 189, 190, 191, 0, 6, 148, 8, 192,
+ 193, 194, 9, 10, 11, 195, 0, 12, 87, 13,
+ 14, 196, 15, 16, 17, 18, 19, 20, 197, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
+ 0, 120, 0, 0, 0, 0, 0, 89, 90, 91,
+ 92, 93, 94, 54, 3, 77, 78, 79, 80, 81,
+ 82, 83, 199, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 82, 83, 0, 0, 0, 0, 5, 0,
- 0, 0, 0, 6, 146, 0, 0, 0, 0, 0,
- 0, 11, 0, 0, 12, 85, 0, 14, 0, 0,
- 0, 17, 18, 19, 20, 2, 52, 3, 75, 76,
- 77, 78, 79, 80, 81, 0, 86, 0, 244, 0,
- 0, 0, 0, 0, 87, 88, 89, 90, 91, 92,
- 0, 0, 0, 0, 82, 83, 0, 0, 0, 0,
- 5, 0, 0, 0, 0, 6, 146, 0, 0, 0,
- 0, 0, 0, 11, 0, 0, 12, 85, 0, 14,
- 0, 0, 0, 17, 18, 19, 20, 52, 0, 75,
- 76, 77, 78, 79, 80, 81, 0, 0, 86, 0,
- 0, 0, 0, 0, 0, 0, 87, 88, 89, 90,
- 91, 92, 0, 0, 0, 82, 83, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 52, 84, 75, 76,
- 77, 78, 79, 80, 81, 0, 0, 0, 85, 0,
- 0, 0, 0, 0, 0, 52, 0, 75, 76, 77,
- 78, 79, 80, 81, 82, 83, 0, 0, 0, 86,
- 0, 212, 385, 0, 0, 0, 84, 87, 88, 89,
- 90, 91, 92, 82, 83, 0, 0, 85, 0, 0,
- 0, 0, 0, 0, 52, 84, 75, 76, 77, 78,
- 79, 80, 81, 0, 0, 0, 85, 0, 86, 0,
- 212, 0, 0, 0, 0, 0, 87, 88, 89, 90,
- 91, 92, 82, 83, 0, 0, 0, 86, 0, 0,
- 0, 0, 223, 0, 84, 87, 88, 89, 90, 91,
- 92, 0, 0, 0, 52, 85, 75, 76, 77, 78,
- 79, 80, 81, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 86, 269, 0, 0,
- 0, 0, 82, 83, 87, 88, 89, 90, 91, 92,
- 0, 0, 0, 52, 84, 75, 76, 77, 78, 79,
- 80, 81, 0, 0, 0, 85, 0, 0, 0, 0,
- 0, 0, 52, 0, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 0, 0, 0, 86, 0, 0, 0,
- 0, 339, 0, 84, 87, 88, 89, 90, 91, 92,
- 82, 83, 0, 0, 85, 0, 0, 0, 0, 0,
- 0, 52, 243, 75, 76, 77, 78, 79, 80, 81,
- 0, 0, 0, 85, 0, 86, 0, 0, 0, 0,
- 373, 0, 0, 87, 88, 89, 90, 91, 92, 82,
- 83, 0, 0, 0, 86, 391, 0, 0, 0, 0,
- 0, 243, 87, 88, 89, 90, 91, 92, 0, 0,
- 0, 52, 85, 75, 76, 77, 78, 79, 80, 81,
+ 0, 84, 85, 0, 0, 187, 188, 0, 189, 190,
+ 191, 0, 0, 245, 0, 192, 193, 194, 0, 0,
+ 0, 195, 0, 0, 87, 0, 0, 196, 0, 2,
+ 0, 3, 0, 0, 197, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 88, 0, 120, 0, 0,
+ 0, 0, 0, 89, 90, 91, 92, 93, 94, 0,
+ 0, 4, 0, 0, 5, 0, 0, 0, 199, 6,
+ 7, 8, 0, 0, 0, 9, 10, 11, 0, 0,
+ 12, 0, 13, 14, 0, 15, 16, 17, 18, 19,
+ 20, 54, 0, 77, 78, 79, 80, 81, 82, 83,
+ 0, 0, 0, 0, 120, 0, 0, 54, 0, 77,
+ 78, 79, 80, 81, 82, 83, 0, 0, 0, 84,
+ 85, 0, 0, 0, 121, 0, 0, 0, 0, 0,
+ 0, 245, 0, 0, 0, 84, 85, 0, 0, 0,
+ 0, 0, 87, 0, 0, 0, 0, 245, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
+ 0, 0, 0, 88, 0, 0, 0, 0, 0, 0,
+ 0, 89, 90, 91, 92, 93, 94, 0, 0, 88,
+ 0, 0, 0, 0, 0, 0, 303, 89, 90, 91,
+ 92, 93, 94, 54, 0, 77, 78, 79, 80, 81,
+ 82, 83, 354, 0, 0, 0, 0, 0, 0, 54,
+ 0, 77, 78, 79, 80, 81, 82, 83, 0, 0,
+ 0, 84, 85, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 245, 0, 0, 0, 84, 85, 0,
+ 0, 0, 0, 0, 87, 0, 0, 0, 0, 245,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 86, 402, 0, 0, 0, 0, 82,
- 83, 87, 88, 89, 90, 91, 92, 0, 0, 0,
- 52, 243, 75, 76, 77, 78, 79, 80, 81, 0,
- 0, 0, 85, 0, 0, 0, 0, 0, 0, 52,
- 0, 75, 76, 77, 78, 79, 80, 81, 82, 83,
- 0, 0, 0, 86, 404, 0, 0, 0, 0, 0,
- 243, 87, 88, 89, 90, 91, 92, 82, 83, 0,
- 0, 85, 0, 0, 0, 0, 0, 0, 52, 84,
- 75, 76, 77, 78, 79, 80, 81, 0, 0, 0,
- 85, 0, 86, 414, 0, 0, 0, 0, 0, 0,
- 87, 88, 89, 90, 91, 92, 82, 83, 0, 0,
- 0, 86, 0, 0, 0, 0, 0, 0, 84, 87,
- 88, 89, 90, 91, 92, 0, 0, 0, 52, 85,
- 75, 76, 77, 78, 79, 80, 81, 0, 0, 0,
+ 87, 0, 0, 0, 0, 88, 0, 0, 0, 0,
+ 0, 0, 0, 89, 90, 91, 92, 93, 94, 0,
+ 0, 88, 0, 0, 0, 0, 0, 0, 381, 89,
+ 90, 91, 92, 93, 94, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 396, 2, 54, 3, 77, 78,
+ 79, 80, 81, 82, 83, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 140, 0, 0, 0, 0, 0, 82, 83, 87, 88,
- 89, 90, 91, 92, 0, 0, 0, 52, 84, 75,
- 76, 77, 78, 79, 80, 81, 0, 0, 0, 85,
- 0, 0, 0, 0, 0, 0, 52, 0, 75, 76,
+ 0, 0, 0, 0, 84, 85, 0, 0, 0, 0,
+ 5, 0, 0, 0, 0, 6, 148, 0, 0, 0,
+ 0, 0, 0, 11, 0, 0, 12, 87, 0, 14,
+ 0, 0, 0, 17, 18, 19, 20, 2, 54, 3,
+ 77, 78, 79, 80, 81, 82, 83, 0, 88, 0,
+ 246, 0, 0, 0, 0, 0, 89, 90, 91, 92,
+ 93, 94, 0, 0, 0, 0, 84, 85, 0, 0,
+ 0, 0, 5, 0, 0, 0, 0, 6, 148, 0,
+ 0, 0, 0, 0, 0, 11, 0, 0, 12, 87,
+ 0, 14, 0, 0, 0, 17, 18, 19, 20, 54,
+ 0, 77, 78, 79, 80, 81, 82, 83, 0, 0,
+ 88, 0, 0, 0, 0, 0, 0, 0, 89, 90,
+ 91, 92, 93, 94, 0, 0, 0, 84, 85, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 54, 86,
77, 78, 79, 80, 81, 82, 83, 0, 0, 0,
- 144, 0, 0, 0, 0, 0, 0, 243, 87, 88,
- 89, 90, 91, 92, 82, 83, 0, 0, 85, 0,
- 0, 0, 0, 0, 0, 0, 243, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 85, 0, 86,
- 0, 0, 0, 2, 52, 3, 0, 87, 88, 89,
- 90, 91, 92, 217, 0, 0, 0, 0, 246, 0,
- 0, 0, 0, 0, 0, 0, 87, 88, 89, 90,
- 91, 92, 0, 0, 0, 4, 0, 0, 5, 0,
- 0, 0, 0, 6, 7, 8, 0, 0, 0, 9,
- 10, 11, 0, 0, 12, 0, 13, 14, 0, 15,
- 16, 17, 18, 19, 20, 2, 0, 3, 0, 0,
- 0, 0, 0, 0, 0, 217, 311, 336, 0, 0,
- 263, 0, 0, 0, 0, 54, 0, 0, 0, 0,
- 0, 0, 2, 0, 3, 0, 0, 4, 0, 0,
+ 87, 0, 0, 0, 0, 0, 0, 54, 0, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 0, 0,
+ 0, 88, 0, 214, 387, 0, 0, 0, 86, 89,
+ 90, 91, 92, 93, 94, 84, 85, 0, 0, 87,
+ 0, 0, 0, 0, 0, 0, 54, 86, 77, 78,
+ 79, 80, 81, 82, 83, 0, 0, 0, 87, 0,
+ 88, 0, 214, 0, 0, 0, 0, 0, 89, 90,
+ 91, 92, 93, 94, 84, 85, 0, 0, 0, 88,
+ 0, 0, 0, 0, 225, 0, 86, 89, 90, 91,
+ 92, 93, 94, 0, 0, 0, 54, 87, 77, 78,
+ 79, 80, 81, 82, 83, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88, 271,
+ 0, 0, 0, 0, 84, 85, 89, 90, 91, 92,
+ 93, 94, 0, 0, 0, 54, 86, 77, 78, 79,
+ 80, 81, 82, 83, 0, 0, 0, 87, 0, 0,
+ 0, 0, 0, 0, 54, 0, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 0, 0, 0, 88, 0,
+ 0, 0, 0, 341, 0, 86, 89, 90, 91, 92,
+ 93, 94, 84, 85, 0, 0, 87, 0, 0, 0,
+ 0, 0, 0, 54, 245, 77, 78, 79, 80, 81,
+ 82, 83, 0, 0, 0, 87, 0, 88, 0, 0,
+ 0, 0, 375, 0, 0, 89, 90, 91, 92, 93,
+ 94, 84, 85, 0, 0, 0, 88, 393, 0, 0,
+ 0, 0, 0, 245, 89, 90, 91, 92, 93, 94,
+ 0, 0, 0, 54, 87, 77, 78, 79, 80, 81,
+ 82, 83, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 88, 404, 0, 0, 0,
+ 0, 84, 85, 89, 90, 91, 92, 93, 94, 0,
+ 0, 0, 54, 245, 77, 78, 79, 80, 81, 82,
+ 83, 0, 0, 0, 87, 0, 0, 0, 0, 0,
+ 0, 54, 0, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 0, 0, 0, 88, 406, 0, 0, 0,
+ 0, 0, 245, 89, 90, 91, 92, 93, 94, 84,
+ 85, 0, 0, 87, 0, 0, 0, 0, 0, 0,
+ 54, 86, 77, 78, 79, 80, 81, 82, 83, 0,
+ 0, 0, 87, 0, 88, 416, 0, 0, 0, 0,
+ 0, 0, 89, 90, 91, 92, 93, 94, 84, 85,
+ 0, 0, 0, 88, 0, 0, 0, 0, 0, 0,
+ 86, 89, 90, 91, 92, 93, 94, 0, 0, 0,
+ 54, 87, 77, 78, 79, 80, 81, 82, 83, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 142, 0, 0, 0, 0, 0, 84, 85,
+ 89, 90, 91, 92, 93, 94, 0, 0, 0, 54,
+ 86, 77, 78, 79, 80, 81, 82, 83, 0, 0,
+ 0, 87, 0, 0, 0, 0, 0, 0, 54, 0,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 0,
+ 0, 0, 146, 0, 0, 0, 0, 0, 0, 245,
+ 89, 90, 91, 92, 93, 94, 84, 85, 0, 0,
+ 87, 0, 0, 0, 0, 0, 0, 0, 245, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
+ 0, 88, 0, 0, 0, 2, 54, 3, 0, 89,
+ 90, 91, 92, 93, 94, 219, 0, 0, 0, 0,
+ 248, 0, 0, 0, 0, 0, 0, 0, 89, 90,
+ 91, 92, 93, 94, 0, 0, 0, 4, 0, 0,
5, 0, 0, 0, 0, 6, 7, 8, 0, 0,
0, 9, 10, 11, 0, 0, 12, 0, 13, 14,
- 0, 15, 16, 17, 18, 19, 20, 5, 0, 2,
- 0, 3, 6, 7, 0, 0, 0, 0, 262, 336,
- 11, 0, 263, 12, 0, 0, 14, 54, 0, 0,
- 17, 18, 19, 20, 0, 0, 0, 72, 1, 0,
- 2, 0, 3, 0, 5, 0, 0, 0, 226, 6,
- 7, 0, 0, 0, 0, 0, 0, 11, 0, 0,
- 12, 0, 0, 14, 0, 0, 0, 17, 18, 19,
- 20, 0, 4, 0, 0, 5, 0, 0, 0, 0,
- 6, 7, 8, 0, 0, 323, 9, 10, 11, 0,
- 2, 12, 3, 13, 14, 0, 15, 16, 17, 18,
- 19, 20, 0, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 0, 0, 0, 0, 0, 0, 1,
- 0, 2, 4, 3, 0, 5, 0, 0, 0, 0,
- 6, 7, 8, 0, 0, 0, 9, 10, 11, 0,
- 0, 12, 0, 13, 14, 0, 15, 16, 17, 18,
- 19, 20, 0, 4, 0, 0, 5, 0, 0, 0,
- 0, 6, 7, 8, 0, 118, 0, 9, 10, 11,
- 0, 0, 12, 0, 13, 14, 0, 15, 16, 17,
- 18, 19, 20, 0, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 2, 52, 3, 0, 0, 0,
- 0, 0, 0, 0, 217, 0, 0, 0, 0, 0,
+ 0, 15, 16, 17, 18, 19, 20, 2, 0, 3,
+ 0, 0, 0, 0, 0, 0, 0, 219, 313, 338,
+ 0, 0, 265, 0, 0, 0, 0, 56, 0, 0,
+ 0, 0, 0, 0, 2, 0, 3, 0, 0, 4,
+ 0, 0, 5, 0, 0, 0, 0, 6, 7, 8,
+ 0, 0, 0, 9, 10, 11, 0, 0, 12, 0,
+ 13, 14, 0, 15, 16, 17, 18, 19, 20, 5,
+ 0, 2, 0, 3, 6, 7, 0, 0, 0, 0,
+ 264, 338, 11, 0, 265, 12, 0, 0, 14, 56,
+ 0, 0, 17, 18, 19, 20, 0, 0, 0, 0,
+ 0, 0, 2, 0, 3, 0, 5, 0, 0, 0,
+ 228, 6, 7, 0, 0, 0, 0, 0, 0, 11,
+ 0, 0, 12, 0, 0, 14, 0, 0, 0, 17,
+ 18, 19, 20, 0, 4, 0, 0, 5, 0, 0,
+ 0, 0, 6, 7, 8, 0, 0, 325, 9, 10,
+ 11, 0, 0, 12, 0, 13, 14, 0, 15, 16,
+ 17, 18, 19, 20, 2, 54, 3, 0, 0, 0,
+ 0, 0, 0, 0, 219, 0, 0, 120, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 3, 0, 4, 0, 0, 5,
+ 0, 0, 0, 0, 0, 0, 4, 0, 0, 5,
0, 0, 0, 0, 6, 7, 8, 0, 0, 0,
9, 10, 11, 0, 0, 12, 0, 13, 14, 0,
- 15, 16, 17, 18, 19, 20, 2, 5, 3, 0,
- 0, 0, 6, 7, 0, 0, 217, 0, 218, 0,
- 11, 0, 0, 12, 0, 0, 14, 0, 0, 0,
- 17, 18, 19, 20, 0, 0, 0, 0, 4, 0,
+ 15, 16, 17, 18, 19, 20, 2, 0, 3, 0,
+ 0, 0, 0, 0, 0, 0, 219, 0, 220, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
0, 5, 0, 0, 0, 0, 6, 7, 8, 0,
0, 0, 9, 10, 11, 0, 0, 12, 0, 13,
14, 0, 15, 16, 17, 18, 19, 20, 2, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 217, 0,
- 371, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 219, 0,
+ 373, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
4, 3, 0, 5, 0, 0, 0, 0, 6, 7,
8, 0, 0, 0, 9, 10, 11, 0, 0, 12,
static const yytype_int16 yycheck[] =
{
- 32, 32, 61, 54, 0, 37, 124, 39, 47, 86,
- 206, 37, 212, 39, 0, 4, 86, 98, 186, 59,
- 119, 53, 83, 4, 189, 4, 125, 128, 264, 61,
- 54, 37, 81, 39, 83, 76, 4, 33, 99, 35,
- 64, 4, 74, 4, 40, 41, 151, 43, 4, 5,
- 127, 4, 5, 83, 131, 78, 31, 43, 157, 77,
- 228, 83, 86, 83, 115, 83, 77, 144, 78, 99,
- 140, 64, 83, 59, 144, 97, 146, 313, 4, 99,
- 161, 162, 163, 123, 116, 116, 118, 76, 158, 121,
- 121, 115, 124, 86, 4, 76, 85, 76, 130, 130,
- 151, 83, 134, 127, 128, 76, 85, 131, 132, 179,
- 99, 79, 118, 212, 219, 76, 79, 99, 97, 80,
- 144, 96, 78, 193, 156, 78, 76, 159, 124, 83,
- 156, 296, 233, 159, 127, 128, 332, 123, 131, 132,
- 305, 76, 4, 85, 10, 99, 77, 186, 90, 91,
- 156, 144, 83, 159, 322, 83, 83, 189, 326, 191,
- 259, 361, 261, 76, 263, 191, 76, 80, 219, 246,
- 80, 99, 99, 243, 206, 85, 246, 32, 33, 34,
- 86, 87, 84, 189, 349, 191, 267, 219, 219, 228,
- 94, 14, 15, 16, 17, 18, 19, 20, 21, 95,
- 206, 24, 25, 235, 28, 29, 76, 78, 240, 233,
- 80, 262, 244, 77, 76, 85, 79, 382, 383, 384,
- 83, 76, 246, 85, 342, 80, 391, 82, 298, 77,
- 300, 22, 23, 303, 304, 83, 401, 402, 244, 404,
- 233, 30, 407, 77, 343, 38, 411, 346, 413, 414,
- 77, 44, 98, 246, 313, 420, 83, 77, 51, 77,
- 311, 77, 361, 83, 296, 83, 262, 83, 92, 93,
- 77, 64, 76, 305, 77, 98, 83, 99, 348, 311,
- 83, 313, 352, 322, 99, 77, 97, 326, 320, 320,
- 296, 83, 85, 26, 27, 77, 328, 77, 77, 305,
- 332, 83, 47, 83, 83, 81, 77, 97, 378, 379,
- 79, 381, 83, 76, 83, 311, 76, 349, 76, 76,
- 316, 76, 80, 393, 394, 80, 332, 79, 4, 5,
- 97, 83, 168, 169, 170, 171, 406, 82, 83, 98,
- 85, 166, 167, 349, 172, 173, 342, 164, 165, 97,
- 382, 383, 384, 98, 97, 77, 77, 77, 83, 391,
- 97, 65, 77, 99, 81, 76, 174, 77, 81, 401,
- 402, 42, 404, 99, 175, 407, 382, 383, 384, 411,
- 176, 413, 414, 177, 116, 391, 132, 320, 420, 124,
- 178, 135, 134, 138, 139, 401, 402, 316, 404, 244,
- 43, 407, -1, 144, -1, 411, -1, 413, 414, -1,
- -1, -1, -1, -1, 420, -1, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, -1, -1, -1, -1, -1, -1,
- -1, 186, -1, -1, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
+ 34, 34, 0, 56, 63, 39, 126, 41, 49, 214,
+ 88, 39, 121, 41, 208, 100, 88, 130, 127, 153,
+ 0, 55, 4, 5, 188, 4, 266, 83, 78, 63,
+ 56, 39, 83, 41, 4, 83, 4, 35, 4, 37,
+ 66, 4, 76, 99, 42, 43, 4, 45, 99, 97,
+ 159, 129, 4, 5, 76, 133, 31, 81, 80, 83,
+ 4, 61, 88, 85, 117, 45, 230, 83, 146, 76,
+ 142, 66, 76, 80, 146, 315, 148, 78, 163, 164,
+ 165, 61, 4, 99, 118, 118, 120, 221, 160, 123,
+ 123, 117, 126, 88, 4, 76, 78, 76, 132, 132,
+ 153, 80, 136, 129, 130, 214, 76, 133, 134, 181,
+ 76, 79, 120, 28, 29, 85, 79, 76, 76, 85,
+ 146, 96, 235, 195, 158, 125, 78, 161, 126, 99,
+ 158, 97, 76, 161, 129, 130, 80, 85, 133, 134,
+ 334, 85, 90, 91, 79, 125, 83, 188, 83, 76,
+ 158, 146, 261, 161, 263, 83, 265, 191, 363, 193,
+ 324, 77, 99, 77, 328, 193, 76, 83, 221, 83,
+ 248, 99, 10, 245, 208, 85, 248, 92, 93, 32,
+ 33, 34, 79, 191, 269, 193, 83, 221, 221, 230,
+ 83, 14, 15, 16, 17, 18, 19, 20, 21, 83,
+ 208, 24, 25, 237, 77, 84, 99, 77, 242, 235,
+ 83, 264, 246, 83, 77, 99, 94, 76, 95, 77,
+ 83, 80, 248, 76, 344, 83, 77, 80, 300, 82,
+ 302, 30, 83, 305, 306, 77, 345, 38, 246, 348,
+ 235, 83, 191, 44, 79, 77, 77, 77, 83, 77,
+ 51, 83, 83, 248, 363, 83, 315, 86, 87, 77,
+ 313, 77, 77, 64, 298, 83, 264, 83, 83, 78,
+ 77, 22, 23, 307, 77, 98, 83, 98, 350, 313,
+ 99, 315, 354, 324, 85, 26, 27, 328, 322, 322,
+ 298, 76, 4, 5, 99, 80, 330, 166, 167, 307,
+ 334, 97, 49, 170, 171, 172, 173, 76, 380, 381,
+ 76, 383, 168, 169, 76, 313, 76, 351, 97, 97,
+ 318, 97, 81, 395, 396, 97, 334, 174, 175, 77,
+ 98, 77, 77, 83, 97, 65, 408, 84, 85, 77,
+ 87, 99, 81, 351, 76, 81, 344, 42, 77, 298,
+ 384, 385, 386, 100, 176, 99, 180, 177, 307, 393,
+ 134, 178, 118, 318, 137, 179, 322, 45, -1, 403,
+ 404, 136, 406, 126, 246, 409, 384, 385, 386, 413,
+ -1, 415, 416, -1, -1, 393, -1, -1, 422, 146,
+ -1, -1, -1, 140, 141, 403, 404, -1, 406, -1,
+ -1, 409, 351, -1, -1, 413, -1, 415, 416, -1,
+ -1, 3, -1, 5, 422, -1, 163, 164, 165, 166,
+ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 178, 179, 180, -1, 384, 385, 386, -1, -1,
+ -1, 188, 0, 1, 393, 3, 38, 5, -1, -1,
+ -1, 43, 44, -1, 403, 404, -1, 406, -1, 51,
+ 409, -1, 54, -1, 413, 57, 415, 416, -1, 61,
+ 62, 63, 64, 422, -1, -1, -1, 35, -1, -1,
+ 38, -1, -1, 230, -1, 43, 44, 45, -1, -1,
+ -1, 49, 50, 51, -1, -1, 54, -1, 56, 57,
+ -1, 59, 60, 61, 62, 63, 64, -1, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, -1, -1,
+ -1, -1, 269, -1, -1, -1, -1, -1, -1, -1,
+ 1, -1, 3, -1, 5, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 32, 33, -1, 35, 36, 37, 38,
- 39, 40, 41, 228, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, -1, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 76, -1, 78,
- 79, -1, 267, -1, -1, 84, 85, 86, 87, 88,
- 89, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 99, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ -1, -1, -1, -1, 35, -1, -1, 38, -1, -1,
+ -1, -1, 43, 44, 45, -1, -1, 324, 49, 50,
+ 51, 328, -1, 54, -1, 56, 57, -1, 59, 60,
+ 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 99, -1,
+ -1, -1, -1, -1, 32, 33, -1, 35, 36, 37,
+ 38, 39, 40, 41, -1, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, -1, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 76, -1,
+ 78, 79, -1, -1, -1, -1, 84, 85, 86, 87,
+ 88, 89, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 99, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 322, -1, 32,
- 33, 326, 35, 36, 37, 38, 39, 40, 41, -1,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- -1, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 76, -1, 78, 79, -1, -1, -1,
- -1, 84, 85, 86, 87, 88, 89, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 99, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
+ -1, 32, 33, -1, 35, 36, 37, 38, 39, 40,
+ 41, -1, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, -1, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 76, -1, 78, 79, -1,
+ -1, -1, -1, 84, 85, 86, 87, 88, 89, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 99, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 32, 33, -1, 35,
- 36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, -1, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ -1, -1, -1, -1, -1, -1, -1, -1, 32, 33,
+ -1, 35, 36, 37, 38, 39, 40, 41, -1, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, -1,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 76, -1, 78, 79, -1, -1, -1, -1,
+ 84, 85, 86, 87, 88, 89, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 99, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 76, -1, 78, 79, -1, -1, -1, -1, 84, 85,
- 86, 87, 88, 89, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 99, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 32, 33, -1, 35, 36,
+ 37, 38, 39, 40, 41, -1, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, -1, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 76,
+ -1, 78, -1, -1, -1, -1, -1, 84, 85, 86,
+ 87, 88, 89, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 99, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 32, 33, -1, 35, 36, 37, 38,
- 39, 40, 41, -1, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, -1, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 76, -1, 78,
- -1, -1, -1, -1, -1, 84, 85, 86, 87, 88,
- 89, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 99, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 32,
- 33, -1, -1, 36, 37, -1, 39, 40, 41, -1,
- -1, 44, -1, 46, 47, 48, -1, -1, -1, 52,
- -1, -1, 55, -1, -1, 58, -1, 3, -1, 5,
- -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 76, -1, 78, -1, -1, -1, -1,
- -1, 84, 85, 86, 87, 88, 89, -1, -1, 35,
- -1, -1, 38, -1, -1, -1, 99, 43, 44, 45,
- -1, -1, -1, 49, 50, 51, -1, -1, 54, -1,
- 56, 57, -1, 59, 60, 61, 62, 63, 64, 4,
- -1, 6, 7, 8, 9, 10, 11, 12, -1, -1,
- -1, -1, 78, -1, -1, 4, -1, 6, 7, 8,
- 9, 10, 11, 12, -1, -1, -1, 32, 33, -1,
- -1, -1, 98, -1, -1, -1, -1, -1, -1, 44,
- -1, -1, -1, 32, 33, -1, -1, -1, -1, -1,
- 55, -1, -1, -1, -1, 44, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 55, -1, -1, -1,
- -1, 76, -1, -1, -1, -1, -1, -1, -1, 84,
- 85, 86, 87, 88, 89, -1, -1, 76, -1, -1,
- -1, -1, -1, -1, 99, 84, 85, 86, 87, 88,
- 89, 4, -1, 6, 7, 8, 9, 10, 11, 12,
- 99, -1, -1, -1, -1, -1, -1, 4, -1, 6,
+ -1, 32, 33, -1, -1, 36, 37, -1, 39, 40,
+ 41, -1, -1, 44, -1, 46, 47, 48, -1, -1,
+ -1, 52, -1, -1, 55, -1, -1, 58, -1, 3,
+ -1, 5, -1, -1, 65, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 76, -1, 78, -1, -1,
+ -1, -1, -1, 84, 85, 86, 87, 88, 89, -1,
+ -1, 35, -1, -1, 38, -1, -1, -1, 99, 43,
+ 44, 45, -1, -1, -1, 49, 50, 51, -1, -1,
+ 54, -1, 56, 57, -1, 59, 60, 61, 62, 63,
+ 64, 4, -1, 6, 7, 8, 9, 10, 11, 12,
+ -1, -1, -1, -1, 78, -1, -1, 4, -1, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, 32,
- 33, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 33, -1, -1, -1, 98, -1, -1, -1, -1, -1,
-1, 44, -1, -1, -1, 32, 33, -1, -1, -1,
-1, -1, 55, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 55, -1,
-1, -1, -1, 76, -1, -1, -1, -1, -1, -1,
-1, 84, 85, 86, 87, 88, 89, -1, -1, 76,
-1, -1, -1, -1, -1, -1, 99, 84, 85, 86,
- 87, 88, 89, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 99, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
+ 87, 88, 89, 4, -1, 6, 7, 8, 9, 10,
+ 11, 12, 99, -1, -1, -1, -1, -1, -1, 4,
+ -1, 6, 7, 8, 9, 10, 11, 12, -1, -1,
+ -1, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 44, -1, -1, -1, 32, 33, -1,
+ -1, -1, -1, -1, 55, -1, -1, -1, -1, 44,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 55, -1, -1, -1, -1, 76, -1, -1, -1, -1,
+ -1, -1, -1, 84, 85, 86, 87, 88, 89, -1,
+ -1, 76, -1, -1, -1, -1, -1, -1, 99, 84,
+ 85, 86, 87, 88, 89, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 99, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 32, 33, -1, -1, -1, -1, 38, -1,
- -1, -1, -1, 43, 44, -1, -1, -1, -1, -1,
- -1, 51, -1, -1, 54, 55, -1, 57, -1, -1,
- -1, 61, 62, 63, 64, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, -1, 76, -1, 78, -1,
- -1, -1, -1, -1, 84, 85, 86, 87, 88, 89,
-1, -1, -1, -1, 32, 33, -1, -1, -1, -1,
38, -1, -1, -1, -1, 43, 44, -1, -1, -1,
-1, -1, -1, 51, -1, -1, 54, 55, -1, 57,
- -1, -1, -1, 61, 62, 63, 64, 4, -1, 6,
- 7, 8, 9, 10, 11, 12, -1, -1, 76, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, 87,
- 88, 89, -1, -1, -1, 32, 33, -1, -1, -1,
+ -1, -1, -1, 61, 62, 63, 64, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, -1, 76, -1,
+ 78, -1, -1, -1, -1, -1, 84, 85, 86, 87,
+ 88, 89, -1, -1, -1, -1, 32, 33, -1, -1,
+ -1, -1, 38, -1, -1, -1, -1, 43, 44, -1,
+ -1, -1, -1, -1, -1, 51, -1, -1, 54, 55,
+ -1, 57, -1, -1, -1, 61, 62, 63, 64, 4,
+ -1, 6, 7, 8, 9, 10, 11, 12, -1, -1,
+ 76, -1, -1, -1, -1, -1, -1, -1, 84, 85,
+ 86, 87, 88, 89, -1, -1, -1, 32, 33, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4, 44,
+ 6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
+ 55, -1, -1, -1, -1, -1, -1, 4, -1, 6,
+ 7, 8, 9, 10, 11, 12, 32, 33, -1, -1,
+ -1, 76, -1, 78, 79, -1, -1, -1, 44, 84,
+ 85, 86, 87, 88, 89, 32, 33, -1, -1, 55,
-1, -1, -1, -1, -1, -1, 4, 44, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, 55, -1,
- -1, -1, -1, -1, -1, 4, -1, 6, 7, 8,
- 9, 10, 11, 12, 32, 33, -1, -1, -1, 76,
- -1, 78, 79, -1, -1, -1, 44, 84, 85, 86,
- 87, 88, 89, 32, 33, -1, -1, 55, -1, -1,
- -1, -1, -1, -1, 4, 44, 6, 7, 8, 9,
- 10, 11, 12, -1, -1, -1, 55, -1, 76, -1,
- 78, -1, -1, -1, -1, -1, 84, 85, 86, 87,
- 88, 89, 32, 33, -1, -1, -1, 76, -1, -1,
- -1, -1, 81, -1, 44, 84, 85, 86, 87, 88,
- 89, -1, -1, -1, 4, 55, 6, 7, 8, 9,
- 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 76, 77, -1, -1,
- -1, -1, 32, 33, 84, 85, 86, 87, 88, 89,
+ 76, -1, 78, -1, -1, -1, -1, -1, 84, 85,
+ 86, 87, 88, 89, 32, 33, -1, -1, -1, 76,
+ -1, -1, -1, -1, 81, -1, 44, 84, 85, 86,
+ 87, 88, 89, -1, -1, -1, 4, 55, 6, 7,
+ 8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 76, 77,
+ -1, -1, -1, -1, 32, 33, 84, 85, 86, 87,
+ 88, 89, -1, -1, -1, 4, 44, 6, 7, 8,
+ 9, 10, 11, 12, -1, -1, -1, 55, -1, -1,
+ -1, -1, -1, -1, 4, -1, 6, 7, 8, 9,
+ 10, 11, 12, 32, 33, -1, -1, -1, 76, -1,
+ -1, -1, -1, 81, -1, 44, 84, 85, 86, 87,
+ 88, 89, 32, 33, -1, -1, 55, -1, -1, -1,
-1, -1, -1, 4, 44, 6, 7, 8, 9, 10,
- 11, 12, -1, -1, -1, 55, -1, -1, -1, -1,
- -1, -1, 4, -1, 6, 7, 8, 9, 10, 11,
- 12, 32, 33, -1, -1, -1, 76, -1, -1, -1,
- -1, 81, -1, 44, 84, 85, 86, 87, 88, 89,
- 32, 33, -1, -1, 55, -1, -1, -1, -1, -1,
- -1, 4, 44, 6, 7, 8, 9, 10, 11, 12,
- -1, -1, -1, 55, -1, 76, -1, -1, -1, -1,
- 81, -1, -1, 84, 85, 86, 87, 88, 89, 32,
- 33, -1, -1, -1, 76, 77, -1, -1, -1, -1,
- -1, 44, 84, 85, 86, 87, 88, 89, -1, -1,
- -1, 4, 55, 6, 7, 8, 9, 10, 11, 12,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 76, 77, -1, -1, -1, -1, 32,
- 33, 84, 85, 86, 87, 88, 89, -1, -1, -1,
+ 11, 12, -1, -1, -1, 55, -1, 76, -1, -1,
+ -1, -1, 81, -1, -1, 84, 85, 86, 87, 88,
+ 89, 32, 33, -1, -1, -1, 76, 77, -1, -1,
+ -1, -1, -1, 44, 84, 85, 86, 87, 88, 89,
+ -1, -1, -1, 4, 55, 6, 7, 8, 9, 10,
+ 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 76, 77, -1, -1, -1,
+ -1, 32, 33, 84, 85, 86, 87, 88, 89, -1,
+ -1, -1, 4, 44, 6, 7, 8, 9, 10, 11,
+ 12, -1, -1, -1, 55, -1, -1, -1, -1, -1,
+ -1, 4, -1, 6, 7, 8, 9, 10, 11, 12,
+ 32, 33, -1, -1, -1, 76, 77, -1, -1, -1,
+ -1, -1, 44, 84, 85, 86, 87, 88, 89, 32,
+ 33, -1, -1, 55, -1, -1, -1, -1, -1, -1,
4, 44, 6, 7, 8, 9, 10, 11, 12, -1,
- -1, -1, 55, -1, -1, -1, -1, -1, -1, 4,
- -1, 6, 7, 8, 9, 10, 11, 12, 32, 33,
- -1, -1, -1, 76, 77, -1, -1, -1, -1, -1,
- 44, 84, 85, 86, 87, 88, 89, 32, 33, -1,
- -1, 55, -1, -1, -1, -1, -1, -1, 4, 44,
- 6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
- 55, -1, 76, 77, -1, -1, -1, -1, -1, -1,
- 84, 85, 86, 87, 88, 89, 32, 33, -1, -1,
- -1, 76, -1, -1, -1, -1, -1, -1, 44, 84,
- 85, 86, 87, 88, 89, -1, -1, -1, 4, 55,
- 6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
+ -1, -1, 55, -1, 76, 77, -1, -1, -1, -1,
+ -1, -1, 84, 85, 86, 87, 88, 89, 32, 33,
+ -1, -1, -1, 76, -1, -1, -1, -1, -1, -1,
+ 44, 84, 85, 86, 87, 88, 89, -1, -1, -1,
+ 4, 55, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 76, -1, -1, -1, -1, -1, 32, 33, 84, 85,
- 86, 87, 88, 89, -1, -1, -1, 4, 44, 6,
- 7, 8, 9, 10, 11, 12, -1, -1, -1, 55,
- -1, -1, -1, -1, -1, -1, 4, -1, 6, 7,
- 8, 9, 10, 11, 12, 32, 33, -1, -1, -1,
- 76, -1, -1, -1, -1, -1, -1, 44, 84, 85,
- 86, 87, 88, 89, 32, 33, -1, -1, 55, -1,
- -1, -1, -1, -1, -1, -1, 44, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 55, -1, 76,
- -1, -1, -1, 3, 4, 5, -1, 84, 85, 86,
- 87, 88, 89, 13, -1, -1, -1, -1, 76, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, 87,
- 88, 89, -1, -1, -1, 35, -1, -1, 38, -1,
- -1, -1, -1, 43, 44, 45, -1, -1, -1, 49,
- 50, 51, -1, -1, 54, -1, 56, 57, -1, 59,
- 60, 61, 62, 63, 64, 3, -1, 5, -1, -1,
- -1, -1, -1, -1, -1, 13, 76, 77, -1, -1,
- 80, -1, -1, -1, -1, 85, -1, -1, -1, -1,
- -1, -1, 3, -1, 5, -1, -1, 35, -1, -1,
+ -1, -1, 76, -1, -1, -1, -1, -1, 32, 33,
+ 84, 85, 86, 87, 88, 89, -1, -1, -1, 4,
+ 44, 6, 7, 8, 9, 10, 11, 12, -1, -1,
+ -1, 55, -1, -1, -1, -1, -1, -1, 4, -1,
+ 6, 7, 8, 9, 10, 11, 12, 32, 33, -1,
+ -1, -1, 76, -1, -1, -1, -1, -1, -1, 44,
+ 84, 85, 86, 87, 88, 89, 32, 33, -1, -1,
+ 55, -1, -1, -1, -1, -1, -1, -1, 44, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 55,
+ -1, 76, -1, -1, -1, 3, 4, 5, -1, 84,
+ 85, 86, 87, 88, 89, 13, -1, -1, -1, -1,
+ 76, -1, -1, -1, -1, -1, -1, -1, 84, 85,
+ 86, 87, 88, 89, -1, -1, -1, 35, -1, -1,
38, -1, -1, -1, -1, 43, 44, 45, -1, -1,
-1, 49, 50, 51, -1, -1, 54, -1, 56, 57,
- -1, 59, 60, 61, 62, 63, 64, 38, -1, 3,
- -1, 5, 43, 44, -1, -1, -1, -1, 76, 77,
- 51, -1, 80, 54, -1, -1, 57, 85, -1, -1,
- 61, 62, 63, 64, -1, -1, -1, 0, 1, -1,
- 3, -1, 5, -1, 38, -1, -1, -1, 79, 43,
- 44, -1, -1, -1, -1, -1, -1, 51, -1, -1,
- 54, -1, -1, 57, -1, -1, -1, 61, 62, 63,
- 64, -1, 35, -1, -1, 38, -1, -1, -1, -1,
- 43, 44, 45, -1, -1, 79, 49, 50, 51, -1,
- 3, 54, 5, 56, 57, -1, 59, 60, 61, 62,
- 63, 64, -1, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, -1, -1, -1, -1, -1, -1, 1,
- -1, 3, 35, 5, -1, 38, -1, -1, -1, -1,
- 43, 44, 45, -1, -1, -1, 49, 50, 51, -1,
- -1, 54, -1, 56, 57, -1, 59, 60, 61, 62,
- 63, 64, -1, 35, -1, -1, 38, -1, -1, -1,
- -1, 43, 44, 45, -1, 78, -1, 49, 50, 51,
- -1, -1, 54, -1, 56, 57, -1, 59, 60, 61,
- 62, 63, 64, -1, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 3, 4, 5, -1, -1, -1,
- -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
+ -1, 59, 60, 61, 62, 63, 64, 3, -1, 5,
+ -1, -1, -1, -1, -1, -1, -1, 13, 76, 77,
+ -1, -1, 80, -1, -1, -1, -1, 85, -1, -1,
+ -1, -1, -1, -1, 3, -1, 5, -1, -1, 35,
+ -1, -1, 38, -1, -1, -1, -1, 43, 44, 45,
+ -1, -1, -1, 49, 50, 51, -1, -1, 54, -1,
+ 56, 57, -1, 59, 60, 61, 62, 63, 64, 38,
+ -1, 3, -1, 5, 43, 44, -1, -1, -1, -1,
+ 76, 77, 51, -1, 80, 54, -1, -1, 57, 85,
+ -1, -1, 61, 62, 63, 64, -1, -1, -1, -1,
+ -1, -1, 3, -1, 5, -1, 38, -1, -1, -1,
+ 79, 43, 44, -1, -1, -1, -1, -1, -1, 51,
+ -1, -1, 54, -1, -1, 57, -1, -1, -1, 61,
+ 62, 63, 64, -1, 35, -1, -1, 38, -1, -1,
+ -1, -1, 43, 44, 45, -1, -1, 79, 49, 50,
+ 51, -1, -1, 54, -1, 56, 57, -1, 59, 60,
+ 61, 62, 63, 64, 3, 4, 5, -1, -1, -1,
+ -1, -1, -1, -1, 13, -1, -1, 78, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 3, -1, 5, -1, 35, -1, -1, 38,
+ -1, -1, -1, -1, -1, -1, 35, -1, -1, 38,
-1, -1, -1, -1, 43, 44, 45, -1, -1, -1,
49, 50, 51, -1, -1, 54, -1, 56, 57, -1,
- 59, 60, 61, 62, 63, 64, 3, 38, 5, -1,
- -1, -1, 43, 44, -1, -1, 13, -1, 77, -1,
- 51, -1, -1, 54, -1, -1, 57, -1, -1, -1,
- 61, 62, 63, 64, -1, -1, -1, -1, 35, -1,
+ 59, 60, 61, 62, 63, 64, 3, -1, 5, -1,
+ -1, -1, -1, -1, -1, -1, 13, -1, 77, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 35, -1,
-1, 38, -1, -1, -1, -1, 43, 44, 45, -1,
-1, -1, 49, 50, 51, -1, -1, 54, -1, 56,
57, -1, 59, 60, 61, 62, 63, 64, 3, -1,
0, 1, 3, 5, 35, 38, 43, 44, 45, 49,
50, 51, 54, 56, 57, 59, 60, 61, 62, 63,
64, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 125, 126, 129, 130, 131, 132, 133, 139, 140,
- 144, 145, 156, 168, 169, 170, 172, 173, 174, 175,
- 176, 177, 4, 76, 85, 99, 103, 127, 128, 146,
- 147, 148, 126, 126, 78, 103, 104, 156, 78, 104,
- 126, 126, 0, 169, 76, 6, 7, 8, 9, 10,
- 11, 12, 32, 33, 44, 55, 76, 84, 85, 86,
- 87, 88, 89, 101, 102, 103, 105, 107, 108, 109,
- 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 124, 146, 144, 148, 149, 83, 99, 78, 98,
- 125, 126, 161, 171, 76, 80, 147, 131, 134, 135,
- 136, 144, 78, 141, 142, 78, 103, 152, 76, 76,
- 76, 107, 107, 76, 76, 107, 44, 107, 120, 121,
- 123, 136, 153, 10, 32, 33, 34, 76, 80, 82,
- 109, 85, 90, 91, 86, 87, 22, 23, 28, 29,
- 92, 93, 26, 27, 84, 94, 95, 30, 31, 96,
- 77, 144, 148, 128, 146, 36, 37, 39, 40, 41,
- 46, 47, 48, 52, 58, 65, 79, 99, 103, 104,
- 123, 125, 156, 159, 160, 161, 162, 163, 164, 165,
- 166, 167, 78, 121, 157, 125, 161, 13, 77, 126,
- 150, 151, 152, 81, 121, 136, 79, 135, 97, 137,
- 138, 146, 136, 134, 79, 83, 103, 143, 141, 77,
- 83, 107, 107, 44, 78, 153, 76, 123, 14, 15,
- 16, 17, 18, 19, 20, 21, 24, 25, 98, 122,
- 77, 83, 76, 80, 148, 154, 155, 77, 104, 77,
- 106, 121, 123, 104, 109, 109, 109, 110, 110, 111,
- 111, 112, 112, 112, 112, 113, 113, 114, 115, 116,
- 117, 118, 123, 99, 124, 99, 97, 159, 76, 104,
- 76, 99, 123, 76, 76, 97, 99, 79, 163, 157,
- 158, 76, 146, 148, 154, 77, 83, 77, 81, 124,
- 83, 99, 97, 79, 79, 143, 98, 79, 83, 103,
- 77, 77, 162, 77, 121, 121, 77, 150, 154, 81,
- 121, 155, 76, 80, 109, 77, 83, 81, 97, 97,
- 159, 65, 99, 123, 99, 123, 99, 123, 123, 159,
- 79, 83, 151, 138, 124, 124, 79, 79, 77, 77,
- 81, 77, 150, 81, 121, 121, 123, 159, 76, 99,
- 123, 99, 77, 77, 77, 79, 157, 77, 77, 81,
- 123, 77, 123, 99, 99, 123, 159, 159, 159, 77,
- 159, 77, 77, 123, 77, 123, 99, 42, 99, 159,
- 159, 77, 159, 77, 77, 123, 159, 159, 159, 159,
- 77, 159
+ 75, 99, 125, 126, 127, 130, 131, 132, 133, 134,
+ 140, 141, 145, 146, 157, 169, 170, 171, 173, 174,
+ 175, 176, 177, 178, 4, 76, 85, 99, 103, 128,
+ 129, 147, 148, 149, 127, 127, 78, 103, 104, 157,
+ 78, 104, 127, 127, 0, 170, 76, 6, 7, 8,
+ 9, 10, 11, 12, 32, 33, 44, 55, 76, 84,
+ 85, 86, 87, 88, 89, 101, 102, 103, 105, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 124, 147, 145, 149, 150, 83, 99,
+ 78, 98, 125, 127, 162, 172, 76, 80, 148, 132,
+ 135, 136, 137, 145, 78, 142, 143, 78, 103, 153,
+ 76, 76, 76, 107, 107, 76, 76, 107, 44, 107,
+ 120, 121, 123, 137, 154, 10, 32, 33, 34, 76,
+ 80, 82, 109, 85, 90, 91, 86, 87, 22, 23,
+ 28, 29, 92, 93, 26, 27, 84, 94, 95, 30,
+ 31, 96, 77, 145, 149, 129, 147, 36, 37, 39,
+ 40, 41, 46, 47, 48, 52, 58, 65, 79, 99,
+ 103, 104, 123, 125, 157, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 78, 121, 158, 125, 162, 13,
+ 77, 127, 151, 152, 153, 81, 121, 137, 79, 136,
+ 97, 138, 139, 147, 137, 135, 79, 83, 103, 144,
+ 142, 77, 83, 107, 107, 44, 78, 154, 76, 123,
+ 14, 15, 16, 17, 18, 19, 20, 21, 24, 25,
+ 98, 122, 77, 83, 76, 80, 149, 155, 156, 77,
+ 104, 77, 106, 121, 123, 104, 109, 109, 109, 110,
+ 110, 111, 111, 112, 112, 112, 112, 113, 113, 114,
+ 115, 116, 117, 118, 123, 99, 124, 99, 97, 160,
+ 76, 104, 76, 99, 123, 76, 76, 97, 99, 79,
+ 164, 158, 159, 76, 147, 149, 155, 77, 83, 77,
+ 81, 124, 83, 99, 97, 79, 79, 144, 98, 79,
+ 83, 103, 77, 77, 163, 77, 121, 121, 77, 151,
+ 155, 81, 121, 156, 76, 80, 109, 77, 83, 81,
+ 97, 97, 160, 65, 99, 123, 99, 123, 99, 123,
+ 123, 160, 79, 83, 152, 139, 124, 124, 79, 79,
+ 77, 77, 81, 77, 151, 81, 121, 121, 123, 160,
+ 76, 99, 123, 99, 77, 77, 77, 79, 158, 77,
+ 77, 81, 123, 77, 123, 99, 99, 123, 160, 160,
+ 160, 77, 160, 77, 77, 123, 77, 123, 99, 42,
+ 99, 160, 160, 77, 160, 77, 77, 123, 160, 160,
+ 160, 160, 77, 160
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
115, 116, 116, 117, 117, 118, 118, 119, 119, 120,
120, 121, 121, 122, 122, 122, 122, 122, 122, 122,
122, 122, 122, 122, 123, 123, 123, 124, 125, 125,
- 126, 126, 126, 126, 126, 126, 126, 126, 127, 127,
- 128, 128, 129, 129, 129, 129, 129, 129, 130, 131,
- 131, 131, 131, 131, 131, 131, 132, 132, 132, 133,
- 133, 134, 134, 135, 136, 136, 136, 136, 137, 137,
- 138, 138, 138, 138, 139, 139, 139, 139, 139, 140,
- 142, 141, 141, 143, 143, 144, 144, 144, 144, 145,
- 146, 146, 147, 147, 147, 147, 147, 147, 147, 148,
- 148, 148, 148, 149, 149, 150, 150, 151, 151, 151,
- 151, 152, 152, 153, 153, 154, 154, 154, 155, 155,
- 155, 155, 155, 155, 155, 155, 155, 156, 157, 157,
- 157, 158, 158, 159, 159, 159, 159, 159, 159, 160,
- 160, 160, 161, 161, 162, 162, 163, 163, 164, 164,
- 165, 165, 165, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 167, 167, 167, 167, 167, 168, 168,
- 169, 169, 169, 170, 170, 171, 171, 172, 173, 174,
- 175, 176, 176, 176, 176, 176, 176, 176, 176, 177,
- 177, 177, 177
+ 126, 127, 127, 127, 127, 127, 127, 127, 127, 128,
+ 128, 129, 129, 130, 130, 130, 130, 130, 130, 131,
+ 132, 132, 132, 132, 132, 132, 132, 133, 133, 133,
+ 134, 134, 135, 135, 136, 137, 137, 137, 137, 138,
+ 138, 139, 139, 139, 139, 140, 140, 140, 140, 140,
+ 141, 143, 142, 142, 144, 144, 145, 145, 145, 145,
+ 146, 147, 147, 148, 148, 148, 148, 148, 148, 148,
+ 149, 149, 149, 149, 150, 150, 151, 151, 152, 152,
+ 152, 152, 153, 153, 154, 154, 155, 155, 155, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 157, 158,
+ 158, 158, 159, 159, 160, 160, 160, 160, 160, 160,
+ 161, 161, 161, 162, 162, 163, 163, 164, 164, 165,
+ 165, 166, 166, 166, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 168, 168, 168, 168, 168, 169,
+ 169, 170, 170, 170, 170, 171, 171, 172, 172, 173,
+ 174, 175, 176, 177, 177, 177, 177, 177, 177, 177,
+ 177, 178, 178, 178, 178
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
5, 1, 3, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 3, 2, 1, 3, 2,
- 2, 1, 2, 1, 2, 1, 2, 1, 1, 3,
- 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 5, 4, 2, 1,
- 1, 1, 2, 3, 2, 1, 2, 1, 1, 3,
- 0, 1, 2, 3, 5, 4, 6, 5, 2, 1,
- 0, 2, 3, 1, 3, 1, 1, 1, 1, 1,
- 2, 1, 1, 3, 4, 3, 4, 4, 3, 2,
- 1, 3, 2, 1, 2, 1, 3, 2, 2, 1,
- 1, 1, 3, 1, 2, 1, 1, 2, 3, 2,
- 3, 3, 4, 2, 3, 3, 4, 1, 1, 3,
- 4, 1, 3, 1, 1, 1, 1, 1, 1, 3,
- 4, 3, 2, 3, 1, 2, 1, 1, 1, 2,
- 5, 7, 5, 5, 7, 6, 7, 7, 8, 7,
- 8, 8, 9, 3, 2, 2, 2, 3, 1, 2,
- 1, 1, 1, 4, 3, 1, 2, 1, 1, 4,
- 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1
+ 1, 2, 1, 2, 1, 2, 1, 2, 1, 1,
+ 3, 1, 3, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 5, 4, 2,
+ 1, 1, 1, 2, 3, 2, 1, 2, 1, 1,
+ 3, 0, 1, 2, 3, 5, 4, 6, 5, 2,
+ 1, 0, 2, 3, 1, 3, 1, 1, 1, 1,
+ 1, 2, 1, 1, 3, 4, 3, 4, 4, 3,
+ 2, 1, 3, 2, 1, 2, 1, 3, 2, 2,
+ 1, 1, 1, 3, 1, 2, 1, 1, 2, 3,
+ 2, 3, 3, 4, 2, 3, 3, 4, 1, 1,
+ 3, 4, 1, 3, 1, 1, 1, 1, 1, 1,
+ 3, 4, 3, 2, 3, 1, 2, 1, 1, 1,
+ 2, 5, 7, 5, 5, 7, 6, 7, 7, 8,
+ 7, 8, 8, 9, 3, 2, 2, 2, 3, 1,
+ 2, 1, 1, 1, 1, 4, 3, 1, 2, 1,
+ 1, 4, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
};
switch (yyn)
{
case 2:
-#line 329 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 331 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = g_hash_table_lookup (scanner->const_table, (yyvsp[0].str));
if ((yyval.symbol) == NULL) {
(yyval.symbol) = gi_source_symbol_ref ((yyval.symbol));
}
}
-#line 2301 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2315 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 3:
-#line 338 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 340 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
char *rest;
guint64 value;
(yyval.symbol)->const_int = value;
(yyval.symbol)->const_int_is_unsigned = (rest && (rest[0] == 'U'));
}
-#line 2321 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2335 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 4:
-#line 354 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 356 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_boolean_set = TRUE;
(yyval.symbol)->const_boolean = g_ascii_strcasecmp (yytext, "true") == 0 ? TRUE : FALSE;
}
-#line 2331 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2345 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 5:
-#line 360 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 362 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = g_utf8_get_char(yytext + 1);
}
-#line 2341 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2355 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 6:
-#line 366 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 368 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_double_set = TRUE;
(yyval.symbol)->const_double = 0.0;
sscanf (yytext, "%lf", &((yyval.symbol)->const_double));
}
-#line 2352 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2366 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 8:
-#line 374 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 376 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[-1].symbol);
}
-#line 2360 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2374 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 9:
-#line 378 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 380 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2368 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2382 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 10:
-#line 386 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 388 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
yytext[strlen (yytext) - 1] = '\0';
}
}
-#line 2387 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2401 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 11:
-#line 401 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 403 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
char *strings, *string2;
(yyval.symbol) = (yyvsp[-1].symbol);
g_free (string2);
(yyval.symbol)->const_string = strings;
}
-#line 2402 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2416 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 12:
-#line 415 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 417 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.str) = g_strdup (yytext);
}
-#line 2410 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2424 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 16:
-#line 428 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 430 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2418 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2432 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 17:
-#line 432 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 434 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2426 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2440 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 18:
-#line 436 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 438 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2434 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2448 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 19:
-#line 440 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 442 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2442 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2456 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 20:
-#line 444 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 446 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2450 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2464 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 21:
-#line 448 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 450 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2458 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2472 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 22:
-#line 452 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 454 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2466 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2480 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 26:
-#line 465 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 467 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2474 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2488 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 27:
-#line 469 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 471 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2482 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2496 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 28:
-#line 473 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 475 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
switch ((yyvsp[-1].unary_operator)) {
case UNARY_PLUS:
break;
}
}
-#line 2509 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2523 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 29:
-#line 496 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 498 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[-1].symbol);
if ((yyval.symbol)->const_int_set) {
(yyval.symbol)->base_type = gi_source_basic_type_new ((yyval.symbol)->const_int_is_unsigned ? "guint64" : "gint64");
}
}
-#line 2520 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2534 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 30:
-#line 503 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 505 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[-1].symbol);
if ((yyval.symbol)->const_int_set) {
(yyval.symbol)->base_type = gi_source_basic_type_new ("guint64");
}
}
-#line 2531 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2545 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 31:
-#line 510 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 512 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2539 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2553 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 32:
-#line 514 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 516 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
ctype_free ((yyvsp[-1].ctype));
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2548 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2562 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 33:
-#line 522 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 524 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.unary_operator) = UNARY_ADDRESS_OF;
}
-#line 2556 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2570 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 34:
-#line 526 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 528 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.unary_operator) = UNARY_POINTER_INDIRECTION;
}
-#line 2564 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2578 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 35:
-#line 530 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 532 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.unary_operator) = UNARY_PLUS;
}
-#line 2572 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2586 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 36:
-#line 534 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 536 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.unary_operator) = UNARY_MINUS;
}
-#line 2580 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2594 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 37:
-#line 538 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 540 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.unary_operator) = UNARY_BITWISE_COMPLEMENT;
}
-#line 2588 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2602 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 38:
-#line 542 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 544 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.unary_operator) = UNARY_LOGICAL_NEGATION;
}
-#line 2596 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2610 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 40:
-#line 550 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 552 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[0].symbol);
if ((yyval.symbol)->const_int_set || (yyval.symbol)->const_double_set || (yyval.symbol)->const_string != NULL) {
ctype_free ((yyvsp[-2].ctype));
}
}
-#line 2609 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2623 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 42:
-#line 563 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 565 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int * (yyvsp[0].symbol)->const_int;
}
-#line 2619 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2633 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 43:
-#line 569 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 571 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int / (yyvsp[0].symbol)->const_int;
}
}
-#line 2631 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2645 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 44:
-#line 577 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 579 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int % (yyvsp[0].symbol)->const_int;
}
}
-#line 2643 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2657 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 46:
-#line 589 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 591 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int + (yyvsp[0].symbol)->const_int;
}
-#line 2653 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2667 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 47:
-#line 595 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 597 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int - (yyvsp[0].symbol)->const_int;
}
-#line 2663 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2677 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 49:
-#line 605 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 607 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
*/
is_bitfield = TRUE;
}
-#line 2679 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2693 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 50:
-#line 617 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 619 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int >> (yyvsp[0].symbol)->const_int;
}
-#line 2689 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2703 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 52:
-#line 627 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 629 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int < (yyvsp[0].symbol)->const_int;
}
-#line 2699 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2713 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 53:
-#line 633 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 635 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int > (yyvsp[0].symbol)->const_int;
}
-#line 2709 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2723 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 54:
-#line 639 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 641 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int <= (yyvsp[0].symbol)->const_int;
}
-#line 2719 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2733 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 55:
-#line 645 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 647 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int >= (yyvsp[0].symbol)->const_int;
}
-#line 2729 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2743 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 57:
-#line 655 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 657 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int == (yyvsp[0].symbol)->const_int;
}
-#line 2739 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2753 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 58:
-#line 661 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 663 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int != (yyvsp[0].symbol)->const_int;
}
-#line 2749 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2763 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 60:
-#line 671 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 673 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int & (yyvsp[0].symbol)->const_int;
}
-#line 2759 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2773 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 62:
-#line 681 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 683 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int ^ (yyvsp[0].symbol)->const_int;
}
-#line 2769 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2783 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 64:
-#line 691 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 693 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int | (yyvsp[0].symbol)->const_int;
}
-#line 2779 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2793 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 66:
-#line 701 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 703 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
gi_source_symbol_get_const_boolean ((yyvsp[-2].symbol)) &&
gi_source_symbol_get_const_boolean ((yyvsp[0].symbol));
}
-#line 2791 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2805 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 68:
-#line 713 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 715 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
gi_source_symbol_get_const_boolean ((yyvsp[-2].symbol)) ||
gi_source_symbol_get_const_boolean ((yyvsp[0].symbol));
}
-#line 2803 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2817 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 70:
-#line 725 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 727 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_get_const_boolean ((yyvsp[-4].symbol)) ? (yyvsp[-2].symbol) : (yyvsp[0].symbol);
}
-#line 2811 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2825 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 72:
-#line 733 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 735 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2819 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2833 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 86:
-#line 756 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 758 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 2827 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2841 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 88:
-#line 769 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 771 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GList *l;
for (l = (yyvsp[-1].list); l != NULL; l = l->next) {
}
ctype_free ((yyvsp[-2].ctype));
}
-#line 2849 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2863 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
case 89:
-#line 787 "giscanner/scannerparser.y" /* yacc.c:1645 */
+#line 789 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
ctype_free ((yyvsp[-1].ctype));
}
-#line 2857 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2871 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 90:
-#line 794 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 91:
+#line 799 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = (yyvsp[0].ctype);
(yyval.ctype)->storage_class_specifier |= (yyvsp[-1].storage_class_specifier);
}
-#line 2866 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2880 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 91:
-#line 799 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 92:
+#line 804 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
(yyval.ctype)->storage_class_specifier |= (yyvsp[0].storage_class_specifier);
}
-#line 2875 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2889 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 92:
-#line 804 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 93:
+#line 809 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = (yyvsp[-1].ctype);
/* combine basic types like unsigned int and long long */
set_or_merge_base_type ((yyvsp[-1].ctype), (yyvsp[0].ctype));
}
}
-#line 2892 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2906 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 94:
-#line 818 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 95:
+#line 823 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = (yyvsp[0].ctype);
(yyval.ctype)->type_qualifier |= (yyvsp[-1].type_qualifier);
}
-#line 2901 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2915 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 95:
-#line 823 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 96:
+#line 828 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
(yyval.ctype)->type_qualifier |= (yyvsp[0].type_qualifier);
}
-#line 2910 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2924 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 96:
-#line 828 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 97:
+#line 833 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = (yyvsp[0].ctype);
(yyval.ctype)->function_specifier |= (yyvsp[-1].function_specifier);
}
-#line 2919 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2933 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 97:
-#line 833 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 98:
+#line 838 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
(yyval.ctype)->function_specifier |= (yyvsp[0].function_specifier);
}
-#line 2928 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2942 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 98:
-#line 841 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 99:
+#line 846 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.list) = g_list_append (NULL, (yyvsp[0].symbol));
}
-#line 2936 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2950 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 99:
-#line 845 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 100:
+#line 850 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.list) = g_list_append ((yyvsp[-2].list), (yyvsp[0].symbol));
}
-#line 2944 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2958 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 102:
-#line 857 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 103:
+#line 862 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_TYPEDEF;
}
-#line 2952 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2966 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 103:
-#line 861 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 104:
+#line 866 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_EXTERN;
}
-#line 2960 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2974 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 104:
-#line 865 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 105:
+#line 870 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_STATIC;
}
-#line 2968 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2982 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 105:
-#line 869 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 106:
+#line 874 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_AUTO;
}
-#line 2976 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2990 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 106:
-#line 873 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 107:
+#line 878 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_REGISTER;
}
-#line 2984 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 2998 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 107:
-#line 877 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 108:
+#line 882 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_THREAD_LOCAL;
}
-#line 2992 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3006 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 108:
-#line 884 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 109:
+#line 889 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.str) = g_strdup (yytext);
}
-#line 3000 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3014 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 109:
-#line 891 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 110:
+#line 896 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_VOID);
}
-#line 3008 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3022 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 110:
-#line 895 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 111:
+#line 900 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_basic_type_new ("signed");
}
-#line 3016 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3030 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 111:
-#line 899 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 112:
+#line 904 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_basic_type_new ("unsigned");
}
-#line 3024 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3038 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 112:
-#line 903 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 113:
+#line 908 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_BASIC_TYPE);
(yyval.ctype)->name = (yyvsp[0].str);
}
-#line 3033 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3047 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 115:
-#line 910 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 116:
+#line 915 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_typedef_new ((yyvsp[0].str));
g_free ((yyvsp[0].str));
}
-#line 3042 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3056 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 116:
-#line 918 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 117:
+#line 923 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceSymbol *sym;
(yyval.ctype) = (yyvsp[-4].ctype);
gi_source_scanner_add_symbol (scanner, sym);
gi_source_symbol_unref (sym);
}
-#line 3066 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3080 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 117:
-#line 938 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 118:
+#line 943 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = (yyvsp[-3].ctype);
(yyval.ctype)->child_list = (yyvsp[-1].list);
}
-#line 3075 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3089 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 118:
-#line 943 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 119:
+#line 948 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = (yyvsp[-1].ctype);
(yyval.ctype)->name = (yyvsp[0].str);
}
-#line 3084 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3098 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 119:
-#line 951 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 120:
+#line 956 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
scanner->private = FALSE;
(yyval.ctype) = gi_source_struct_new (NULL);
}
-#line 3093 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3107 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 120:
-#line 956 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 121:
+#line 961 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
scanner->private = FALSE;
(yyval.ctype) = gi_source_union_new (NULL);
}
-#line 3102 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3116 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 122:
-#line 965 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 123:
+#line 970 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.list) = g_list_concat ((yyvsp[-1].list), (yyvsp[0].list));
}
-#line 3110 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3124 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 123:
-#line 972 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 124:
+#line 977 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GList *l;
(yyval.list) = NULL;
}
ctype_free ((yyvsp[-2].ctype));
}
-#line 3131 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3145 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 124:
-#line 992 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 125:
+#line 997 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = (yyvsp[-1].ctype);
set_or_merge_base_type ((yyvsp[-1].ctype), (yyvsp[0].ctype));
}
-#line 3140 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3154 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 126:
-#line 998 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 127:
+#line 1003 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = (yyvsp[0].ctype);
(yyval.ctype)->type_qualifier |= (yyvsp[-1].type_qualifier);
}
-#line 3149 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3163 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 127:
-#line 1003 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 128:
+#line 1008 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
(yyval.ctype)->type_qualifier |= (yyvsp[0].type_qualifier);
}
-#line 3158 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3172 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 128:
-#line 1011 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 129:
+#line 1016 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.list) = g_list_append (NULL, (yyvsp[0].symbol));
}
-#line 3166 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3180 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 129:
-#line 1015 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 130:
+#line 1020 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.list) = g_list_append ((yyvsp[-2].list), (yyvsp[0].symbol));
}
-#line 3174 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3188 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 130:
-#line 1022 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 131:
+#line 1027 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 3182 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3196 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 132:
-#line 1027 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 133:
+#line 1032 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
-#line 3190 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3204 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 133:
-#line 1031 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 134:
+#line 1036 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[-2].symbol);
if ((yyvsp[0].symbol)->const_int_set) {
(yyval.symbol)->const_int = (yyvsp[0].symbol)->const_int;
}
}
-#line 3202 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3216 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 134:
-#line 1042 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 135:
+#line 1047 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_enum_new ((yyvsp[-3].str));
(yyval.ctype)->child_list = (yyvsp[-1].list);
(yyval.ctype)->is_bitfield = is_bitfield || scanner->flags;
last_enum_value = -1;
}
-#line 3213 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3227 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 135:
-#line 1049 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 136:
+#line 1054 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_enum_new (NULL);
(yyval.ctype)->child_list = (yyvsp[-1].list);
(yyval.ctype)->is_bitfield = is_bitfield || scanner->flags;
last_enum_value = -1;
}
-#line 3224 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3238 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 136:
-#line 1056 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 137:
+#line 1061 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_enum_new ((yyvsp[-4].str));
(yyval.ctype)->child_list = (yyvsp[-2].list);
(yyval.ctype)->is_bitfield = is_bitfield || scanner->flags;
last_enum_value = -1;
}
-#line 3235 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3249 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 137:
-#line 1063 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 138:
+#line 1068 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_enum_new (NULL);
(yyval.ctype)->child_list = (yyvsp[-2].list);
(yyval.ctype)->is_bitfield = is_bitfield || scanner->flags;
last_enum_value = -1;
}
-#line 3246 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3260 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 138:
-#line 1070 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 139:
+#line 1075 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_enum_new ((yyvsp[0].str));
}
-#line 3254 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3268 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 139:
-#line 1077 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 140:
+#line 1082 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
scanner->flags = FALSE;
scanner->private = FALSE;
}
-#line 3263 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3277 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 140:
-#line 1085 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 141:
+#line 1090 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
/* reset flag before the first enum value */
is_bitfield = FALSE;
}
-#line 3272 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3286 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 141:
-#line 1090 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 142:
+#line 1095 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyvsp[0].symbol)->private = scanner->private;
(yyval.list) = g_list_append (NULL, (yyvsp[0].symbol));
}
-#line 3281 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3295 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 142:
-#line 1095 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 143:
+#line 1100 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyvsp[0].symbol)->private = scanner->private;
(yyval.list) = g_list_append ((yyvsp[-2].list), (yyvsp[0].symbol));
}
-#line 3290 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3304 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 143:
-#line 1103 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 144:
+#line 1108 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_OBJECT, scanner->current_file, lineno);
(yyval.symbol)->ident = (yyvsp[0].str);
(yyval.symbol)->const_int = ++last_enum_value;
g_hash_table_insert (scanner->const_table, g_strdup ((yyval.symbol)->ident), gi_source_symbol_ref ((yyval.symbol)));
}
-#line 3302 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3316 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 144:
-#line 1111 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 145:
+#line 1116 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_OBJECT, scanner->current_file, lineno);
(yyval.symbol)->ident = (yyvsp[-2].str);
last_enum_value = (yyval.symbol)->const_int;
g_hash_table_insert (scanner->const_table, g_strdup ((yyval.symbol)->ident), gi_source_symbol_ref ((yyval.symbol)));
}
-#line 3315 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3329 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 145:
-#line 1123 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 146:
+#line 1128 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.type_qualifier) = TYPE_QUALIFIER_CONST;
}
-#line 3323 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3337 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 146:
-#line 1127 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 147:
+#line 1132 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.type_qualifier) = TYPE_QUALIFIER_RESTRICT;
}
-#line 3331 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3345 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 147:
-#line 1131 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 148:
+#line 1136 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.type_qualifier) = TYPE_QUALIFIER_EXTENSION;
}
-#line 3339 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3353 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 148:
-#line 1135 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 149:
+#line 1140 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.type_qualifier) = TYPE_QUALIFIER_VOLATILE;
}
-#line 3347 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3361 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 149:
-#line 1142 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 150:
+#line 1147 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.function_specifier) = FUNCTION_INLINE;
}
-#line 3355 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3369 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 150:
-#line 1149 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 151:
+#line 1154 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[0].symbol);
gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[-1].ctype));
}
-#line 3364 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3378 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 152:
-#line 1158 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 153:
+#line 1163 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
(yyval.symbol)->ident = (yyvsp[0].str);
}
-#line 3373 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3387 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 153:
-#line 1163 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 154:
+#line 1168 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[-1].symbol);
}
-#line 3381 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3395 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 154:
-#line 1167 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 155:
+#line 1172 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[-3].symbol);
gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[-1].symbol)));
}
-#line 3390 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3404 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 155:
-#line 1172 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 156:
+#line 1177 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[-2].symbol);
gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new (NULL));
}
-#line 3399 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3413 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 156:
-#line 1177 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 157:
+#line 1182 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceType *func = gi_source_function_new ();
// ignore (void) parameter list
(yyval.symbol) = (yyvsp[-3].symbol);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
-#line 3413 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3427 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 157:
-#line 1187 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 158:
+#line 1192 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceType *func = gi_source_function_new ();
func->child_list = (yyvsp[-1].list);
(yyval.symbol) = (yyvsp[-3].symbol);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
-#line 3424 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3438 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 158:
-#line 1194 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 159:
+#line 1199 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceType *func = gi_source_function_new ();
(yyval.symbol) = (yyvsp[-2].symbol);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
-#line 3434 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3448 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 159:
-#line 1203 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 160:
+#line 1208 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_pointer_new (NULL);
(yyval.ctype)->type_qualifier = (yyvsp[0].type_qualifier);
}
-#line 3443 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3457 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 160:
-#line 1208 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 161:
+#line 1213 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.ctype) = gi_source_pointer_new (NULL);
}
-#line 3451 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3465 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 161:
-#line 1212 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 162:
+#line 1217 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceType **base = &((yyvsp[0].ctype)->base_type);
(*base)->type_qualifier = (yyvsp[-1].type_qualifier);
(yyval.ctype) = (yyvsp[0].ctype);
}
-#line 3466 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3480 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 162:
-#line 1223 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 163:
+#line 1228 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceType **base = &((yyvsp[0].ctype)->base_type);
*base = gi_source_pointer_new (NULL);
(yyval.ctype) = (yyvsp[0].ctype);
}
-#line 3480 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3494 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 164:
-#line 1237 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 165:
+#line 1242 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.type_qualifier) = (yyvsp[-1].type_qualifier) | (yyvsp[0].type_qualifier);
}
-#line 3488 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3502 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 165:
-#line 1244 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 166:
+#line 1249 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.list) = g_list_append (NULL, (yyvsp[0].symbol));
}
-#line 3496 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3510 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 166:
-#line 1248 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 167:
+#line 1253 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.list) = g_list_append ((yyvsp[-2].list), (yyvsp[0].symbol));
}
-#line 3504 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3518 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 167:
-#line 1255 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 168:
+#line 1260 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[0].symbol);
gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[-1].ctype));
}
-#line 3513 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3527 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 168:
-#line 1260 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 169:
+#line 1265 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[0].symbol);
gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[-1].ctype));
}
-#line 3522 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3536 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 169:
-#line 1265 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 170:
+#line 1270 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
(yyval.symbol)->base_type = (yyvsp[0].ctype);
}
-#line 3531 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3545 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 170:
-#line 1270 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 171:
+#line 1275 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_ELLIPSIS, scanner->current_file, lineno);
}
-#line 3539 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3553 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 171:
-#line 1277 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 172:
+#line 1282 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceSymbol *sym = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
sym->ident = (yyvsp[0].str);
(yyval.list) = g_list_append (NULL, sym);
}
-#line 3549 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3563 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 172:
-#line 1283 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 173:
+#line 1288 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceSymbol *sym = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
sym->ident = (yyvsp[0].str);
(yyval.list) = g_list_append ((yyvsp[-2].list), sym);
}
-#line 3559 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3573 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 175:
-#line 1297 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 176:
+#line 1302 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[0].ctype));
}
-#line 3568 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3582 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 177:
-#line 1303 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 178:
+#line 1308 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[0].symbol);
gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[-1].ctype));
}
-#line 3577 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3591 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 178:
-#line 1311 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 179:
+#line 1316 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[-1].symbol);
}
-#line 3585 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3599 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 179:
-#line 1315 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 180:
+#line 1320 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new (NULL));
}
-#line 3594 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3608 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 180:
-#line 1320 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 181:
+#line 1325 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[-1].symbol)));
}
-#line 3603 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3617 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 181:
-#line 1325 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 182:
+#line 1330 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[-2].symbol);
gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new (NULL));
}
-#line 3612 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3626 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 182:
-#line 1330 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 183:
+#line 1335 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.symbol) = (yyvsp[-3].symbol);
gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[-1].symbol)));
}
-#line 3621 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3635 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 183:
-#line 1335 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 184:
+#line 1340 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceType *func = gi_source_function_new ();
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
-#line 3631 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3645 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 184:
-#line 1341 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 185:
+#line 1346 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceType *func = gi_source_function_new ();
// ignore (void) parameter list
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
-#line 3645 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3659 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 185:
-#line 1351 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 186:
+#line 1356 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceType *func = gi_source_function_new ();
(yyval.symbol) = (yyvsp[-2].symbol);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
-#line 3655 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3669 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 186:
-#line 1357 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 187:
+#line 1362 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
GISourceType *func = gi_source_function_new ();
// ignore (void) parameter list
(yyval.symbol) = (yyvsp[-3].symbol);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
-#line 3669 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3683 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 187:
-#line 1370 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 188:
+#line 1375 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.str) = g_strdup (yytext);
}
-#line 3677 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3691 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 237:
-#line 1477 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 239:
+#line 1483 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.str) = g_strdup (yytext + strlen ("#define "));
}
-#line 3685 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3699 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 238:
-#line 1484 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 240:
+#line 1490 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
(yyval.str) = g_strdup (yytext + strlen ("#define "));
}
-#line 3693 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3707 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 240:
-#line 1495 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 242:
+#line 1501 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
if ((yyvsp[0].symbol)->const_int_set || (yyvsp[0].symbol)->const_boolean_set || (yyvsp[0].symbol)->const_double_set || (yyvsp[0].symbol)->const_string != NULL) {
GISourceSymbol *macro = gi_source_symbol_copy ((yyvsp[0].symbol));
gi_source_symbol_unref ((yyvsp[0].symbol));
}
}
-#line 3711 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3725 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 241:
-#line 1512 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 243:
+#line 1518 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
push_conditional (scanner, FOR_GI_SCANNER);
update_skipping (scanner);
}
-#line 3720 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3734 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 242:
-#line 1517 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 244:
+#line 1523 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
push_conditional (scanner, NOT_GI_SCANNER);
update_skipping (scanner);
}
-#line 3729 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3743 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 243:
-#line 1522 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 245:
+#line 1528 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
warn_if_cond_has_gi_scanner (scanner, yytext);
push_conditional (scanner, IRRELEVANT);
}
-#line 3738 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3752 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 244:
-#line 1527 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 246:
+#line 1533 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
warn_if_cond_has_gi_scanner (scanner, yytext);
push_conditional (scanner, IRRELEVANT);
}
-#line 3747 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3761 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 245:
-#line 1532 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 247:
+#line 1538 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
warn_if_cond_has_gi_scanner (scanner, yytext);
push_conditional (scanner, IRRELEVANT);
}
-#line 3756 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3770 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 246:
-#line 1537 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 248:
+#line 1543 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
warn_if_cond_has_gi_scanner (scanner, yytext);
pop_conditional (scanner);
push_conditional (scanner, IRRELEVANT);
update_skipping (scanner);
}
-#line 3767 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3781 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 247:
-#line 1544 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 249:
+#line 1550 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
toggle_conditional (scanner);
update_skipping (scanner);
}
-#line 3776 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3790 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
- case 248:
-#line 1549 "giscanner/scannerparser.y" /* yacc.c:1645 */
+ case 250:
+#line 1555 "giscanner/scannerparser.y" /* yacc.c:1645 */
{
pop_conditional (scanner);
update_skipping (scanner);
}
-#line 3785 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3799 "giscanner/scannerparser.c" /* yacc.c:1645 */
break;
-#line 3789 "giscanner/scannerparser.c" /* yacc.c:1645 */
+#line 3803 "giscanner/scannerparser.c" /* yacc.c:1645 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
#endif
return yyresult;
}
-#line 1562 "giscanner/scannerparser.y" /* yacc.c:1903 */
+#line 1568 "giscanner/scannerparser.y" /* yacc.c:1903 */
static void
yyerror (GISourceScanner *scanner, const char *s)
* have valid expressions */
if (!scanner->macro_scan)
{
- fprintf(stderr, "%s:%d: %s in '%s' at '%s'\n",
- g_file_get_parse_name (scanner->current_file), lineno, s, linebuf, yytext);
+ gchar *error = g_strdup_printf ("%s:%d: %s in '%s' at '%s'",
+ g_file_get_parse_name (scanner->current_file), lineno, s, linebuf, yytext);
+ g_ptr_array_add (scanner->errors, error);
}
}
return c;
}
+static gboolean
+parse_file (GISourceScanner *scanner, FILE *file)
+{
+ g_return_val_if_fail (file != NULL, FALSE);
+
+ lineno = 1;
+ yyin = file;
+ yyparse (scanner);
+ yyin = NULL;
+
+ return TRUE;
+}
+
void
gi_source_scanner_parse_macros (GISourceScanner *scanner, GList *filenames)
{
}
rewind (fmacros);
- gi_source_scanner_parse_file (scanner, fmacros);
+ parse_file (scanner, fmacros);
fclose (fmacros);
g_unlink (tmp_name);
}
gboolean
-gi_source_scanner_parse_file (GISourceScanner *scanner, FILE *file)
+gi_source_scanner_parse_file (GISourceScanner *scanner, const gchar *filename)
{
- g_return_val_if_fail (file != NULL, FALSE);
+ FILE *file;
+ gboolean result;
- lineno = 1;
- yyin = file;
- yyparse (scanner);
- yyin = NULL;
+ file = g_fopen (filename, "r");
+ result = parse_file (scanner, file);
+ fclose (file);
- return TRUE;
+ return result;
}
gboolean
gi_source_scanner_lex_filename (GISourceScanner *scanner, const gchar *filename)
{
lineno = 1;
- yyin = fopen (filename, "r");
+ yyin = g_fopen (filename, "r");
while (yylex (scanner) != YYEOF)
;
union YYSTYPE
{
-#line 234 "giscanner/scannerparser.y" /* yacc.c:1906 */
+#line 236 "giscanner/scannerparser.y" /* yacc.c:1906 */
char *str;
GList *list;
if (type == 0)
{
gchar *filename = g_file_get_path (scanner->current_file);
- fprintf (stderr, "%s:%d: mismatched %s", filename, lineno, yytext);
+ gchar *error = g_strdup_printf ("%s:%d: mismatched %s", filename, lineno, yytext);
+ g_ptr_array_add (scanner->errors, error);
g_free (filename);
}
if (strstr (text, "__GI_SCANNER__"))
{
gchar *filename = g_file_get_path (scanner->current_file);
- fprintf (stderr, "%s:%d: the __GI_SCANNER__ constant should only be used with simple #ifdef or #endif: %s",
+ gchar *error = g_strdup_printf ("%s:%d: the __GI_SCANNER__ constant should only be used with simple #ifdef or #endif: %s",
filename, lineno, text);
+ g_ptr_array_add (scanner->errors, error);
g_free (filename);
}
}
}
;
+empty_declaration
+ : ';'
+
declaration_specifiers
: storage_class_specifier declaration_specifiers
{
external_declaration
: function_definition
| declaration
+ | empty_declaration
| macro
;
* have valid expressions */
if (!scanner->macro_scan)
{
- fprintf(stderr, "%s:%d: %s in '%s' at '%s'\n",
- g_file_get_parse_name (scanner->current_file), lineno, s, linebuf, yytext);
+ gchar *error = g_strdup_printf ("%s:%d: %s in '%s' at '%s'",
+ g_file_get_parse_name (scanner->current_file), lineno, s, linebuf, yytext);
+ g_ptr_array_add (scanner->errors, error);
}
}
return c;
}
+static gboolean
+parse_file (GISourceScanner *scanner, FILE *file)
+{
+ g_return_val_if_fail (file != NULL, FALSE);
+
+ lineno = 1;
+ yyin = file;
+ yyparse (scanner);
+ yyin = NULL;
+
+ return TRUE;
+}
+
void
gi_source_scanner_parse_macros (GISourceScanner *scanner, GList *filenames)
{
}
rewind (fmacros);
- gi_source_scanner_parse_file (scanner, fmacros);
+ parse_file (scanner, fmacros);
fclose (fmacros);
g_unlink (tmp_name);
}
gboolean
-gi_source_scanner_parse_file (GISourceScanner *scanner, FILE *file)
+gi_source_scanner_parse_file (GISourceScanner *scanner, const gchar *filename)
{
- g_return_val_if_fail (file != NULL, FALSE);
+ FILE *file;
+ gboolean result;
- lineno = 1;
- yyin = file;
- yyparse (scanner);
- yyin = NULL;
+ file = g_fopen (filename, "r");
+ result = parse_file (scanner, file);
+ fclose (file);
- return TRUE;
+ return result;
}
gboolean
gi_source_scanner_lex_filename (GISourceScanner *scanner, const gchar *filename)
{
lineno = 1;
- yyin = fopen (filename, "r");
+ yyin = g_fopen (filename, "r");
while (yylex (scanner) != YYEOF)
;
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import re
from . import ast
from .utils import to_underscores
# 02110-1301, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import platform
import re
return func;
}
+static void
+gi_source_comment_free (GISourceComment *comment)
+{
+ g_free (comment->comment);
+ g_free (comment->filename);
+ g_slice_free (GISourceComment, comment);
+}
+
GISourceScanner *
gi_source_scanner_new (void)
{
(GDestroyNotify) gi_source_symbol_unref);
scanner->files = g_hash_table_new_full (g_file_hash, (GEqualFunc)g_file_equal,
g_object_unref, NULL);
+ scanner->symbols = g_ptr_array_new_with_free_func ((GDestroyNotify) gi_source_comment_free);
+ scanner->comments = g_ptr_array_new_with_free_func ((GDestroyNotify) gi_source_symbol_unref);
+ scanner->errors = g_ptr_array_new_with_free_func (g_free);
g_queue_init (&scanner->conditionals);
return scanner;
}
-static void
-gi_source_comment_free (GISourceComment *comment)
-{
- g_free (comment->comment);
- g_free (comment->filename);
- g_slice_free (GISourceComment, comment);
-}
-
void
gi_source_scanner_free (GISourceScanner *scanner)
{
g_hash_table_destroy (scanner->typedef_table);
g_hash_table_destroy (scanner->const_table);
- g_slist_foreach (scanner->comments, (GFunc)(void *)gi_source_comment_free, NULL);
- g_slist_free (scanner->comments);
- g_slist_foreach (scanner->symbols, (GFunc)(void *)gi_source_symbol_unref, NULL);
- g_slist_free (scanner->symbols);
+ g_ptr_array_free (scanner->symbols, TRUE);
+ g_ptr_array_free (scanner->comments, TRUE);
+ g_ptr_array_free (scanner->errors, TRUE);
g_hash_table_unref (scanner->files);
g_assert (scanner->current_file);
if (scanner->macro_scan || g_hash_table_contains (scanner->files, scanner->current_file))
- scanner->symbols = g_slist_prepend (scanner->symbols,
- gi_source_symbol_ref (symbol));
+ g_ptr_array_add (scanner->symbols, gi_source_symbol_ref (symbol));
g_assert (symbol->source_filename != NULL);
return;
}
- scanner->comments = g_slist_prepend (scanner->comments,
- comment);
+ g_ptr_array_add (scanner->comments, comment);
}
/**
* gi_source_scanner_get_symbols:
* @scanner: scanner instance
*
- * Returns: (transfer container): List of GISourceSymbol.
- * Free resulting list with g_slist_free().
+ * Returns: (transfer none): Array of GISourceSymbol.
*/
-GSList *
+GPtrArray *
gi_source_scanner_get_symbols (GISourceScanner *scanner)
{
- return g_slist_reverse (g_slist_copy (scanner->symbols));
+ return scanner->symbols;
+}
+
+/**
+ * gi_source_scanner_get_errors:
+ * @scanner: scanner instance
+ *
+ * Returns: (transfer none): Array of strings.
+ */
+GPtrArray *
+gi_source_scanner_get_errors (GISourceScanner *scanner)
+{
+ return scanner->errors;
}
/**
* gi_source_scanner_get_comments:
* @scanner: scanner instance
*
- * Returns: (transfer container): List of GISourceComment.
- * Free resulting list with g_slist_free().
+ * Returns: (transfer none): Array of GISourceComment.
*/
-GSList *
+GPtrArray *
gi_source_scanner_get_comments(GISourceScanner *scanner)
{
- return g_slist_reverse (g_slist_copy (scanner->comments));
+ return scanner->comments;
}
gboolean macro_scan;
gboolean private; /* set by gtk-doc comment <private>/<public> */
gboolean flags; /* set by gtk-doc comment <flags> */
- GSList *symbols;
+ GPtrArray *symbols; /* GISourceSymbol */
GHashTable *files;
- GSList *comments; /* _GIComment */
+ GPtrArray *comments; /* GISourceComment */
GHashTable *typedef_table;
GHashTable *const_table;
gboolean skipping;
GQueue conditionals;
+ GPtrArray *errors;
};
struct _GISourceSymbol
gboolean gi_source_scanner_lex_filename (GISourceScanner *igenerator,
const gchar *filename);
gboolean gi_source_scanner_parse_file (GISourceScanner *igenerator,
- FILE *file);
+ const gchar *filename);
void gi_source_scanner_parse_macros (GISourceScanner *scanner,
GList *filenames);
void gi_source_scanner_set_macro_scan (GISourceScanner *scanner,
gboolean macro_scan);
-GSList * gi_source_scanner_get_symbols (GISourceScanner *scanner);
-GSList * gi_source_scanner_get_comments (GISourceScanner *scanner);
+GPtrArray * gi_source_scanner_get_symbols (GISourceScanner *scanner);
+GPtrArray * gi_source_scanner_get_comments (GISourceScanner *scanner);
+GPtrArray * gi_source_scanner_get_errors (GISourceScanner *scanner);
void gi_source_scanner_free (GISourceScanner *scanner);
GISourceSymbol * gi_source_symbol_new (GISourceSymbolType type, GFile *file, int line);
# Boston, MA 02111-1307, USA.
#
-from __future__ import with_statement
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import tempfile
def get_comments(self):
return self._scanner.get_comments()
+ def get_errors(self):
+ return self._scanner.get_errors()
+
def dump(self):
print('-' * 30)
for symbol in self._scanner.get_symbols():
self._cpp_options)
os.unlink(tmp_name_cpp)
- fp = open(tmpfile_output, 'r')
-
- self._scanner.parse_file(fp.fileno())
- fp.close()
+ self._scanner.parse_file(tmpfile_output)
os.unlink(tmpfile_output)
def _write_preprocess_src(self, fp, defines, undefs, filenames):
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
-import sys
+from io import StringIO
from . import ast
from .codegen import CCodeGenerator
-if sys.version_info.major < 3:
- from StringIO import StringIO
-else:
- from io import StringIO
-
DEFAULT_C_VALUES = {ast.TYPE_ANY: 'NULL',
ast.TYPE_STRING: '""',
ast.TYPE_FILENAME: '""',
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import sys
import subprocess
def _get_gi_data_dirs(self):
data_dirs = utils.get_system_data_dirs()
data_dirs.append(DATADIR)
+ data_dirs.append(GIRDIR)
if os.name != 'nt':
# For backwards compatibility, was always unconditionally added to the list.
data_dirs.append('/usr/share')
# https://bugzilla.gnome.org/show_bug.cgi?id=755882
if name.endswith('_autoptr'):
return None
- return ast.Alias(name, target, ctype=symbol.ident)
+ node = ast.Alias(name, target, ctype=symbol.ident)
+ node.add_symbol_reference(symbol)
else:
raise NotImplementedError(
"symbol '%s' of type %s" % (symbol.ident, ctype_name(ctype)))
# because of different ABI, but this usually works fine,
# so for backward compatibility lets continue for now:
# https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/24#note_92792
- if canonical in ('_Bool', 'bool'):
+ if canonical == '_Bool':
canonical = 'gboolean'
base = canonical
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-import errno
import re
import os
import subprocess
return None
-def makedirs(name, mode=0o777, exist_ok=False):
- """Super-mkdir; create a leaf directory and all intermediate ones. Works like
- mkdir, except that any intermediate path segment (not just the rightmost)
- will be created if it does not exist. If the target directory already
- exists, raise an OSError if exist_ok is False. Otherwise no exception is
- raised. This is recursive.
-
- Note: This function has been imported from Python 3.4 sources and adapted to work
- with Python 2.X because get_user_cache_dir() uses the exist_ok parameter. It can
- be removed again when Python 2.X support is dropped.
- """
- head, tail = os.path.split(name)
- if not tail:
- head, tail = os.path.split(head)
- if head and tail and not os.path.exists(head):
- try:
- makedirs(head, mode, exist_ok)
- except (IOError, OSError) as e:
- # be happy if someone already created the path
- if e.errno != errno.EEXIST:
- raise
- cdir = os.path.curdir
- if isinstance(tail, bytes):
- cdir = os.path.curdir.encode("ascii")
- if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists
- return
- try:
- os.mkdir(name, mode)
- except (IOError, OSError) as e:
- if not exist_ok or e.errno != errno.EEXIST or not os.path.isdir(name):
- raise
-
-
def get_user_cache_dir(dir=None):
'''
This is a Python reimplemention of `g_get_user_cache_dir()` because we don't want to
if dir is not None:
xdg_cache_home = os.path.join(xdg_cache_home, dir)
try:
- makedirs(xdg_cache_home, mode=0o755, exist_ok=True)
+ os.makedirs(xdg_cache_home, mode=0o755, exist_ok=True)
except EnvironmentError:
# Let's fall back to ~/.cache below
pass
if dir is not None:
cachedir = os.path.join(cachedir, dir)
try:
- makedirs(cachedir, mode=0o755, exist_ok=True)
+ os.makedirs(cachedir, mode=0o755, exist_ok=True)
except EnvironmentError:
return None
else:
# Boston, MA 02111-1307, USA.
#
-from __future__ import with_statement
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
-import sys
-
+from io import StringIO
from contextlib import contextmanager
from xml.sax.saxutils import escape, quoteattr
-if sys.version_info.major < 3:
- from StringIO import StringIO
-else:
- from io import StringIO
- unicode = str
-
def _calc_attrs_length(attributes, indent, self_indent):
if indent == -1:
def write_line(self, line='', indent=True, do_escape=False):
if isinstance(line, bytes):
line = line.decode('utf-8')
- assert isinstance(line, unicode)
+ assert isinstance(line, str)
if do_escape:
line = escape(line)
if indent:
Name: gobject-introspection
Description: GObject Introspection
-Version: 1.58.3
+Version: 1.59.1
g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@
g_ir_generate=${bindir}/g-ir-generate@EXEEXT@
gidatadir=${datadir}/gobject-introspection-1.0
-girdir=${datadir}/gir-1.0
+girdir=@GIR_PC_DIR@
typelibdir=${libdir}/girepository-1.0
Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
Name: gobject-introspection
Description: GObject Introspection
-Version: 1.58.3
+Version: 1.59.1
g_ir_scanner=${bindir}/g-ir-scanner
g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@
g_ir_generate=${bindir}/g-ir-generate@EXEEXT@
-girdir=${datadir}/gir-1.0
+girdir=@GIR_PC_DIR@
typelibdir=${libdir}/girepository-1.0
Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
project('gobject-introspection', 'c',
- version: '1.58.3',
+ version: '1.59.1',
meson_version: '>= 0.46.0',
default_options: [
'warning_level=1',
pymod = import('python')
python = pymod.find_installation(get_option('python'))
+python_version = python.language_version()
+python_version_req = '>=3.4'
+if not python_version.version_compare(python_version_req)
+ error('Requires Python @0@, @1@ found.'.format(python_version_req, python_version))
+endif
+
cc = meson.get_compiler('c')
config = configuration_data()
+
+config.set('GI_MAJOR_VERSION', gi_versions[0])
+config.set('GI_MINOR_VERSION', gi_versions[1])
+config.set('GI_MICRO_VERSION', gi_versions[2])
+
config.set_quoted('GIR_SUFFIX', 'gir-1.0')
-config.set_quoted('GIR_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'gir-1.0'))
+gir_dir_prefix = get_option('gir-dir-prefix')
+if gir_dir_prefix == ''
+ gir_dir_prefix = join_paths(get_option('prefix'), get_option('datadir'))
+ gir_dir_pc_prefix = '${datadir}'
+else
+ gir_dir_prefix = join_paths(get_option('prefix'), gir_dir_prefix)
+ gir_dir_pc_prefix = join_paths('${prefix}', gir_dir_prefix)
+endif
+girdir = join_paths(gir_dir_prefix, 'gir-1.0')
+config.set_quoted('GIR_DIR', girdir)
config.set_quoted('GOBJECT_INTROSPECTION_LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
foreach type : ['char', 'short', 'int', 'long']
pkgconfig_conf.set('datarootdir', join_paths('${prefix}', get_option('datadir')))
pkgconfig_conf.set('datadir', '${datarootdir}')
pkgconfig_conf.set('includedir', join_paths('${prefix}', get_option('includedir')))
+pkgconfig_conf.set('GIR_PC_DIR', join_paths(gir_dir_pc_prefix, 'gir-1.0'))
if host_system == 'windows' or host_system == 'cygwin'
pkgconfig_conf.set('EXEEXT', '.exe')
else
option('python', type: 'string', value: 'python3',
description: 'Path or name of the Python interpreter to build for'
)
+
+option('gir-dir-prefix', type: 'string',
+ description: 'Intermediate prefix for gir installation under ${prefix}'
+)
# e.g.:
# ./update-glib-annotations.py ../../glib ../../glib/_build
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import sys
if __name__ == '__main__':
- if sys.version_info < (3, 0):
- print('Sorry, update-gtkdoc-tests.py requires Python 3.x')
- sys.exit(1)
-
gi_tests = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'tests', 'scanner', 'annotationparser', 'gtkdoc'))
gtkdoc_tests = None
writer = GtkDocCommentBlockWriter(indent=True)
logger.enable_warnings((ERROR, FATAL))
- with io.open(path, 'rU') as f:
+ with io.open(path, 'r') as f:
lines = f.readlines()
chunks = []
+++ /dev/null
-#!/usr/bin/env python
-# Automakes a release preparation for a post-release project
-# * Create a git tag
-# * Bump version in configure.ac and commit it
-
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
-import re
-import os
-import sys
-import subprocess
-
-micro_version_re = re.compile('m4_define.*gi_micro_version, ([0-9]+)')
-micro_version_replace = 'm4_define(gi_micro_version, %d)\n'
-
-def _extract_config_log_variable(name):
- f = open('config.log')
- keystart = name + '=\''
- for line in f:
- if line.startswith(keystart):
- return line[len(keystart):-2]
- f.close()
- fatal("Failed to find '%s' in config.status" % (name, ))
-
-if not os.path.isfile('config.log'):
- fatal("Couldn't find config.log; did you run configure?")
-package = _extract_config_log_variable('PACKAGE_TARNAME')
-version = _extract_config_log_variable('VERSION')
-
-configure_path=os.path.join(os.environ['top_srcdir'], 'configure.ac')
-f = open(configure_path)
-newf = open(configure_path + '.tmp', 'w')
-for line in f:
- m = micro_version_re.match(line)
- if not m:
- newf.write(line)
- continue
- v = int(m.group(1))
- newv = v+1
- print("Will update micro version from %s to %s" % (v, newv))
- newf.write(micro_version_replace % (newv, ))
-newf.close()
-
-os.rename(configure_path + '.tmp', configure_path)
-print("Successfully wrote new 'configure.ac' with post-release version bump")
-
-args=['git', 'commit', '-m', "configure: Post-release version bump", configure_path]
-print("Running: %r" % (args, ))
-subprocess.check_call(args)
GIREPO_CFLAGS = @GIREPO_CFLAGS@
GIREPO_LIBS = @GIREPO_LIBS@
GIR_DIR = @GIR_DIR@
+GIR_PC_DIR = @GIR_PC_DIR@
GIR_SUFFIX = @GIR_SUFFIX@
GI_HIDDEN_VISIBILITY_CFLAGS = @GI_HIDDEN_VISIBILITY_CFLAGS@
+GI_MAJOR_VERSION = @GI_MAJOR_VERSION@
+GI_MICRO_VERSION = @GI_MICRO_VERSION@
+GI_MINOR_VERSION = @GI_MINOR_VERSION@
GI_VERSION = @GI_VERSION@
GLIBSRC = @GLIBSRC@
GLIB_CFLAGS = @GLIB_CFLAGS@
install_data(installed_sources, install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0', 'tests'))
+# Generate everything.h and everything.c:
+test_everything_files = custom_target('everything',
+ output: ['everything.h', 'everything.c'],
+ depends: typelibs,
+ command: [
+ python,
+ girscanner,
+ '--generate-typelib-tests=Everything,@OUTPUT0@,@OUTPUT1@',
+ '--function-decoration=_GI_TEST_EXTERN',
+ '--include-first-in-src=config.h',
+ '--include-last-in-header=gitestmacros.h',
+ ]
+)
+
+test_everything_headers = [test_everything_files[0]]
+test_everything_sources = [test_everything_files[1]]
+
+everything_lib = shared_library('everything-1.0',
+ sources: test_everything_sources,
+ include_directories : configinc,
+ c_args: gi_hidden_visibility_cflags,
+ dependencies: [glib_dep, gobject_dep],
+ version: '1.0.0',
+)
+
+gimarshallingtests_lib = shared_library('gimarshallingtests-1.0',
+ sources: test_marshalling_sources,
+ include_directories : configinc,
+ c_args: gi_hidden_visibility_cflags,
+ dependencies: [glib_dep, gobject_dep],
+ version: '1.0.0',
+)
+
+test_gir_files = []
+test_typelibs = []
+
+# FIXME: When using glib as a subproject g-ir-scanner will not discover build
+# flag of dependencies through pkg-config, instead they have to be specified
+# manually like for example in gir/meson.build. This remain to be done here as
+# well. Though, this could work differently altogether. Instead one could
+# generate appropriate pkg-config files and point PKG_CONFIG_PATH to them,
+# leaving all invocations of g-ir-scanner as is.
+if glib_dep.type_name() == 'pkgconfig'
+ test_gir_files += custom_target('gir-everything',
+ input: test_everything_sources + test_everything_headers,
+ output: 'Everything-1.0.gir',
+ depends: [everything_lib] + typelibs,
+ command: [
+ python,
+ girscanner,
+ '--output=@OUTPUT@',
+ '--no-libtool',
+ '--reparse-validate',
+ '--add-include-path', join_paths(meson.source_root(), 'gir'),
+ '--add-include-path', join_paths(meson.build_root(), 'gir'),
+ '--warn-all',
+ '--warn-error',
+ '--namespace=Everything',
+ '--nsversion=1.0',
+ '--include=Gio-2.0',
+ '--library=everything-1.0',
+ '-L', meson.current_build_dir(),
+ '-I', meson.current_source_dir(),
+ '@INPUT@',
+ ]
+ )
+
+ test_gir_files += custom_target('gir-gimarshallingtests',
+ input: test_marshalling_sources + test_marshalling_headers,
+ output: 'GIMarshallingTests-1.0.gir',
+ depends: [gimarshallingtests_lib] + typelibs,
+ command: [
+ python,
+ girscanner,
+ '--output=@OUTPUT@',
+ '--no-libtool',
+ '--reparse-validate',
+ '--add-include-path', join_paths(meson.source_root(), 'gir'),
+ '--add-include-path', join_paths(meson.build_root(), 'gir'),
+ '--warn-all',
+ '--warn-error',
+ '--namespace=GIMarshallingTests',
+ '--symbol-prefix=gi_marshalling_tests',
+ '--nsversion=1.0',
+ '--include=Gio-2.0',
+ '--library=gimarshallingtests-1.0',
+ '-L' + meson.current_build_dir(),
+ '--c-include="tests/gimarshallingtests.h"',
+ '@INPUT@',
+ ]
+ )
+
+ foreach gir : test_gir_files
+ test_typelibs += custom_target('generate-typelib-@0@'.format(gir).underscorify(),
+ input: gir,
+ output: '@BASENAME@.typelib',
+ depends: [gobject_gir, ],
+ command: [gircompiler, '-o', '@OUTPUT@', '@INPUT@',
+ '--includedir', join_paths(meson.build_root(), 'gir'),
+ '--includedir', meson.current_build_dir()
+ ],
+ )
+ endforeach
+
+ # FIXME: Remove? Those tests doesn't actually do anything for typelibs ...
+ foreach typelib : test_typelibs
+ gi_tester = files('gi-tester')
+ typelib_name = typelib.full_path().split('/')[-1]
+ test(
+ 'gi-tester' + typelib_name,
+ python,
+ args: [gi_tester, typelib]
+ )
+ endforeach
+
+endif
+
### TODO: actually test
+subdir('offsets')
subdir('warn')
+subdir('repository')
subdir('scanner')
EXTRA_PROGRAMS += gitestoffsets
nodist_gitestoffsets_SOURCES = gitestoffsets.c
-gitestoffsets_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_srcdir)/tests
+gitestoffsets_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository -I$(top_srcdir)/tests
gitestoffsets_CFLAGS = $(WARN_CFLAGS)
gitestoffsets_LDFLAGS = $(WARN_LDFLAGS)
gitestoffsets_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
EXTRA_DIST += \
gen-gitestoffsets \
- test_offsets.py
+ test_offsets.py \
+ meson.build
BUILT_SOURCES += gitestoffsets.c
CLEANFILES += gitestoffsets.c $(EXTRA_PROGRAMS)
GIREPO_CFLAGS = @GIREPO_CFLAGS@
GIREPO_LIBS = @GIREPO_LIBS@
GIR_DIR = @GIR_DIR@
+GIR_PC_DIR = @GIR_PC_DIR@
GIR_SUFFIX = @GIR_SUFFIX@
GI_HIDDEN_VISIBILITY_CFLAGS = @GI_HIDDEN_VISIBILITY_CFLAGS@
+GI_MAJOR_VERSION = @GI_MAJOR_VERSION@
+GI_MICRO_VERSION = @GI_MICRO_VERSION@
+GI_MINOR_VERSION = @GI_MINOR_VERSION@
GI_VERSION = @GI_VERSION@
GLIBSRC = @GLIBSRC@
GLIB_CFLAGS = @GLIB_CFLAGS@
BUILT_SOURCES = gitestoffsets.c
CLEANFILES = Offsets-1.0.gir Offsets-1.0.typelib liboffsets.la \
gitestoffsets.c $(EXTRA_PROGRAMS)
-EXTRA_DIST = gen-gitestoffsets test_offsets.py
+EXTRA_DIST = gen-gitestoffsets test_offsets.py meson.build
INTROSPECTION_GIRS = Offsets-1.0.gir
############################################################
Offsets_1_0_gir_FILES = offsets.h offsets.c
Offsets_1_0_gir_SCANNERFLAGS = $(INTROSPECTION_SCANNER_ARGS) --warn-all --warn-error -I$(top_srcdir)/tests
nodist_gitestoffsets_SOURCES = gitestoffsets.c
-gitestoffsets_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_srcdir)/tests
+gitestoffsets_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository -I$(top_srcdir)/tests
gitestoffsets_CFLAGS = $(WARN_CFLAGS)
gitestoffsets_LDFLAGS = $(WARN_LDFLAGS)
gitestoffsets_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
# 02110-1301, USA.
#
-from __future__ import print_function
-
# The idea here is that we want to compare offset information two ways:
#
# 1) As generated by the compiler
--- /dev/null
+test_offsets_sources = files('offsets.c')
+test_offsets_headers = files('offsets.h')
+
+test_offsets_inc = include_directories('.', '..')
+
+test_offsets_lib = shared_library('offsets-1.0',
+ sources: test_offsets_sources,
+ include_directories : [configinc, test_offsets_inc],
+ c_args: gi_hidden_visibility_cflags,
+ dependencies: [glib_dep, gobject_dep],
+ version: '1.0.0',
+)
+
+# FIXME: See tests/meson.build
+# FIXME: gitestoffsets.exe fails with STATUS_DLL_NOT_FOUND
+if host_system != 'windows'
+
+ test_offsets_gir = custom_target('gir-offsets',
+ input: test_offsets_sources + test_offsets_headers,
+ output: 'Offsets-1.0.gir',
+ depends: [test_offsets_lib] + typelibs,
+ command: [
+ python,
+ girscanner,
+ '--output=@OUTPUT@',
+ '--no-libtool',
+ '--reparse-validate',
+ '--add-include-path', join_paths(meson.source_root(), 'gir'),
+ '--add-include-path', join_paths(meson.build_root(), 'gir'),
+ '--warn-all',
+ '--warn-error',
+ '--namespace=Offsets',
+ '--nsversion=1.0',
+ '--include=GObject-2.0',
+ '--library=offsets-1.0',
+ '-L', meson.current_build_dir(),
+ '-I', meson.current_source_dir(),
+ '-I', join_paths(meson.source_root(), 'tests'),
+ '@INPUT@',
+ ]
+ )
+
+ test_offsets_typelib = custom_target(
+ 'generate-typelib-offsets',
+ input: test_offsets_gir,
+ output: '@BASENAME@.typelib',
+ depends: [gobject_gir, ],
+ command: [gircompiler, '-o', '@OUTPUT@', '@INPUT@',
+ '--includedir', join_paths(meson.build_root(), 'gir'),
+ '--includedir', meson.current_build_dir()
+ ],
+ )
+
+ gitestoffsets_sources = custom_target(
+ 'generate-gitestoffsets.c',
+ output: ['gitestoffsets.c'],
+ command: [python] + files('gen-gitestoffsets', 'offsets.h'),
+ capture: true,
+ )
+
+ executable('gitestoffsets',
+ gitestoffsets_sources,
+ include_directories : test_offsets_inc,
+ dependencies: [girepo_dep],
+ )
+
+ test_offsets_env = environment()
+ test_offsets_env.set('top_builddir', join_paths(meson.build_root(), 'gir'))
+ test_offsets_env.set('builddir', meson.current_build_dir())
+
+ test('test_offsets.py',
+ python,
+ args: files('test_offsets.py'),
+ env: test_offsets_env,
+ depends: test_offsets_typelib,
+ )
+
+endif
+
EXTRA_PROGRAMS = gitestrepo giteststructinfo gitestthrows gitypelibtest
CLEANFILES = $(EXTRA_PROGRAMS)
+EXTRA_DIST = meson.build
gitestrepo_SOURCES = gitestrepo.c
-gitestrepo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
+gitestrepo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
gitestrepo_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
giteststructinfo_SOURCES = giteststructinfo.c
-giteststructinfo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
+giteststructinfo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
giteststructinfo_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
gitestthrows_SOURCES = gitestthrows.c
-gitestthrows_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
+gitestthrows_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
gitestthrows_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
gitypelibtest_SOURCES = gitypelibtest.c
-gitypelibtest_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
+gitypelibtest_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
gitypelibtest_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
TESTS = gitestrepo giteststructinfo gitestthrows gitypelibtest
GIREPO_CFLAGS = @GIREPO_CFLAGS@
GIREPO_LIBS = @GIREPO_LIBS@
GIR_DIR = @GIR_DIR@
+GIR_PC_DIR = @GIR_PC_DIR@
GIR_SUFFIX = @GIR_SUFFIX@
GI_HIDDEN_VISIBILITY_CFLAGS = @GI_HIDDEN_VISIBILITY_CFLAGS@
+GI_MAJOR_VERSION = @GI_MAJOR_VERSION@
+GI_MICRO_VERSION = @GI_MICRO_VERSION@
+GI_MINOR_VERSION = @GI_MINOR_VERSION@
GI_VERSION = @GI_VERSION@
GLIBSRC = @GLIBSRC@
GLIB_CFLAGS = @GLIB_CFLAGS@
AM_CFLAGS = $(WARN_CFLAGS) $(GOBJECT_CFLAGS)
AM_LDFLAGS = $(WARN_LDFLAGS) -module -avoid-version
CLEANFILES = $(EXTRA_PROGRAMS)
+EXTRA_DIST = meson.build
gitestrepo_SOURCES = gitestrepo.c
-gitestrepo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
+gitestrepo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
gitestrepo_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
giteststructinfo_SOURCES = giteststructinfo.c
-giteststructinfo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
+giteststructinfo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
giteststructinfo_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
gitestthrows_SOURCES = gitestthrows.c
-gitestthrows_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
+gitestthrows_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
gitestthrows_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
gitypelibtest_SOURCES = gitypelibtest.c
-gitypelibtest_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
+gitypelibtest_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
gitypelibtest_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
TESTS_ENVIRONMENT = env GI_TYPELIB_PATH="$(top_builddir):$(top_builddir)/gir:$(top_builddir)/tests:$(top_builddir)/tests/scanner" \
PATH="$(top_builddir)/tests/scanner/.libs:$(PATH)" \
g_assert (strcmp (class_name, return_name) == 0);
}
+static void
+test_type_info_get_name (GIRepository *repo)
+{
+ GIBaseInfo *base;
+ GIVFuncInfo *vfunc;
+ GITypeInfo *typeinfo;
+
+ base = g_irepository_find_by_name (repo, "Gio", "File");
+ g_assert_nonnull (base);
+ g_assert_true (GI_IS_INTERFACE_INFO (base));
+ vfunc = g_interface_info_find_vfunc ((GIInterfaceInfo*)base, "read_async");
+ g_assert_nonnull (vfunc);
+ g_base_info_unref ((GIBaseInfo*)base);
+
+ typeinfo = g_callable_info_get_return_type (vfunc);
+ g_assert_nonnull (typeinfo);
+ g_base_info_unref ((GIBaseInfo*)vfunc);
+
+ /* https://gitlab.gnome.org/GNOME/gobject-introspection/issues/96 */
+ g_assert_null (g_base_info_get_name (typeinfo));
+ g_base_info_unref ((GIBaseInfo*)typeinfo);
+}
+
int
main(int argc, char **argv)
g_assert (strcmp (g_base_info_get_name ((GIBaseInfo*)invoker), "get_display") == 0);
}
+ test_type_info_get_name (repo);
+
/* Error quark tests */
errorinfo = g_irepository_find_by_error_domain (repo, G_RESOLVER_ERROR);
g_assert (errorinfo != NULL);
--- /dev/null
+repository_tests = [
+ 'gitestrepo',
+ 'giteststructinfo',
+ 'gitestthrows',
+ # FIXME: Requires Regress typelib which is not yet ported to meson.
+ # 'gitypelibtest',
+]
+
+repository_test_env = environment()
+repository_test_env.append(
+ 'GI_TYPELIB_PATH',
+ join_paths(meson.build_root(), 'gir'),
+ join_paths(meson.build_root(), 'tests')
+)
+
+if glib_dep.type_name() == 'pkgconfig'
+ foreach test_name : repository_tests
+ source = files(test_name + '.c')
+ exe = executable(test_name, source, dependencies: [girepo_dep])
+ test(test_name, exe, env: repository_test_env)
+ endforeach
+endif
glib:type-name="BarBaz"
glib:get-type="bar_baz_get_type"
glib:type-struct="BazClass">
+ <source-position filename="barapp.h" line="21"/>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
<record name="BazClass"
c:type="BarBazClass"
glib:is-gtype-struct-for="Baz">
+ <source-position filename="barapp.h" line="21"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
glib:type-name="MutterWindow"
glib:get-type="mutter_window_get_type"
glib:type-struct="MutterWindowClass">
+ <source-position filename="barapp.h" line="53"/>
<method name="func" c:identifier="mutter_window_func">
+ <source-position filename="barapp.h" line="59"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="MutterWindowClass"
c:type="MutterWindowClass"
glib:is-gtype-struct-for="MutterWindow">
+ <source-position filename="barapp.h" line="53"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
<function name="app_func" c:identifier="bar_app_func">
+ <source-position filename="barapp.h" line="28"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="app_func2" c:identifier="bar_app_func2">
+ <source-position filename="barapp.h" line="31"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
glib:type-name="GetTypeObject"
glib:get-type="gettype_object_get_type"
glib:type-struct="ObjectClass">
+ <source-position filename="gettype.h" line="22"/>
<constructor name="new" c:identifier="gettype_object_new">
+ <source-position filename="gettype.h" line="28"/>
<return-value transfer-ownership="full">
<type name="Object" c:type="GetTypeObject*"/>
</return-value>
</constructor>
<function name="nonmeta2_get_type"
c:identifier="gettype_object_nonmeta2_get_type">
- <doc xml:space="preserve">This shouldn't be scanned as a *_get_type function because it doesn't return
+ <doc xml:space="preserve"
+ filename="gettype.c"
+ line="38">This shouldn't be scanned as a *_get_type function because it doesn't return
a GType. It will generate a warning.</doc>
+ <source-position filename="gettype.h" line="35"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">true</doc>
+ <doc xml:space="preserve" filename="gettype.c" line="44">true</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="nonmeta_get_gtype"
c:identifier="gettype_object_nonmeta_get_gtype">
- <doc xml:space="preserve">This shouldn't be scanned as a *_get_type function because it doesn't return
+ <doc xml:space="preserve"
+ filename="gettype.c"
+ line="52">This shouldn't be scanned as a *_get_type function because it doesn't return
a GType. It will generate a warning.</doc>
+ <source-position filename="gettype.h" line="38"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">true</doc>
+ <doc xml:space="preserve" filename="gettype.c" line="58">true</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<method name="nonmeta1_get_type"
c:identifier="gettype_object_nonmeta1_get_type">
- <doc xml:space="preserve">This shouldn't be scanned as a *_get_type function because it takes
+ <doc xml:space="preserve"
+ filename="gettype.c"
+ line="23">This shouldn't be scanned as a *_get_type function because it takes
arguments.</doc>
+ <source-position filename="gettype.h" line="32"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">0</doc>
+ <doc xml:space="preserve" filename="gettype.c" line="30">0</doc>
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">self</doc>
+ <doc xml:space="preserve" filename="gettype.c" line="25">self</doc>
<type name="Object" c:type="GetTypeObject*"/>
</instance-parameter>
</parameters>
<record name="ObjectClass"
c:type="GetTypeObjectClass"
glib:is-gtype-struct-for="Object">
+ <source-position filename="gettype.h" line="22"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
c:symbol-prefixes="gtk_frob">
<function name="language_manager_get_default"
c:identifier="gtk_frob_language_manager_get_default">
+ <source-position filename="gtkfrob.h" line="11"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
c:identifier-prefixes="Headeronly"
c:symbol-prefixes="headeronly">
<enumeration name="ExampleEnum" c:type="HeaderonlyExampleEnum">
+ <source-position filename="headeronly.h" line="7"/>
<member name="foo" value="0" c:identifier="HEADERONLY_FOO">
</member>
<member name="bar" value="1" c:identifier="HEADERONLY_BAR">
c:identifier-prefixes="Identfilter"
c:symbol-prefixes="identfilter">
<record name="Context" c:type="identfilter_t" disguised="1">
+ <source-position filename="identfilter.h" line="4"/>
</record>
<record name="Object" c:type="identfilter_object_t" disguised="1">
+ <source-position filename="identfilter.h" line="5"/>
<method name="foo_method" c:identifier="identfilter_object_foo_method">
+ <source-position filename="identfilter.h" line="8"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="free" c:identifier="identfilter_object_free">
+ <source-position filename="identfilter.h" line="9"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="new"
c:identifier="identfilter_object_new"
introspectable="0">
+ <source-position filename="identfilter.h" line="7"/>
<return-value>
<type name="Object" c:type="identfilter_object_t*"/>
</return-value>
CLEANFILES += $(EXTRA_LTLIBRARIES)
GI_SCANNER_CFLAGS = -I$(top_srcdir)/tests
-AM_CPPFLAGS = -I$(top_srcdir)/girepository
+AM_CPPFLAGS = -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS) $(GI_HIDDEN_VISIBILITY_CFLAGS) $(GI_SCANNER_CFLAGS) $(WARN_CFLAGS)
# -rpath needed to force libtool to build a shared library for a check_LTLIBRARIES
# target. See http://lists.gnu.org/archive/html/automake/2005-10/msg00107.html
GIREPO_CFLAGS = @GIREPO_CFLAGS@
GIREPO_LIBS = @GIREPO_LIBS@
GIR_DIR = @GIR_DIR@
+GIR_PC_DIR = @GIR_PC_DIR@
GIR_SUFFIX = @GIR_SUFFIX@
GI_HIDDEN_VISIBILITY_CFLAGS = @GI_HIDDEN_VISIBILITY_CFLAGS@
+GI_MAJOR_VERSION = @GI_MAJOR_VERSION@
+GI_MICRO_VERSION = @GI_MICRO_VERSION@
+GI_MINOR_VERSION = @GI_MINOR_VERSION@
GI_VERSION = @GI_VERSION@
GLIBSRC = @GLIBSRC@
GLIB_CFLAGS = @GLIB_CFLAGS@
$(NULL)
GI_SCANNER_CFLAGS = -I$(top_srcdir)/tests
-AM_CPPFLAGS = -I$(top_srcdir)/girepository
+AM_CPPFLAGS = -I$(top_srcdir)/girepository -I$(top_builddir)/girepository
AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS) $(GI_HIDDEN_VISIBILITY_CFLAGS) $(GI_SCANNER_CFLAGS) $(WARN_CFLAGS)
# -rpath needed to force libtool to build a shared library for a check_LTLIBRARIES
# target. See http://lists.gnu.org/archive/html/automake/2005-10/msg00107.html
</synopsis>
<synopsis>
<title>Known Implementations</title>
- <p>None</p>
+ <p>TestInterface is implemented by TestSubObj</p>
</synopsis>
<links type="topic" ui:expanded="true"
api:type="function" api:mime="text/x-csrc"
--- /dev/null
+<?xml version="1.0"?>
+<page id="Regress.TestObj-write-only"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">write-only</title>
+ </info>
+ <title>Regress.TestObj:write-only</title>
+</page>
--- /dev/null
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj-boolean"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestSubObj" group="property" type="guide"/>
+ <title type="link" role="topic">boolean</title>
+ </info>
+ <title>Regress.TestSubObj:boolean</title>
+
+
+</page>
<synopsis><code>
const Regress = imports.gi.Regress;
-let test_interface = new Regress.TestInterface();
+let test_interface = new Regress.TestInterface({
+ <link xref='Regress.TestInterface-number'>number</link>: value,
+});
</code></synopsis>
</synopsis>
<synopsis>
<title>Known Implementations</title>
- <p>None</p>
+ <p>TestInterface is implemented by TestSubObj</p>
</synopsis>
<links type="topic" ui:expanded="true"
api:type="function" api:mime="text/x-gjs"
--- /dev/null
+<?xml version="1.0"?>
+<page id="Regress.TestObj-write-only"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">write-only</title>
+ </info>
+ <title>Regress.TestObj.write_only</title>
+ <synopsis><code mime="text/x-gjs">
+TestObj.write_only: Boolean (Write)
+ </code></synopsis>
+</page>
--- /dev/null
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj-boolean"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestSubObj" group="property" type="guide"/>
+ <title type="link" role="topic">boolean</title>
+ </info>
+ <title>Regress.TestSubObj.boolean</title>
+ <synopsis><code mime="text/x-gjs">
+TestSubObj.boolean: Boolean (Read / Write / Construct)
+ </code></synopsis>
+
+
+</page>
<synopsis><code>
const Regress = imports.gi.Regress;
-let testSubObj = new Regress.TestSubObj();
+let testSubObj = new Regress.TestSubObj({
+ <link xref='Regress.TestSubObj-boolean'>boolean</link>: value,
+});
</code></synopsis>
<synopsis><code>
from gi.repository import Regress
-test_interface = Regress.TestInterface() </code></synopsis>
+test_interface = Regress.TestInterface(<link xref='Regress.TestInterface-number'>number</link>=value) </code></synopsis>
<synopsis>
</synopsis>
<synopsis>
<title>Known Implementations</title>
- <p>None</p>
+ <p>TestInterface is implemented by TestSubObj</p>
</synopsis>
<links type="topic" ui:expanded="true"
api:type="function" api:mime="text/python"
--- /dev/null
+<?xml version="1.0"?>
+<page id="Regress.TestObj-write-only"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">write-only</title>
+ </info>
+ <title>Regress.TestObj:write-only</title>
+ <synopsis><code mime="text/x-python">
+"write-only" bool : Write
+ </code></synopsis>
+</page>
<synopsis><code>
from gi.repository import Regress
-test_obj = Regress.TestObj(<link xref='Regress.TestObj-bare'>bare</link>=value, <link xref='Regress.TestObj-boxed'>boxed</link>=value, <link xref='Regress.TestObj-byte-array'>byte_array</link>=value, <link xref='Regress.TestObj-double'>double</link>=value, <link xref='Regress.TestObj-float'>float</link>=value, <link xref='Regress.TestObj-gtype'>gtype</link>=value, <link xref='Regress.TestObj-hash-table'>hash_table</link>=value, <link xref='Regress.TestObj-hash-table-old'>hash_table_old</link>=value, <link xref='Regress.TestObj-int'>int</link>=value, <link xref='Regress.TestObj-list'>list</link>=value, <link xref='Regress.TestObj-list-old'>list_old</link>=value, <link xref='Regress.TestObj-name-conflict'>name_conflict</link>=value, <link xref='Regress.TestObj-pptrarray'>pptrarray</link>=value, <link xref='Regress.TestObj-string'>string</link>=value)
+test_obj = Regress.TestObj(<link xref='Regress.TestObj-bare'>bare</link>=value, <link xref='Regress.TestObj-boxed'>boxed</link>=value, <link xref='Regress.TestObj-byte-array'>byte_array</link>=value, <link xref='Regress.TestObj-double'>double</link>=value, <link xref='Regress.TestObj-float'>float</link>=value, <link xref='Regress.TestObj-gtype'>gtype</link>=value, <link xref='Regress.TestObj-hash-table'>hash_table</link>=value, <link xref='Regress.TestObj-hash-table-old'>hash_table_old</link>=value, <link xref='Regress.TestObj-int'>int</link>=value, <link xref='Regress.TestObj-list'>list</link>=value, <link xref='Regress.TestObj-list-old'>list_old</link>=value, <link xref='Regress.TestObj-name-conflict'>name_conflict</link>=value, <link xref='Regress.TestObj-pptrarray'>pptrarray</link>=value, <link xref='Regress.TestObj-string'>string</link>=value, <link xref='Regress.TestObj-write-only'>write_only</link>=value)
</code></synopsis>
--- /dev/null
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj-boolean"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestSubObj" group="property" type="guide"/>
+ <title type="link" role="topic">boolean</title>
+ </info>
+ <title>Regress.TestSubObj:boolean</title>
+ <synopsis><code mime="text/x-python">
+"boolean" bool : Read / Write / Construct
+ </code></synopsis>
+
+
+</page>
<synopsis><code>
from gi.repository import Regress
-test_sub_obj = Regress.TestSubObj()
+test_sub_obj = Regress.TestSubObj(<link xref='Regress.TestSubObj-boolean'>boolean</link>=value)
</code></synopsis>
c:identifier-prefixes="Regress"
c:symbol-prefixes="regress">
<alias name="AliasedTestBoxed" c:type="RegressAliasedTestBoxed">
- <doc xml:space="preserve">Typedef TestBoxed to test caller-allocates correctness</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1374">Typedef TestBoxed to test caller-allocates correctness</doc>
+ <source-position filename="regress.h" line="1379"/>
<type name="TestBoxed" c:type="RegressTestBoxed"/>
</alias>
<alias name="FooObjectCookie" c:type="RegressFooObjectCookie">
+ <source-position filename="foo.h" line="148"/>
<type name="gpointer" c:type="gpointer"/>
</alias>
<alias name="FooXEvent" c:type="RegressFooXEvent">
+ <source-position filename="foo.h" line="383"/>
<type name="none" c:type="void"/>
</alias>
<alias name="IntsetAlias" c:type="RegressIntsetAlias" introspectable="0">
- <doc xml:space="preserve">Compatibility typedef, like telepathy-glib's TpIntSet</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1344">Compatibility typedef, like telepathy-glib's TpIntSet</doc>
+ <source-position filename="regress.h" line="1350"/>
<type name="Intset" c:type="RegressIntset"/>
</alias>
<alias name="PtrArrayAlias" c:type="RegressPtrArrayAlias">
- <doc xml:space="preserve">Typedef'd GPtrArray for some reason</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1352">Typedef'd GPtrArray for some reason</doc>
+ <source-position filename="regress.h" line="1357"/>
<type name="GLib.PtrArray" c:type="GPtrArray"/>
</alias>
<alias name="TestTypeGUInt64" c:type="RegressTestTypeGUInt64">
+ <source-position filename="regress.h" line="528"/>
<type name="guint64" c:type="guint64"/>
</alias>
<alias name="VaListAlias" c:type="RegressVaListAlias" introspectable="0">
- <doc xml:space="preserve">Typedef'd va_list for additional reasons</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1363">Typedef'd va_list for additional reasons</doc>
+ <source-position filename="regress.h" line="1368"/>
<type name="va_list" c:type="va_list"/>
</alias>
<constant name="ANNOTATION_CALCULATED_DEFINE"
value="100"
c:type="REGRESS_ANNOTATION_CALCULATED_DEFINE">
+ <source-position filename="annotation.h" line="282"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="ANNOTATION_CALCULATED_LARGE"
value="10000000000UL"
c:type="REGRESS_ANNOTATION_CALCULATED_LARGE"
version="1.4">
- <doc xml:space="preserve">Constant to define a calculated large value</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="284">Constant to define a calculated large value</doc>
+ <source-position filename="annotation.h" line="291"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="ANNOTATION_CALCULATED_LARGE_DIV"
value="1000000UL"
c:type="REGRESS_ANNOTATION_CALCULATED_LARGE_DIV">
- <doc xml:space="preserve">Constant to define a calculated large value</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="293">Constant to define a calculated large value</doc>
+ <source-position filename="annotation.h" line="298"/>
<type name="gint" c:type="gint"/>
</constant>
<enumeration name="ATestError"
c:type="RegressATestError"
glib:error-domain="regress-atest-error">
+ <source-position filename="regress.h" line="511"/>
<member name="code0" value="0" c:identifier="REGRESS_ATEST_ERROR_CODE0">
</member>
<member name="code1" value="1" c:identifier="REGRESS_ATEST_ERROR_CODE1">
</member>
</enumeration>
<record name="AnAnonymousUnion" c:type="RegressAnAnonymousUnion">
+ <source-position filename="regress.h" line="1480"/>
<field name="x" writable="1">
<type name="gint" c:type="int"/>
</field>
<union>
+ <source-position filename="regress.h" line="1479"/>
<field name="a" writable="1">
<array zero-terminated="0"
c:type="RegressLikeGnomeKeyringPasswordSchema"
</union>
</record>
<bitfield name="AnnotationBitfield" c:type="RegressAnnotationBitfield">
+ <source-position filename="annotation.h" line="12"/>
<member name="foo" value="1" c:identifier="ANN_FLAG_FOO">
</member>
<member name="bar" value="2" c:identifier="ANN_FLAG_BAR">
</member>
</bitfield>
<callback name="AnnotationCallback" c:type="RegressAnnotationCallback">
- <doc xml:space="preserve">This is a callback.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">array of ints</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="14">This is a callback.</doc>
+ <source-position filename="annotation.h" line="21"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="19">array of ints</doc>
<type name="gint" c:type="const gint*"/>
</return-value>
<parameters>
<parameter name="in" transfer-ownership="none">
- <doc xml:space="preserve">array of ints</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="16">array of ints</doc>
<type name="gint" c:type="const gint*"/>
</parameter>
</parameters>
</callback>
<record name="AnnotationFields" c:type="RegressAnnotationFields">
- <doc xml:space="preserve">This is a struct for testing field documentation and annotations</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="246">This is a struct for testing field documentation and annotations</doc>
+ <source-position filename="annotation.h" line="259"/>
<field name="field1" writable="1">
- <doc xml:space="preserve">Some documentation</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="248">Some documentation</doc>
<type name="gint" c:type="int"/>
</field>
<field name="arr" writable="1">
- <doc xml:space="preserve">an array of length @len</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="249">an array of length @len</doc>
<array length="2" zero-terminated="0" c:type="guchar*">
<type name="guint8" c:type="guchar"/>
</array>
</field>
<field name="len" writable="1">
- <doc xml:space="preserve">the length of array</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="250">the length of array</doc>
<type name="gulong" c:type="gulong"/>
</field>
</record>
<callback name="AnnotationForeachFunc"
c:type="RegressAnnotationForeachFunc">
+ <source-position filename="annotation.h" line="49"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<callback name="AnnotationListCallback"
c:type="RegressAnnotationListCallback">
- <doc xml:space="preserve">This is a callback taking a list.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="23">This is a callback taking a list.</doc>
+ <source-position filename="annotation.h" line="30"/>
<return-value transfer-ownership="container">
- <doc xml:space="preserve">list of strings</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="28">list of strings</doc>
<type name="GLib.List" c:type="GList*">
<type name="utf8"/>
</type>
</return-value>
<parameters>
<parameter name="in" transfer-ownership="none">
- <doc xml:space="preserve">list of strings</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="25">list of strings</doc>
<type name="GLib.List" c:type="GList*">
<type name="utf8"/>
</type>
</parameters>
</callback>
<callback name="AnnotationNotifyFunc" c:type="RegressAnnotationNotifyFunc">
- <doc xml:space="preserve">This is a callback with a 'closure' argument that is not named
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="32">This is a callback with a 'closure' argument that is not named
'user_data' and hence has to be annotated.</doc>
+ <source-position filename="annotation.h" line="39"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
nullable="1"
allow-none="1"
closure="0">
- <doc xml:space="preserve">The user data</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="34">The user data</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
glib:get-type="regress_annotation_object_get_type"
glib:type-struct="AnnotationObjectClass">
<attribute name="org.example.Test" value="cows"/>
- <doc xml:space="preserve">This is an object used to test annotations.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="41">This is an object used to test annotations.</doc>
+ <source-position filename="annotation.h" line="61"/>
<method name="allow_none"
c:identifier="regress_annotation_object_allow_none">
+ <source-position filename="annotation.h" line="77"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%NULL always</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="568">%NULL always</doc>
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="565">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="somearg"
</method>
<method name="calleeowns"
c:identifier="regress_annotation_object_calleeowns">
- <doc xml:space="preserve">This is a test for out arguments; GObject defaults to transfer</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">an int</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="292">This is a test for out arguments; GObject defaults to transfer</doc>
+ <source-position filename="annotation.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="299">an int</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="294">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="toown"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="295">a #GObject</doc>
<type name="GObject.Object" c:type="GObject**"/>
</parameter>
</parameters>
</method>
<method name="calleesowns"
c:identifier="regress_annotation_object_calleesowns">
- <doc xml:space="preserve">This is a test for out arguments, one transferred, other not</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">an int</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="308">This is a test for out arguments, one transferred, other not</doc>
+ <source-position filename="annotation.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="316">an int</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="310">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="toown1"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="311">a #GObject</doc>
<type name="GObject.Object" c:type="GObject**"/>
</parameter>
<parameter name="toown2"
direction="out"
caller-allocates="0"
transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="312">a #GObject</doc>
<type name="GObject.Object" c:type="GObject**"/>
</parameter>
</parameters>
</method>
<method name="compute_sum"
c:identifier="regress_annotation_object_compute_sum">
- <doc xml:space="preserve">Test taking a zero-terminated array</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="418">Test taking a zero-terminated array</doc>
+ <source-position filename="annotation.h" line="128"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="420">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="nums" transfer-ownership="none">
- <doc xml:space="preserve">Sequence of numbers</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="421">Sequence of numbers</doc>
<array zero-terminated="0" c:type="int*">
<type name="gint" c:type="int"/>
</array>
</method>
<method name="compute_sum_n"
c:identifier="regress_annotation_object_compute_sum_n">
- <doc xml:space="preserve">Test taking an array with length parameter</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="432">Test taking an array with length parameter</doc>
+ <source-position filename="annotation.h" line="133"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="434">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="nums" transfer-ownership="none">
- <doc xml:space="preserve">Sequence of
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="435">Sequence of
numbers that are zero-terminated</doc>
<array length="1" zero-terminated="0" c:type="int*">
<type name="gint" c:type="int"/>
</array>
</parameter>
<parameter name="n_nums" transfer-ownership="none">
- <doc xml:space="preserve">Length of number array</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="437">Length of number array</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
<method name="compute_sum_nz"
c:identifier="regress_annotation_object_compute_sum_nz">
- <doc xml:space="preserve">Test taking a zero-terminated array with length parameter</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="449">Test taking a zero-terminated array with length parameter</doc>
+ <source-position filename="annotation.h" line="138"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="451">a #RegressAnnotationObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="nums" transfer-ownership="none">
- <doc xml:space="preserve">Sequence of numbers that
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="452">Sequence of numbers that
are zero-terminated</doc>
<array length="1" zero-terminated="1" c:type="int*">
<type name="gint" c:type="int"/>
</array>
</parameter>
<parameter name="n_nums" transfer-ownership="none">
- <doc xml:space="preserve">Length of number array</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="454">Length of number array</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
<method name="create_object"
c:identifier="regress_annotation_object_create_object">
- <doc xml:space="preserve">Test returning a caller-owned object</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="392">Test returning a caller-owned object</doc>
+ <source-position filename="annotation.h" line="74"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The object</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="398">The object</doc>
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="394">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
</parameters>
deprecated="1"
deprecated-version="0.12">
<doc-deprecated xml:space="preserve">Use regress_annotation_object_create_object() instead.</doc-deprecated>
+ <source-position filename="annotation.h" line="174"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%NULL always</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="593">%NULL always</doc>
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="591">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
</parameters>
<method name="extra_annos"
c:identifier="regress_annotation_object_extra_annos">
<attribute name="org.foobar" value="testvalue"/>
+ <source-position filename="annotation.h" line="213"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="foreach" c:identifier="regress_annotation_object_foreach">
- <doc xml:space="preserve">Test taking a call-scoped callback</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="498">Test taking a call-scoped callback</doc>
+ <source-position filename="annotation.h" line="152"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="500">a #RegressAnnotationObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="1">
- <doc xml:space="preserve">Callback to invoke</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="501">Callback to invoke</doc>
<type name="AnnotationForeachFunc"
c:type="RegressAnnotationForeachFunc"/>
</parameter>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">Callback user data</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="502">Callback user data</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_hash"
c:identifier="regress_annotation_object_get_hash">
- <doc xml:space="preserve">This is a test for returning a hash table mapping strings to
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="345">This is a test for returning a hash table mapping strings to
objects.</doc>
+ <source-position filename="annotation.h" line="112"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">hash table</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="352">hash table</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="GObject.Object"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="347">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_objects"
c:identifier="regress_annotation_object_get_objects">
- <doc xml:space="preserve">This is a test for returning a list of objects.
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="374">This is a test for returning a list of objects.
The list itself should be freed, but not the internal objects,
intentionally similar example to gtk_container_get_children</doc>
+ <source-position filename="annotation.h" line="119"/>
<return-value transfer-ownership="container">
- <doc xml:space="preserve">list of objects</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="382">list of objects</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="AnnotationObject"/>
</type>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="376">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_strings"
c:identifier="regress_annotation_object_get_strings">
- <doc xml:space="preserve">This is a test for returning a list of strings, where
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="327">This is a test for returning a list of strings, where
each string needs to be freed.</doc>
+ <source-position filename="annotation.h" line="109"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">list of strings</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="334">list of strings</doc>
<type name="GLib.List" c:type="GList*">
<type name="utf8"/>
</type>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="329">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
</parameters>
</method>
<method name="hidden_self"
c:identifier="regress_annotation_object_hidden_self">
+ <source-position filename="annotation.h" line="188"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressAnnotationObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="637">A #RegressAnnotationObject</doc>
<type name="AnnotationObject" c:type="gpointer"/>
</instance-parameter>
</parameters>
</method>
<method name="in" c:identifier="regress_annotation_object_in">
- <doc xml:space="preserve">This is a test for in arguments</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">an int</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="228">This is a test for in arguments</doc>
+ <source-position filename="annotation.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="235">an int</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="230">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="inarg" transfer-ownership="none">
- <doc xml:space="preserve">This is an argument test</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="231">This is an argument test</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
<method name="inout" c:identifier="regress_annotation_object_inout">
- <doc xml:space="preserve">This is a test for out arguments</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">an int</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="244">This is a test for out arguments</doc>
+ <source-position filename="annotation.h" line="84"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="251">an int</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="246">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="inoutarg"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">This is an argument test</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="247">This is an argument test</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
<method name="inout2" c:identifier="regress_annotation_object_inout2">
- <doc xml:space="preserve">This is a second test for out arguments</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">an int</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="259">This is a second test for out arguments</doc>
+ <source-position filename="annotation.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="266">an int</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="261">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="inoutarg"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">This is an argument test</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="262">This is an argument test</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
<method name="inout3" c:identifier="regress_annotation_object_inout3">
- <doc xml:space="preserve">This is a 3th test for out arguments</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">an int</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="275">This is a 3th test for out arguments</doc>
+ <source-position filename="annotation.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="282">an int</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="277">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="inoutarg"
transfer-ownership="full"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">This is an argument test</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="278">This is an argument test</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
<method name="method" c:identifier="regress_annotation_object_method">
+ <source-position filename="annotation.h" line="67"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">an int</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="204">an int</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="202">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
</parameters>
</method>
<method name="notrans" c:identifier="regress_annotation_object_notrans">
+ <source-position filename="annotation.h" line="81"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">An object, not referenced</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="580">An object, not referenced</doc>
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="578">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
</parameters>
</method>
<method name="out" c:identifier="regress_annotation_object_out">
- <doc xml:space="preserve">This is a test for out arguments</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">an int</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="212">This is a test for out arguments</doc>
+ <source-position filename="annotation.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="219">an int</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="214">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="outarg"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">This is an argument test</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="215">This is an argument test</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
<method name="parse_args"
c:identifier="regress_annotation_object_parse_args">
- <doc xml:space="preserve">Test taking a zero-terminated array with length parameter</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="466">Test taking a zero-terminated array with length parameter</doc>
+ <source-position filename="annotation.h" line="143"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="468">a #RegressAnnotationObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="argc"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Length of the argument vector</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="469">Length of the argument vector</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="argv"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Argument vector</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="470">Argument vector</doc>
<array length="0" zero-terminated="1" c:type="char***">
<type name="utf8" c:type="char**"/>
</array>
</method>
<method name="set_data"
c:identifier="regress_annotation_object_set_data">
- <doc xml:space="preserve">Test taking a guchar * with a length.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="514">Test taking a guchar * with a length.</doc>
+ <source-position filename="annotation.h" line="158"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="516">a #RegressAnnotationObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">The data</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="517">The data</doc>
<array length="1" zero-terminated="0" c:type="const guchar*">
<type name="guint8" c:type="guchar"/>
</array>
</parameter>
<parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">Length of the data</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="518">Length of the data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</method>
<method name="set_data2"
c:identifier="regress_annotation_object_set_data2">
- <doc xml:space="preserve">Test taking a gchar * with a length.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="530">Test taking a gchar * with a length.</doc>
+ <source-position filename="annotation.h" line="163"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="532">a #RegressAnnotationObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">The data</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="533">The data</doc>
<array length="1" zero-terminated="0" c:type="const gchar*">
<type name="gint8"/>
</array>
</parameter>
<parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">Length of the data</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="534">Length of the data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</method>
<method name="set_data3"
c:identifier="regress_annotation_object_set_data3">
- <doc xml:space="preserve">Test taking a gchar * with a length, overriding the array element
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="546">Test taking a gchar * with a length, overriding the array element
type.</doc>
+ <source-position filename="annotation.h" line="168"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="548">a #RegressAnnotationObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">The data</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="549">The data</doc>
<array length="1" zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">Length of the data</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="550">Length of the data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</method>
<method name="string_out"
c:identifier="regress_annotation_object_string_out">
- <doc xml:space="preserve">Test returning a string as an out parameter</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">some boolean</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="482">Test returning a string as an out parameter</doc>
+ <source-position filename="annotation.h" line="148"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="489">some boolean</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="484">a #RegressAnnotationObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="str_out"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">string return value</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="485">string return value</doc>
<type name="utf8" c:type="char**"/>
</parameter>
</parameters>
</method>
<method name="use_buffer"
c:identifier="regress_annotation_object_use_buffer">
+ <source-position filename="annotation.h" line="123"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="408">a #GObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="bytes" transfer-ownership="none">
c:identifier="regress_annotation_object_watch"
shadowed-by="watch_full"
introspectable="0">
- <doc xml:space="preserve">This is here just for the sake of being overriden by its
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="602">This is here just for the sake of being overriden by its
regress_annotation_object_watch_full().</doc>
+ <source-position filename="annotation.h" line="177"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressAnnotationObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="604">A #RegressAnnotationObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="func" transfer-ownership="none" closure="1">
- <doc xml:space="preserve">The callback</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="605">The callback</doc>
<type name="AnnotationForeachFunc"
c:type="RegressAnnotationForeachFunc"/>
</parameter>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The callback data</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="606">The callback data</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
<method name="watch_full"
c:identifier="regress_annotation_object_watch_full"
shadows="watch">
- <doc xml:space="preserve">Test overriding via the "Rename To" annotation.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="618">Test overriding via the "Rename To" annotation.</doc>
+ <source-position filename="annotation.h" line="182"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressAnnotationObject</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="620">A #RegressAnnotationObject</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</instance-parameter>
<parameter name="func"
scope="notified"
closure="1"
destroy="2">
- <doc xml:space="preserve">The callback</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="621">The callback</doc>
<type name="AnnotationForeachFunc"
c:type="RegressAnnotationForeachFunc"/>
</parameter>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The callback data</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="622">The callback data</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">Destroy notification</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="623">Destroy notification</doc>
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="with_voidp"
c:identifier="regress_annotation_object_with_voidp">
+ <source-position filename="annotation.h" line="115"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">Opaque pointer handle</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="366">Opaque pointer handle</doc>
<type name="gpointer" c:type="void*"/>
</parameter>
</parameters>
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">This is a property which is a string</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="152">This is a property which is a string</doc>
<doc-deprecated xml:space="preserve">Use better-string-property instead</doc-deprecated>
<type name="utf8" c:type="gchar*"/>
</property>
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">This is a property annotation intentionally indented with a mix
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="177">This is a property annotation intentionally indented with a mix
of tabs and strings to test the tab handling capabilities of the scanner.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<type name="GObject.Object" c:type="GObject"/>
</field>
<glib:signal name="attribute-signal" when="last">
- <doc xml:space="preserve">This signal tests a signal with attributes.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="130">This signal tests a signal with attributes.</doc>
<return-value transfer-ownership="full">
<attribute name="some.annotation.foo3" value="val3"/>
- <doc xml:space="preserve">the return value</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="138">the return value</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="arg1" transfer-ownership="none">
<attribute name="some.annotation.foo1" value="val1"/>
- <doc xml:space="preserve">a value</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="133">a value</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="arg2" transfer-ownership="none">
<attribute name="some.annotation.foo2" value="val2"/>
- <doc xml:space="preserve">another value</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="134">another value</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="doc-empty-arg-parsing" when="last">
- <doc xml:space="preserve">This signal tests an empty document argument (@arg1)</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="114">This signal tests an empty document argument (@arg1)</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</glib:signal>
<glib:signal name="list-signal" when="last">
- <doc xml:space="preserve">This is a signal which takes a list of strings, but it's not
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="97">This is a signal which takes a list of strings, but it's not
known by GObject as it's only marked as G_TYPE_POINTER</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="container">
- <doc xml:space="preserve">a list of strings</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="100">a list of strings</doc>
<type name="GLib.List" c:type="gpointer">
<type name="utf8"/>
</type>
version="1.0"
deprecated="1"
deprecated-version="1.2">
- <doc xml:space="preserve">This is a signal which has a broken signal handler,
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="77">This is a signal which has a broken signal handler,
it says it's pointer but it's actually a string.</doc>
<doc-deprecated xml:space="preserve">Use other-signal instead</doc-deprecated>
<return-value transfer-ownership="none">
</return-value>
<parameters>
<parameter name="string" transfer-ownership="none">
- <doc xml:space="preserve">a string</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="80">a string</doc>
<type name="utf8" c:type="gpointer"/>
</parameter>
</parameters>
<record name="AnnotationObjectClass"
c:type="RegressAnnotationObjectClass"
glib:is-gtype-struct-for="AnnotationObject">
+ <source-position filename="annotation.h" line="61"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
<record name="AnnotationStruct" c:type="RegressAnnotationStruct">
- <doc xml:space="preserve">This is a test of an array of object in an field of a struct.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.h"
+ line="236">This is a test of an array of object in an field of a struct.</doc>
+ <source-position filename="annotation.h" line="244"/>
<field name="objects" writable="1">
<array zero-terminated="0"
c:type="RegressAnnotationObject"
</record>
<record name="AnonymousUnionAndStruct"
c:type="RegressAnonymousUnionAndStruct">
+ <source-position filename="regress.h" line="1493"/>
<field name="x" writable="1">
<type name="gint" c:type="int"/>
</field>
<union>
+ <source-position filename="regress.h" line="1492"/>
<record>
+ <source-position filename="regress.h" line="1489"/>
<field name="a" writable="1">
<type name="LikeGnomeKeyringPasswordSchema"
c:type="RegressLikeGnomeKeyringPasswordSchema*"/>
</union>
</record>
<constant name="BOOL_CONSTANT" value="true" c:type="REGRESS_BOOL_CONSTANT">
+ <source-position filename="regress.h" line="524"/>
<type name="gboolean" c:type="gboolean"/>
</constant>
<constant name="DOUBLE_CONSTANT"
value="44.220000"
c:type="REGRESS_DOUBLE_CONSTANT">
+ <source-position filename="regress.h" line="521"/>
<type name="gdouble" c:type="gdouble"/>
</constant>
<constant name="FOO_DEFINE_SHOULD_BE_EXPOSED"
value="should be exposed"
c:type="REGRESS_FOO_DEFINE_SHOULD_BE_EXPOSED">
+ <source-position filename="foo.h" line="12"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FOO_FLAGS_SECOND_AND_THIRD"
value="6"
c:type="REGRESS_FOO_FLAGS_SECOND_AND_THIRD">
+ <source-position filename="foo.h" line="249"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="FOO_PIE_IS_TASTY"
value="3.141590"
c:type="REGRESS_FOO_PIE_IS_TASTY">
+ <source-position filename="foo.h" line="14"/>
<type name="gdouble" c:type="gdouble"/>
</constant>
<constant name="FOO_SUCCESS_INT"
value="4408"
c:type="REGRESS_FOO_SUCCESS_INT">
+ <source-position filename="foo.h" line="10"/>
<type name="gint" c:type="gint"/>
</constant>
<enumeration name="FooASingle" c:type="RegressFooASingle">
+ <source-position filename="foo.h" line="534"/>
<member name="foo_some_single_enum"
value="0"
c:identifier="REGRESS_FOO_SOME_SINGLE_ENUM">
</member>
</enumeration>
<enumeration name="FooAddressType" c:type="RegressFooAddressType">
+ <source-position filename="foo.h" line="281"/>
<member name="invalid"
value="0"
c:identifier="REGRESS_FOO_ADDRESS_INVALID">
glib:type-name="RegressFooBRect"
glib:get-type="regress_foo_brect_get_type"
c:symbol-prefix="foo_brect">
+ <source-position filename="foo.h" line="393"/>
<field name="x" writable="1">
<type name="gdouble" c:type="double"/>
</field>
<type name="gdouble" c:type="double"/>
</field>
<constructor name="new" c:identifier="regress_foo_brect_new">
+ <source-position filename="foo.h" line="401"/>
<return-value transfer-ownership="full">
<type name="FooBRect" c:type="RegressFooBRect*"/>
</return-value>
</parameters>
</constructor>
<method name="add" c:identifier="regress_foo_brect_add">
+ <source-position filename="foo.h" line="405"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
glib:type-name="RegressFooBUnion"
glib:get-type="regress_foo_bunion_get_type"
c:symbol-prefix="foo_bunion">
+ <source-position filename="foo.h" line="414"/>
<field name="type" writable="1">
<type name="gint" c:type="int"/>
</field>
<type name="FooBRect" c:type="RegressFooBRect*"/>
</field>
<constructor name="new" c:identifier="regress_foo_bunion_new">
+ <source-position filename="foo.h" line="440"/>
<return-value transfer-ownership="full">
<type name="FooBUnion" c:type="RegressFooBUnion*"/>
</return-value>
</constructor>
<method name="get_contained_type"
c:identifier="regress_foo_bunion_get_contained_type">
+ <source-position filename="foo.h" line="448"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
glib:type-name="RegressFooBoxed"
glib:get-type="regress_foo_boxed_get_type"
c:symbol-prefix="foo_boxed">
+ <source-position filename="foo.h" line="283"/>
<constructor name="new" c:identifier="regress_foo_boxed_new">
+ <source-position filename="foo.h" line="290"/>
<return-value transfer-ownership="full">
<type name="FooBoxed" c:type="RegressFooBoxed*"/>
</return-value>
</constructor>
<method name="method" c:identifier="regress_foo_boxed_method">
+ <source-position filename="foo.h" line="293"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
glib:type-name="RegressFooBuffer"
glib:get-type="regress_foo_buffer_get_type"
glib:type-struct="FooBufferClass">
+ <source-position filename="foo.h" line="52"/>
<implements name="FooInterface"/>
<method name="some_method" c:identifier="regress_foo_buffer_some_method">
+ <source-position filename="foo.h" line="213"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
c:type="RegressFooBufferClass"
disguised="1"
glib:is-gtype-struct-for="FooBuffer">
+ <source-position filename="foo.h" line="52"/>
</record>
<callback name="FooCallback" c:type="RegressFooCallback">
+ <source-position filename="foo.h" line="317"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
glib:type-name="RegressFooDBusData"
glib:get-type="regress_foo_dbus_data_get_type"
c:symbol-prefix="foo_dbus_data">
+ <source-position filename="foo.h" line="296"/>
<method name="method" c:identifier="regress_foo_dbus_data_method">
+ <source-position filename="foo.h" line="302"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
</record>
<enumeration name="FooEnumFullname" c:type="RegressFooEnumFullname">
+ <source-position filename="foo.h" line="274"/>
<member name="one"
value="1"
c:identifier="REGRESS_FOO_ENUM_FULLNAME_ONE">
</member>
</enumeration>
<enumeration name="FooEnumNoType" c:type="RegressFooEnumNoType">
+ <source-position filename="foo.h" line="260"/>
<member name="un" value="1" c:identifier="REGRESS_FOO_ENUM_UN">
</member>
<member name="deux" value="2" c:identifier="REGRESS_FOO_ENUM_DEUX">
glib:nick="delta">
</member>
<function name="method" c:identifier="regress_foo_enum_type_method">
+ <source-position filename="foo.h" line="236"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</parameters>
</function>
<function name="returnv" c:identifier="regress_foo_enum_type_returnv">
+ <source-position filename="foo.h" line="240"/>
<return-value transfer-ownership="none">
<type name="FooEnumType" c:type="RegressFooEnumType"/>
</return-value>
</function>
</enumeration>
<union name="FooEvent" c:type="RegressFooEvent">
+ <source-position filename="foo.h" line="381"/>
<field name="type" writable="1">
<type name="gint" c:type="int"/>
</field>
</field>
</union>
<record name="FooEventAny" c:type="RegressFooEventAny">
+ <source-position filename="foo.h" line="368"/>
<field name="send_event" writable="1">
<type name="gint8" c:type="gint8"/>
</field>
</record>
<record name="FooEventExpose" c:type="RegressFooEventExpose">
+ <source-position filename="foo.h" line="374"/>
<field name="send_event" writable="1">
<type name="gint8" c:type="gint8"/>
</field>
</field>
</record>
<bitfield name="FooFlagsNoType" c:type="RegressFooFlagsNoType">
+ <source-position filename="foo.h" line="267"/>
<member name="ett" value="1" c:identifier="REGRESS_FOO_FLAGS_ETT">
</member>
<member name="tva" value="2" c:identifier="REGRESS_FOO_FLAGS_TVA">
<record name="FooForeignStruct"
c:type="RegressFooForeignStruct"
foreign="1">
+ <source-position filename="foo.h" line="563"/>
<field name="regress_foo" writable="1">
<type name="gint" c:type="int"/>
</field>
<constructor name="new" c:identifier="regress_foo_foreign_struct_new">
+ <source-position filename="foo.h" line="567"/>
<return-value transfer-ownership="full">
<type name="FooForeignStruct" c:type="RegressFooForeignStruct*"/>
</return-value>
</constructor>
<method name="copy" c:identifier="regress_foo_foreign_struct_copy">
+ <source-position filename="foo.h" line="570"/>
<return-value transfer-ownership="full">
<type name="FooForeignStruct" c:type="RegressFooForeignStruct*"/>
</return-value>
glib:type-name="RegressFooInterface"
glib:get-type="regress_foo_interface_get_type"
glib:type-struct="FooInterfaceIface">
+ <source-position filename="foo.h" line="61"/>
<function name="static_method"
c:identifier="regress_foo_interface_static_method">
+ <source-position filename="foo.h" line="73"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<virtual-method name="do_regress_foo" invoker="do_regress_foo">
+ <source-position filename="foo.h" line="60"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="do_regress_foo"
c:identifier="regress_foo_interface_do_regress_foo">
+ <source-position filename="foo.h" line="69"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="FooInterfaceIface"
c:type="RegressFooInterfaceIface"
glib:is-gtype-struct-for="FooInterface">
+ <source-position filename="foo.h" line="61"/>
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="do_regress_foo">
<callback name="do_regress_foo">
+ <source-position filename="foo.h" line="60"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
glib:type-name="RegressFooObject"
glib:get-type="regress_foo_object_get_type"
glib:type-struct="FooObjectClass">
+ <source-position filename="foo.h" line="121"/>
<implements name="FooInterface"/>
<constructor name="new" c:identifier="regress_foo_object_new">
+ <source-position filename="foo.h" line="132"/>
<return-value transfer-ownership="full">
<type name="FooObject" c:type="RegressFooObject*"/>
</return-value>
</constructor>
<constructor name="new_as_super"
c:identifier="regress_foo_object_new_as_super">
+ <source-position filename="foo.h" line="138"/>
<return-value transfer-ownership="full">
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
</constructor>
<function name="a_global_method"
c:identifier="regress_foo_object_a_global_method">
+ <source-position filename="foo.h" line="577"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="get_default"
c:identifier="regress_foo_object_get_default">
- <doc xml:space="preserve">This function is intended to match clutter_stage_get_default which
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="327">This function is intended to match clutter_stage_get_default which
uses a C sugar return type.</doc>
+ <source-position filename="foo.h" line="205"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">The global #RegressFooSubobject</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="333">The global #RegressFooSubobject</doc>
<type name="FooSubobject" c:type="RegressFooObject*"/>
</return-value>
</function>
<function name="static_meth"
c:identifier="regress_foo_object_static_meth">
+ <source-position filename="foo.h" line="180"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<virtual-method name="read_fn" invoker="read">
- <doc xml:space="preserve">Read some stuff.</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="288">Read some stuff.</doc>
+ <source-position filename="foo.h" line="117"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">obj</doc>
+ <doc xml:space="preserve" filename="foo.c" line="290">obj</doc>
<type name="FooObject" c:type="RegressFooObject*"/>
</instance-parameter>
<parameter name="offset" transfer-ownership="none">
- <doc xml:space="preserve">offset</doc>
+ <doc xml:space="preserve" filename="foo.c" line="291">offset</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length</doc>
+ <doc xml:space="preserve" filename="foo.c" line="292">length</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="virtual_method" invoker="virtual_method">
+ <source-position filename="foo.h" line="114"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</virtual-method>
<method name="append_new_stack_layer"
c:identifier="regress_foo_object_append_new_stack_layer">
- <doc xml:space="preserve">This shouldn't be scanned as a constructor.</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="776">This shouldn't be scanned as a constructor.</doc>
+ <source-position filename="foo.h" line="581"/>
<return-value transfer-ownership="none">
<type name="FooOtherObject" c:type="RegressFooOtherObject*"/>
</return-value>
</parameters>
</method>
<method name="dup_name" c:identifier="regress_foo_object_dup_name">
+ <source-position filename="foo.h" line="164"/>
<return-value transfer-ownership="full">
<type name="utf8" c:type="char*"/>
</return-value>
</method>
<method name="external_type"
c:identifier="regress_foo_object_external_type">
+ <source-position filename="foo.h" line="135"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%NULL always</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="237">%NULL always</doc>
<type name="Utility.Object" c:type="UtilityObject*"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressFooObject</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="235">a #RegressFooObject</doc>
<type name="FooObject" c:type="RegressFooObject*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_name" c:identifier="regress_foo_object_get_name">
+ <source-position filename="foo.h" line="160"/>
<return-value transfer-ownership="none">
<type name="utf8" c:type="const char*"/>
</return-value>
</method>
<method name="handle_glyph"
c:identifier="regress_foo_object_handle_glyph">
+ <source-position filename="foo.h" line="168"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="is_it_time_yet"
c:identifier="regress_foo_object_is_it_time_yet">
+ <source-position filename="foo.h" line="156"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="new_cookie"
c:identifier="regress_foo_object_new_cookie"
introspectable="0">
- <doc xml:space="preserve">Not sure why this test is here...</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="263">Not sure why this test is here...</doc>
+ <source-position filename="foo.h" line="152"/>
<return-value transfer-ownership="none">
<type name="FooObjectCookie" c:type="RegressFooObjectCookie"/>
</return-value>
</parameters>
</method>
<method name="read" c:identifier="regress_foo_object_read">
- <doc xml:space="preserve">Read some stuff.</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="288">Read some stuff.</doc>
+ <source-position filename="foo.h" line="176"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">obj</doc>
+ <doc xml:space="preserve" filename="foo.c" line="290">obj</doc>
<type name="FooObject" c:type="RegressFooObject*"/>
</instance-parameter>
<parameter name="offset" transfer-ownership="none">
- <doc xml:space="preserve">offset</doc>
+ <doc xml:space="preserve" filename="foo.c" line="291">offset</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length</doc>
+ <doc xml:space="preserve" filename="foo.c" line="292">length</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
<method name="skipped_method"
c:identifier="regress_foo_object_skipped_method"
introspectable="0">
- <doc xml:space="preserve">This is only useful from C.</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="302">This is only useful from C.</doc>
+ <source-position filename="foo.h" line="184"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">obj</doc>
+ <doc xml:space="preserve" filename="foo.c" line="304">obj</doc>
<type name="FooObject" c:type="RegressFooObject*"/>
</instance-parameter>
</parameters>
<method name="take_all"
c:identifier="regress_foo_object_take_all"
introspectable="0">
+ <source-position filename="foo.h" line="146"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="various" c:identifier="regress_foo_object_various">
+ <source-position filename="foo.h" line="142"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="virtual_method"
c:identifier="regress_foo_object_virtual_method">
+ <source-position filename="foo.h" line="172"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<record name="FooObjectClass"
c:type="RegressFooObjectClass"
glib:is-gtype-struct-for="FooObject">
+ <source-position filename="foo.h" line="121"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="virtual_method">
<callback name="virtual_method">
+ <source-position filename="foo.h" line="114"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="read_fn">
<callback name="read_fn">
+ <source-position filename="foo.h" line="117"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">obj</doc>
+ <doc xml:space="preserve" filename="foo.c" line="290">obj</doc>
<type name="FooObject" c:type="RegressFooObject*"/>
</parameter>
<parameter name="offset" transfer-ownership="none">
- <doc xml:space="preserve">offset</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="291">offset</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="292">length</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
glib:type-name="RegressFooOtherObject"
glib:get-type="regress_foo_other_object_get_type"
glib:type-struct="FooOtherObjectClass">
+ <source-position filename="foo.h" line="54"/>
</class>
<record name="FooOtherObjectClass"
c:type="RegressFooOtherObjectClass"
disguised="1"
glib:is-gtype-struct-for="FooOtherObject">
+ <source-position filename="foo.h" line="54"/>
</record>
<record name="FooRectangle" c:type="RegressFooRectangle">
+ <source-position filename="foo.h" line="341"/>
<field name="x" writable="1">
<type name="gint" c:type="gint"/>
</field>
<type name="gint" c:type="gint"/>
</field>
<method name="add" c:identifier="regress_foo_rectangle_add">
+ <source-position filename="foo.h" line="353"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">add to this rect</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="556">add to this rect</doc>
<type name="FooRectangle" c:type="RegressFooRectangle*"/>
</instance-parameter>
<parameter name="r2" transfer-ownership="none">
- <doc xml:space="preserve">source rectangle</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="557">source rectangle</doc>
<type name="FooRectangle" c:type="const RegressFooRectangle*"/>
</parameter>
</parameters>
<function name="new"
c:identifier="regress_foo_rectangle_new"
introspectable="0">
- <doc xml:space="preserve">This is a C convenience constructor; we have to (skip)
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="537">This is a C convenience constructor; we have to (skip)
it because it's not a boxed type.</doc>
+ <source-position filename="foo.h" line="357"/>
<return-value>
<type name="FooRectangle" c:type="RegressFooRectangle*"/>
</return-value>
<enumeration name="FooSkippable"
introspectable="0"
c:type="RegressFooSkippable">
- <doc xml:space="preserve">Some type that is only interesting from C and should not be
+ <doc xml:space="preserve"
+ filename="foo.h"
+ line="544">Some type that is only interesting from C and should not be
exposed to language bindings.</doc>
+ <source-position filename="foo.h" line="555"/>
<member name="one" value="0" c:identifier="REGRESS_FOO_SKIPPABLE_ONE">
- <doc xml:space="preserve">a skippable enum value</doc>
+ <doc xml:space="preserve"
+ filename="foo.h"
+ line="546">a skippable enum value</doc>
</member>
<member name="two" value="1" c:identifier="REGRESS_FOO_SKIPPABLE_TWO">
- <doc xml:space="preserve">another skippable enum value</doc>
+ <doc xml:space="preserve"
+ filename="foo.h"
+ line="547">another skippable enum value</doc>
</member>
</enumeration>
<enumeration name="FooStackLayer" c:type="RegressFooStackLayer">
+ <source-position filename="foo.h" line="529"/>
<member name="desktop"
value="0"
c:identifier="REGRESS_FOO_LAYER_DESKTOP">
</member>
</enumeration>
<record name="FooStruct" c:type="RegressFooStruct">
+ <source-position filename="foo.h" line="331"/>
<field name="priv" writable="1">
<type name="FooStructPrivate" c:type="RegressFooStructPrivate*"/>
</field>
<record name="FooStructPrivate"
c:type="RegressFooStructPrivate"
disguised="1">
+ <source-position filename="foo.h" line="325"/>
</record>
<interface name="FooSubInterface"
c:symbol-prefix="foo_sub_interface"
glib:type-name="RegressFooSubInterface"
glib:get-type="regress_foo_sub_interface_get_type"
glib:type-struct="FooSubInterfaceIface">
+ <source-position filename="foo.h" line="88"/>
<prerequisite name="FooInterface"/>
<virtual-method name="destroy_event">
+ <source-position filename="foo.h" line="81"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="do_bar" invoker="do_bar">
+ <source-position filename="foo.h" line="85"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="do_baz" invoker="do_baz">
+ <source-position filename="foo.h" line="87"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<method name="do_bar" c:identifier="regress_foo_sub_interface_do_bar">
+ <source-position filename="foo.h" line="96"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="do_baz" c:identifier="regress_foo_sub_interface_do_baz">
+ <source-position filename="foo.h" line="99"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="FooSubInterfaceIface"
c:type="RegressFooSubInterfaceIface"
glib:is-gtype-struct-for="FooSubInterface">
+ <source-position filename="foo.h" line="88"/>
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="destroy_event">
<callback name="destroy_event">
+ <source-position filename="foo.h" line="81"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="do_bar">
<callback name="do_bar">
+ <source-position filename="foo.h" line="85"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="do_baz">
<callback name="do_baz">
+ <source-position filename="foo.h" line="87"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
glib:type-name="RegressFooSubobject"
glib:get-type="regress_foo_subobject_get_type"
glib:type-struct="FooSubobjectClass">
+ <source-position filename="foo.h" line="194"/>
<implements name="FooInterface"/>
<constructor name="new" c:identifier="regress_foo_subobject_new">
+ <source-position filename="foo.h" line="201"/>
<return-value transfer-ownership="full">
<type name="FooSubobject" c:type="RegressFooSubobject*"/>
</return-value>
<record name="FooSubobjectClass"
c:type="RegressFooSubobjectClass"
glib:is-gtype-struct-for="FooSubobject">
+ <source-position filename="foo.h" line="194"/>
<field name="parent_class">
<type name="FooObjectClass" c:type="RegressFooObjectClass"/>
</field>
</record>
<record name="FooThingWithArray" c:type="RegressFooThingWithArray">
+ <source-position filename="foo.h" line="436"/>
<field name="x" writable="1">
<type name="gint" c:type="int"/>
</field>
</field>
</record>
<union name="FooUnion" c:type="RegressFooUnion">
+ <source-position filename="foo.h" line="421"/>
<field name="regress_foo" writable="1">
<type name="gint" c:type="int"/>
</field>
</union>
<record name="FooUtilityStruct" c:type="RegressFooUtilityStruct">
+ <source-position filename="foo.h" line="427"/>
<field name="bar" writable="1">
<type name="Utility.Struct" c:type="UtilityStruct"/>
</field>
<callback name="FooVarargsCallback"
c:type="RegressFooVarargsCallback"
introspectable="0">
+ <source-position filename="foo.h" line="482"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<constant name="GI_SCANNER_ELSE"
value="3"
c:type="REGRESS_GI_SCANNER_ELSE">
+ <source-position filename="regress.h" line="1457"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="GI_SCANNER_IFDEF"
value="3"
c:type="REGRESS_GI_SCANNER_IFDEF">
+ <source-position filename="regress.h" line="1461"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="GUINT64_CONSTANT"
value="18446744073709551615"
c:type="REGRESS_GUINT64_CONSTANT">
+ <source-position filename="regress.h" line="526"/>
<type name="guint64" c:type="guint64"/>
</constant>
<constant name="GUINT64_CONSTANTA"
value="18446744073709551615"
c:type="REGRESS_GUINT64_CONSTANTA">
+ <source-position filename="regress.h" line="529"/>
<type name="TestTypeGUInt64" c:type="RegressTestTypeGUInt64"/>
</constant>
<constant name="G_GINT64_CONSTANT"
value="1000"
c:type="REGRESS_G_GINT64_CONSTANT">
+ <source-position filename="regress.h" line="525"/>
<type name="gint64" c:type="gint64"/>
</constant>
<constant name="INT_CONSTANT" value="4422" c:type="REGRESS_INT_CONSTANT">
+ <source-position filename="regress.h" line="520"/>
<type name="gint" c:type="gint"/>
</constant>
<record name="Intset" c:type="RegressIntset" disguised="1">
- <doc xml:space="preserve">Like telepathy-glib's TpIntset.</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1336">Like telepathy-glib's TpIntset.</doc>
+ <source-position filename="regress.h" line="1342"/>
</record>
<constant name="LONG_STRING_CONSTANT"
value="TYPE,VALUE,ENCODING,CHARSET,LANGUAGE,DOM,INTL,POSTAL,PARCEL,HOME,WORK,PREF,VOICE,FAX,MSG,CELL,PAGER,BBS,MODEM,CAR,ISDN,VIDEO,AOL,APPLELINK,ATTMAIL,CIS,EWORLD,INTERNET,IBMMAIL,MCIMAIL,POWERSHARE,PRODIGY,TLX,X400,GIF,CGM,WMF,BMP,MET,PMB,DIB,PICT,TIFF,PDF,PS,JPEG,QTIME,MPEG,MPEG2,AVI,WAVE,AIFF,PCM,X509,PGP"
c:type="REGRESS_LONG_STRING_CONSTANT">
+ <source-position filename="regress.h" line="1428"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<record name="LikeGnomeKeyringPasswordSchema"
c:type="RegressLikeGnomeKeyringPasswordSchema">
+ <source-position filename="regress.h" line="1447"/>
<field name="dummy" writable="1">
<type name="gint" c:type="int"/>
</field>
</field>
</record>
<record name="LikeXklConfigItem" c:type="RegressLikeXklConfigItem">
+ <source-position filename="regress.h" line="1414"/>
<field name="name" writable="1">
<array zero-terminated="0" c:type="gchar" fixed-size="32">
<type name="gchar" c:type="gchar"/>
</field>
<method name="set_name"
c:identifier="regress_like_xkl_config_item_set_name">
+ <source-position filename="regress.h" line="1418"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<constant name="MAXUINT64"
value="18446744073709551615"
c:type="REGRESS_MAXUINT64">
+ <source-position filename="regress.h" line="1451"/>
<type name="guint64" c:type="guint64"/>
</constant>
<constant name="MININT64"
value="-9223372036854775808"
c:type="REGRESS_MININT64">
+ <source-position filename="regress.h" line="1450"/>
<type name="gint64" c:type="gint64"/>
</constant>
<constant name="Mixed_Case_Constant"
value="4423"
c:type="REGRESS_Mixed_Case_Constant">
+ <source-position filename="regress.h" line="523"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="NEGATIVE_INT_CONSTANT"
value="-42"
c:type="REGRESS_NEGATIVE_INT_CONSTANT">
+ <source-position filename="regress.h" line="519"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="STRING_CONSTANT"
value="Some String"
c:type="REGRESS_STRING_CONSTANT">
+ <source-position filename="regress.h" line="522"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<record name="SkippedStructure"
c:type="RegressSkippedStructure"
introspectable="0">
- <doc xml:space="preserve">This should be skipped, and moreover, all function which
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1318">This should be skipped, and moreover, all function which
use it should be.</doc>
+ <source-position filename="regress.h" line="1328"/>
<field name="x" writable="1">
<type name="gint" c:type="int"/>
</field>
glib:type-name="RegressTestBoxed"
glib:get-type="regress_test_boxed_get_type"
c:symbol-prefix="test_boxed">
+ <source-position filename="regress.h" line="673"/>
<field name="some_int8" writable="1">
<type name="gint8" c:type="gint8"/>
</field>
<type name="TestBoxedPrivate" c:type="RegressTestBoxedPrivate*"/>
</field>
<constructor name="new" c:identifier="regress_test_boxed_new">
+ <source-position filename="regress.h" line="679"/>
<return-value transfer-ownership="full">
<type name="TestBoxed" c:type="RegressTestBoxed*"/>
</return-value>
</constructor>
<constructor name="new_alternative_constructor1"
c:identifier="regress_test_boxed_new_alternative_constructor1">
+ <source-position filename="regress.h" line="682"/>
<return-value transfer-ownership="full">
<type name="TestBoxed" c:type="RegressTestBoxed*"/>
</return-value>
</constructor>
<constructor name="new_alternative_constructor2"
c:identifier="regress_test_boxed_new_alternative_constructor2">
+ <source-position filename="regress.h" line="685"/>
<return-value transfer-ownership="full">
<type name="TestBoxed" c:type="RegressTestBoxed*"/>
</return-value>
</constructor>
<constructor name="new_alternative_constructor3"
c:identifier="regress_test_boxed_new_alternative_constructor3">
+ <source-position filename="regress.h" line="688"/>
<return-value transfer-ownership="full">
<type name="TestBoxed" c:type="RegressTestBoxed*"/>
</return-value>
<method name="_not_a_method"
c:identifier="regress_test_boxeds_not_a_method"
moved-to="test_boxeds_not_a_method">
+ <source-position filename="regress.h" line="700"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="copy" c:identifier="regress_test_boxed_copy">
+ <source-position filename="regress.h" line="692"/>
<return-value transfer-ownership="full">
<type name="TestBoxed" c:type="RegressTestBoxed*"/>
</return-value>
</parameters>
</method>
<method name="equals" c:identifier="regress_test_boxed_equals">
+ <source-position filename="regress.h" line="695"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
glib:type-name="RegressTestBoxedB"
glib:get-type="regress_test_boxed_b_get_type"
c:symbol-prefix="test_boxed_b">
+ <source-position filename="regress.h" line="711"/>
<field name="some_int8" writable="1">
<type name="gint8" c:type="gint8"/>
</field>
<type name="glong" c:type="glong"/>
</field>
<constructor name="new" c:identifier="regress_test_boxed_b_new">
+ <source-position filename="regress.h" line="718"/>
<return-value transfer-ownership="full">
<type name="TestBoxedB" c:type="RegressTestBoxedB*"/>
</return-value>
</parameters>
</constructor>
<method name="copy" c:identifier="regress_test_boxed_b_copy">
+ <source-position filename="regress.h" line="721"/>
<return-value transfer-ownership="full">
<type name="TestBoxedB" c:type="RegressTestBoxedB*"/>
</return-value>
glib:type-name="RegressTestBoxedC"
glib:get-type="regress_test_boxed_c_get_type"
c:symbol-prefix="test_boxed_c">
+ <source-position filename="regress.h" line="729"/>
<field name="refcount" writable="1">
<type name="guint" c:type="guint"/>
</field>
<type name="guint" c:type="guint"/>
</field>
<constructor name="new" c:identifier="regress_test_boxed_c_new">
+ <source-position filename="regress.h" line="735"/>
<return-value transfer-ownership="full">
<type name="TestBoxedC" c:type="RegressTestBoxedC*"/>
</return-value>
glib:type-name="RegressTestBoxedD"
glib:get-type="regress_test_boxed_d_get_type"
c:symbol-prefix="test_boxed_d">
+ <source-position filename="regress.h" line="737"/>
<constructor name="new" c:identifier="regress_test_boxed_d_new">
+ <source-position filename="regress.h" line="745"/>
<return-value transfer-ownership="full">
<type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
</return-value>
</parameters>
</constructor>
<method name="copy" c:identifier="regress_test_boxed_d_copy">
+ <source-position filename="regress.h" line="748"/>
<return-value transfer-ownership="full">
<type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
</return-value>
</parameters>
</method>
<method name="free" c:identifier="regress_test_boxed_d_free">
+ <source-position filename="regress.h" line="751"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="get_magic" c:identifier="regress_test_boxed_d_get_magic">
+ <source-position filename="regress.h" line="755"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<record name="TestBoxedPrivate"
c:type="RegressTestBoxedPrivate"
disguised="1">
+ <source-position filename="regress.h" line="665"/>
</record>
<callback name="TestCallback" c:type="RegressTestCallback">
+ <source-position filename="regress.h" line="1074"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</callback>
<callback name="TestCallbackArray" c:type="RegressTestCallbackArray">
+ <source-position filename="regress.h" line="1106"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</callback>
<callback name="TestCallbackArrayInOut"
c:type="RegressTestCallbackArrayInOut">
+ <source-position filename="regress.h" line="1112"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</callback>
<callback name="TestCallbackFull" c:type="RegressTestCallbackFull">
+ <source-position filename="regress.h" line="1093"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="foo" transfer-ownership="none">
- <doc xml:space="preserve">the investment rate</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1089">the investment rate</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="bar" transfer-ownership="none">
- <doc xml:space="preserve">how much money</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1090">how much money</doc>
<type name="gdouble" c:type="double"/>
</parameter>
<parameter name="path" transfer-ownership="none">
- <doc xml:space="preserve">Path to file</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1091">Path to file</doc>
<type name="filename" c:type="char*"/>
</parameter>
</parameters>
</callback>
<callback name="TestCallbackGError" c:type="RegressTestCallbackGError">
+ <source-position filename="regress.h" line="1081"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<callback name="TestCallbackHashtable"
c:type="RegressTestCallbackHashtable">
+ <source-position filename="regress.h" line="1080"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">a hash table; will be modified</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1078">a hash table; will be modified</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="gint"/>
</callback>
<callback name="TestCallbackOwnedGError"
c:type="RegressTestCallbackOwnedGError">
+ <source-position filename="regress.h" line="1086"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="error" transfer-ownership="full">
- <doc xml:space="preserve">GError instance; must be freed by the callback</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="1084">GError instance; must be freed by the callback</doc>
<type name="GLib.Error" c:type="GError*"/>
</parameter>
</parameters>
</callback>
<callback name="TestCallbackReturnFull"
c:type="RegressTestCallbackReturnFull">
+ <source-position filename="regress.h" line="1098"/>
<return-value transfer-ownership="full">
<type name="TestObj" c:type="RegressTestObj*"/>
</return-value>
</callback>
<callback name="TestCallbackUserData" c:type="RegressTestCallbackUserData">
+ <source-position filename="regress.h" line="1075"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<enumeration name="TestDEFError"
c:type="RegressTestDEFError"
glib:error-domain="regress-test-def-error">
+ <source-position filename="regress.h" line="497"/>
<member name="code0"
value="0"
c:identifier="REGRESS_TEST_DEF_ERROR_CODE0">
glib:type-name="RegressTestEnum"
glib:get-type="regress_test_enum_get_type"
c:type="RegressTestEnum">
- <doc xml:space="preserve">By purpose, not all members have documentation</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="368">By purpose, not all members have documentation</doc>
<member name="value1"
value="0"
c:identifier="REGRESS_TEST_VALUE1"
glib:nick="value1">
- <doc xml:space="preserve">value 1</doc>
+ <doc xml:space="preserve" filename="regress.h" line="370">value 1</doc>
</member>
<member name="value2"
value="1"
c:identifier="REGRESS_TEST_VALUE2"
glib:nick="value2">
- <doc xml:space="preserve">value 2</doc>
+ <doc xml:space="preserve" filename="regress.h" line="371">value 2</doc>
</member>
<member name="value3"
value="-1"
glib:nick="value5">
</member>
<function name="param" c:identifier="regress_test_enum_param">
+ <source-position filename="regress.h" line="435"/>
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</return-value>
</function>
</enumeration>
<enumeration name="TestEnumNoGEnum" c:type="RegressTestEnumNoGEnum">
+ <source-position filename="regress.h" line="425"/>
<member name="evalue1" value="0" c:identifier="REGRESS_TEST_EVALUE1">
</member>
<member name="evalue2" value="42" c:identifier="REGRESS_TEST_EVALUE2">
</enumeration>
<callback name="TestExternallyDefinedCallback"
c:type="RegressTestExternallyDefinedCallback">
+ <source-position filename="regress.h" line="790"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
glib:type-name="RegressTestFloating"
glib:get-type="regress_test_floating_get_type"
glib:type-struct="TestFloatingClass">
+ <source-position filename="regress.h" line="1258"/>
<constructor name="new" c:identifier="regress_test_floating_new">
+ <source-position filename="regress.h" line="1265"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">A new floating #RegressTestFloating</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4211">A new floating #RegressTestFloating</doc>
<type name="TestFloating" c:type="RegressTestFloating*"/>
</return-value>
</constructor>
<record name="TestFloatingClass"
c:type="RegressTestFloatingClass"
glib:is-gtype-struct-for="TestFloating">
+ <source-position filename="regress.h" line="1258"/>
<field name="parent_class">
<type name="GObject.InitiallyUnownedClass"
c:type="GInitiallyUnownedClass"/>
glib:unref-func="regress_test_fundamental_object_unref"
glib:set-value-func="regress_test_value_set_fundamental_object"
glib:get-value-func="regress_test_value_get_fundamental_object">
+ <source-position filename="regress.h" line="1026"/>
<virtual-method name="copy">
+ <source-position filename="regress.h" line="1011"/>
<return-value transfer-ownership="full">
<type name="TestFundamentalObject"
c:type="RegressTestFundamentalObject*"/>
</parameters>
</virtual-method>
<virtual-method name="finalize">
+ <source-position filename="regress.h" line="1012"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<method name="ref" c:identifier="regress_test_fundamental_object_ref">
+ <source-position filename="regress.h" line="1032"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">A new #RegressTestFundamentalObject</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3337">A new #RegressTestFundamentalObject</doc>
<type name="TestFundamentalObject"
c:type="RegressTestFundamentalObject*"/>
</return-value>
</method>
<method name="unref"
c:identifier="regress_test_fundamental_object_unref">
+ <source-position filename="regress.h" line="1035"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="TestFundamentalObjectClass"
c:type="RegressTestFundamentalObjectClass"
glib:is-gtype-struct-for="TestFundamentalObject">
+ <source-position filename="regress.h" line="1026"/>
<field name="type_class">
<type name="GObject.TypeClass" c:type="GTypeClass"/>
</field>
</record>
<callback name="TestFundamentalObjectCopyFunction"
c:type="RegressTestFundamentalObjectCopyFunction">
+ <source-position filename="regress.h" line="1011"/>
<return-value transfer-ownership="full">
<type name="TestFundamentalObject"
c:type="RegressTestFundamentalObject*"/>
</callback>
<callback name="TestFundamentalObjectFinalizeFunction"
c:type="RegressTestFundamentalObjectFinalizeFunction">
+ <source-position filename="regress.h" line="1012"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
glib:get-type="regress_test_fundamental_sub_object_get_type"
glib:type-struct="TestFundamentalSubObjectClass"
glib:fundamental="1">
+ <source-position filename="regress.h" line="1056"/>
<constructor name="new"
c:identifier="regress_test_fundamental_sub_object_new">
+ <source-position filename="regress.h" line="1065"/>
<return-value transfer-ownership="full">
<type name="TestFundamentalSubObject"
c:type="RegressTestFundamentalSubObject*"/>
<record name="TestFundamentalSubObjectClass"
c:type="RegressTestFundamentalSubObjectClass"
glib:is-gtype-struct-for="TestFundamentalSubObject">
+ <source-position filename="regress.h" line="1056"/>
<field name="fundamental_object_class">
<type name="TestFundamentalObjectClass"
c:type="RegressTestFundamentalObjectClass"/>
glib:type-name="RegressTestInheritDrawable"
glib:get-type="regress_test_inherit_drawable_get_type"
glib:type-struct="TestInheritDrawableClass">
+ <source-position filename="drawable.h" line="19"/>
<method name="do_foo"
c:identifier="regress_test_inherit_drawable_do_foo">
+ <source-position filename="drawable.h" line="26"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="do_foo_maybe_throw"
c:identifier="regress_test_inherit_drawable_do_foo_maybe_throw"
throws="1">
+ <source-position filename="drawable.h" line="35"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_origin"
c:identifier="regress_test_inherit_drawable_get_origin">
+ <source-position filename="drawable.h" line="29"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_size"
c:identifier="regress_test_inherit_drawable_get_size">
+ <source-position filename="drawable.h" line="32"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="TestInheritDrawableClass"
c:type="RegressTestInheritDrawableClass"
glib:is-gtype-struct-for="TestInheritDrawable">
+ <source-position filename="drawable.h" line="19"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
<record name="TestInheritPixmapObjectClass"
c:type="RegressTestInheritPixmapObjectClass">
+ <source-position filename="drawable.h" line="42"/>
<field name="parent_class" writable="1">
<type name="TestInheritDrawableClass"
c:type="RegressTestInheritDrawableClass"/>
glib:type-name="RegressTestInterface"
glib:get-type="regress_test_interface_get_type"
glib:type-struct="TestInterfaceIface">
+ <source-position filename="regress.h" line="1202"/>
<method name="emit_signal"
c:identifier="regress_test_interface_emit_signal">
+ <source-position filename="regress.h" line="1208"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the object to emit the signal</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4070">the object to emit the signal</doc>
<type name="TestInterface" c:type="RegressTestInterface*"/>
</instance-parameter>
</parameters>
</method>
+ <property name="number"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
<glib:signal name="interface-signal" when="last">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ptr" transfer-ownership="none">
- <doc xml:space="preserve">the code must look up the signal with
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4051">the code must look up the signal with
g_interface_info_find_signal() in order to get this to work.</doc>
<type name="gint" c:type="gpointer"/>
</parameter>
<record name="TestInterfaceIface"
c:type="RegressTestInterfaceIface"
glib:is-gtype-struct-for="TestInterface">
+ <source-position filename="regress.h" line="1202"/>
<field name="base_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
</record>
<callback name="TestNoPtrCallback" c:type="RegressTestNoPtrCallback">
+ <source-position filename="regress.h" line="1073"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
glib:type-name="RegressTestObj"
glib:get-type="regress_test_obj_get_type"
glib:type-struct="TestObjClass">
+ <source-position filename="regress.h" line="812"/>
<constructor name="constructor" c:identifier="regress_constructor">
+ <source-position filename="regress.h" line="821"/>
<return-value transfer-ownership="full">
<type name="TestObj" c:type="RegressTestObj*"/>
</return-value>
</constructor>
<constructor name="new" c:identifier="regress_test_obj_new">
+ <source-position filename="regress.h" line="818"/>
<return-value transfer-ownership="full">
<type name="TestObj" c:type="RegressTestObj*"/>
</return-value>
<parameters>
<parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2768">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_callback"
c:identifier="regress_test_obj_new_callback">
+ <source-position filename="regress.h" line="1170"/>
<return-value transfer-ownership="full">
<type name="TestObj" c:type="RegressTestObj*"/>
</return-value>
<constructor name="new_from_file"
c:identifier="regress_test_obj_new_from_file"
throws="1">
+ <source-position filename="regress.h" line="824"/>
<return-value transfer-ownership="full">
<type name="TestObj" c:type="RegressTestObj*"/>
</return-value>
</parameters>
</constructor>
<function name="null_out" c:identifier="regress_test_obj_null_out">
+ <source-position filename="regress.h" line="946"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3156">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj**"/>
</parameter>
</parameters>
</function>
<function name="static_method"
c:identifier="regress_test_obj_static_method">
+ <source-position filename="regress.h" line="854"/>
<return-value transfer-ownership="none">
<type name="gdouble" c:type="double"/>
</return-value>
</function>
<function name="static_method_callback"
c:identifier="regress_test_obj_static_method_callback">
+ <source-position filename="regress.h" line="1167"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<virtual-method name="allow_none_vfunc">
+ <source-position filename="regress.h" line="802"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">Another object</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="800">Another object</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="complex_vfunc">
+ <source-position filename="regress.h" line="790"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="matrix" invoker="do_matrix">
- <doc xml:space="preserve">This method is virtual. Notably its name differs from the virtual
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3130">This method is virtual. Notably its name differs from the virtual
slot name, which makes it useful for testing bindings handle this
case.</doc>
+ <source-position filename="regress.h" line="796"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3132">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="somestr" transfer-ownership="none">
- <doc xml:space="preserve">Meaningless string</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3133">Meaningless string</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
</parameters>
</virtual-method>
<method name="do_matrix" c:identifier="regress_test_obj_do_matrix">
- <doc xml:space="preserve">This method is virtual. Notably its name differs from the virtual
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3130">This method is virtual. Notably its name differs from the virtual
slot name, which makes it useful for testing bindings handle this
case.</doc>
+ <source-position filename="regress.h" line="939"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3132">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="somestr" transfer-ownership="none">
- <doc xml:space="preserve">Meaningless string</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3133">Meaningless string</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
</parameters>
</method>
<method name="emit_sig_with_array_len_prop"
c:identifier="regress_test_obj_emit_sig_with_array_len_prop">
+ <source-position filename="regress.h" line="842"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="emit_sig_with_foreign_struct"
c:identifier="regress_test_obj_emit_sig_with_foreign_struct">
+ <source-position filename="regress.h" line="833"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="emit_sig_with_inout_int"
c:identifier="regress_test_obj_emit_sig_with_inout_int">
- <doc xml:space="preserve">The signal handler must increment the inout parameter by 1.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2858">The signal handler must increment the inout parameter by 1.</doc>
+ <source-position filename="regress.h" line="845"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">The object to emit the signal.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2860">The object to emit the signal.</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
</parameters>
</method>
<method name="emit_sig_with_int64"
c:identifier="regress_test_obj_emit_sig_with_int64">
+ <source-position filename="regress.h" line="836"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="emit_sig_with_obj"
c:identifier="regress_test_obj_emit_sig_with_obj">
+ <source-position filename="regress.h" line="830"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="emit_sig_with_uint64"
c:identifier="regress_test_obj_emit_sig_with_uint64">
+ <source-position filename="regress.h" line="839"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="forced_method" c:identifier="regress_forced_method">
+ <source-position filename="regress.h" line="857"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2897">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
</parameters>
</method>
<method name="instance_method"
c:identifier="regress_test_obj_instance_method">
+ <source-position filename="regress.h" line="848"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</method>
<method name="instance_method_callback"
c:identifier="regress_test_obj_instance_method_callback">
+ <source-position filename="regress.h" line="1164"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="instance_method_full"
c:identifier="regress_test_obj_instance_method_full">
+ <source-position filename="regress.h" line="851"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="name_conflict"
c:identifier="regress_test_obj_name_conflict">
+ <source-position filename="regress.h" line="958"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3200">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
</parameters>
</method>
<method name="not_nullable_element_typed_gpointer_in"
c:identifier="regress_test_obj_not_nullable_element_typed_gpointer_in">
+ <source-position filename="regress.h" line="953"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3187">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="input" transfer-ownership="none">
- <doc xml:space="preserve">some uint8 array</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3188">some uint8 array</doc>
<array length="1" zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="count" transfer-ownership="none">
- <doc xml:space="preserve">length of @input</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3189">length of @input</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="not_nullable_typed_gpointer_in"
c:identifier="regress_test_obj_not_nullable_typed_gpointer_in">
+ <source-position filename="regress.h" line="950"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3176">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="input" transfer-ownership="none">
- <doc xml:space="preserve">some #GObject</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3177">some #GObject</doc>
<type name="GObject.Object" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="set_bare" c:identifier="regress_test_obj_set_bare">
+ <source-position filename="regress.h" line="827"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="skip_inout_param"
c:identifier="regress_test_obj_skip_inout_param"
throws="1">
- <doc xml:space="preserve">Check that the out value is skipped</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3094">Check that the out value is skipped</doc>
+ <source-position filename="regress.h" line="927"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3108">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3096">A #RegressTestObj.</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="a" transfer-ownership="none">
- <doc xml:space="preserve">Parameter.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3097">Parameter.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="out_b"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Return value.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3098">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="c" transfer-ownership="none">
- <doc xml:space="preserve">Other parameter.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3099">Other parameter.</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="inout_d"
caller-allocates="0"
transfer-ownership="full"
skip="1">
- <doc xml:space="preserve">Will be incremented.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3100">Will be incremented.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="out_sum"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Return value.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3101">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="num1" transfer-ownership="none">
- <doc xml:space="preserve">Number.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3102">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="num2" transfer-ownership="none">
- <doc xml:space="preserve">Number.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3103">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
<method name="skip_out_param"
c:identifier="regress_test_obj_skip_out_param"
throws="1">
- <doc xml:space="preserve">Check that the out value is skipped</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3058">Check that the out value is skipped</doc>
+ <source-position filename="regress.h" line="915"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3072">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3060">A #RegressTestObj.</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="a" transfer-ownership="none">
- <doc xml:space="preserve">Parameter.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3061">Parameter.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="out_b"
caller-allocates="0"
transfer-ownership="full"
skip="1">
- <doc xml:space="preserve">Return value.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3062">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="c" transfer-ownership="none">
- <doc xml:space="preserve">Other parameter.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3063">Other parameter.</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="inout_d"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Will be incremented.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3064">Will be incremented.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="out_sum"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Return value.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3065">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="num1" transfer-ownership="none">
- <doc xml:space="preserve">Number.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3066">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="num2" transfer-ownership="none">
- <doc xml:space="preserve">Number.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3067">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
<method name="skip_param"
c:identifier="regress_test_obj_skip_param"
throws="1">
- <doc xml:space="preserve">Check that a parameter is skipped</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3022">Check that a parameter is skipped</doc>
+ <source-position filename="regress.h" line="903"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3036">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3024">A #RegressTestObj.</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="a" transfer-ownership="none">
- <doc xml:space="preserve">Parameter.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3025">Parameter.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="out_b"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Return value.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3026">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="c" transfer-ownership="none" skip="1">
- <doc xml:space="preserve">Other parameter.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3027">Other parameter.</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="inout_d"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Will be incremented.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3028">Will be incremented.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="out_sum"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Return value.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3029">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="num1" transfer-ownership="none">
- <doc xml:space="preserve">Number.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3030">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="num2" transfer-ownership="none">
- <doc xml:space="preserve">Number.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3031">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
<method name="skip_return_val"
c:identifier="regress_test_obj_skip_return_val"
throws="1">
- <doc xml:space="preserve">Check that the return value is skipped</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2962">Check that the return value is skipped</doc>
+ <source-position filename="regress.h" line="885"/>
<return-value transfer-ownership="none" skip="1">
- <doc xml:space="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2976">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2964">a #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="a" transfer-ownership="none">
- <doc xml:space="preserve">Parameter.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2965">Parameter.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="out_b"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">A return value.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2966">A return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="c" transfer-ownership="none">
- <doc xml:space="preserve">Other parameter.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2967">Other parameter.</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="inout_d"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Will be incremented.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2968">Will be incremented.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="out_sum"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Return value.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2969">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="num1" transfer-ownership="none">
- <doc xml:space="preserve">Number.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2970">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="num2" transfer-ownership="none">
- <doc xml:space="preserve">Number.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2971">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
<method name="skip_return_val_no_out"
c:identifier="regress_test_obj_skip_return_val_no_out"
throws="1">
- <doc xml:space="preserve">Check that the return value is skipped. Succeed if a is nonzero, otherwise
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2998">Check that the return value is skipped. Succeed if a is nonzero, otherwise
raise an error.</doc>
+ <source-position filename="regress.h" line="897"/>
<return-value transfer-ownership="none" skip="1">
- <doc xml:space="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3007">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3000">a #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="a" transfer-ownership="none">
- <doc xml:space="preserve">Parameter.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3001">Parameter.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="torture_signature_0"
c:identifier="regress_test_obj_torture_signature_0">
+ <source-position filename="regress.h" line="865"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2907">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="x" transfer-ownership="none">
<method name="torture_signature_1"
c:identifier="regress_test_obj_torture_signature_1"
throws="1">
- <doc xml:space="preserve">This function throws an error if m is odd.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2930">This function throws an error if m is odd.</doc>
+ <source-position filename="regress.h" line="874"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2932">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</instance-parameter>
<parameter name="x" transfer-ownership="none">
<property name="string" writable="1" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</property>
+ <property name="write-only"
+ readable="0"
+ writable="1"
+ transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
</field>
</field>
<field name="function_ptr">
<callback name="function_ptr">
+ <source-position filename="regress.h" line="787"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</return-value>
</glib:signal>
<glib:signal name="sig-with-array-len-prop" when="last">
- <doc xml:space="preserve">This test signal similar to GSettings::change-event.
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2358">This test signal similar to GSettings::change-event.
You can use this with regress_test_obj_emit_sig_with_array_len_prop(), or
raise from the introspection client language.</doc>
<return-value transfer-ownership="none">
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">numbers, or %NULL</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2361">numbers, or %NULL</doc>
<array length="1" zero-terminated="0" c:type="gpointer">
<type name="guint"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">length of @arr, or 0</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2362">length of @arr, or 0</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="sig-with-array-prop" when="last">
- <doc xml:space="preserve">This test signal is like TelepathyGlib's
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2338">This test signal is like TelepathyGlib's
TpChannel:: group-members-changed-detailed:</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="arr" transfer-ownership="none">
- <doc xml:space="preserve">numbers</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2341">numbers</doc>
<array name="GLib.Array">
<type name="guint"/>
</array>
</return-value>
<parameters>
<parameter name="cr" transfer-ownership="none">
- <doc xml:space="preserve">A cairo context.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2444">A cairo context.</doc>
<type name="cairo.Context"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="sig-with-hash-prop" when="last">
- <doc xml:space="preserve">This test signal is like TelepathyGlib's
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2381">This test signal is like TelepathyGlib's
TpAccount::status-changed</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</parameters>
</glib:signal>
<glib:signal name="sig-with-inout-int" when="last">
- <doc xml:space="preserve">This signal is modeled after GtkEditable::insert-text.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2551">This signal is modeled after GtkEditable::insert-text.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">The position, in characters, at which to
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2554">The position, in characters, at which to
insert the new text. This is an in-out paramter. After the signal
emission is finished, it should point after the newly inserted text.</doc>
<type name="gint" c:type="gpointer"/>
</parameters>
</glib:signal>
<glib:signal name="sig-with-int64-prop" when="last">
- <doc xml:space="preserve">You can use this with regress_test_obj_emit_sig_with_int64, or raise from
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2492">You can use this with regress_test_obj_emit_sig_with_int64, or raise from
the introspection client langage.</doc>
<return-value transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</return-value>
<parameters>
<parameter name="i" transfer-ownership="none">
- <doc xml:space="preserve">an integer</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2495">an integer</doc>
<type name="gint64" c:type="gint64"/>
</parameter>
</parameters>
</return-value>
<parameters>
<parameter name="i" transfer-ownership="none">
- <doc xml:space="preserve">an integer</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2535">an integer</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="sig-with-obj" when="last">
- <doc xml:space="preserve">Test transfer none GObject as a param (tests refcounting).
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2420">Test transfer none GObject as a param (tests refcounting).
Use with regress_test_obj_emit_sig_with_obj</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A newly created RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2423">A newly created RegressTestObj</doc>
<type name="GObject.Object"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="sig-with-strv" when="last">
- <doc xml:space="preserve">Test GStrv as a param.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2401">Test GStrv as a param.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="strs" transfer-ownership="none">
- <doc xml:space="preserve">strings</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2404">strings</doc>
<array>
<type name="utf8"/>
</array>
</parameters>
</glib:signal>
<glib:signal name="sig-with-uint64-prop" when="last">
- <doc xml:space="preserve">You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2512">You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
the introspection client langage.</doc>
<return-value transfer-ownership="none">
<type name="guint64" c:type="guint64"/>
</return-value>
<parameters>
<parameter name="i" transfer-ownership="none">
- <doc xml:space="preserve">an integer</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="2515">an integer</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
<record name="TestObjClass"
c:type="RegressTestObjClass"
glib:is-gtype-struct-for="TestObj">
+ <source-position filename="regress.h" line="812"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="matrix">
<callback name="matrix">
+ <source-position filename="regress.h" line="796"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="obj" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3132">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
<parameter name="somestr" transfer-ownership="none">
- <doc xml:space="preserve">Meaningless string</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3133">Meaningless string</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
</parameters>
</field>
<field name="allow_none_vfunc">
<callback name="allow_none_vfunc">
+ <source-position filename="regress.h" line="802"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">Another object</doc>
+ <doc xml:space="preserve"
+ filename="regress.h"
+ line="800">Another object</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
</parameters>
</field>
<field name="_regress_reserved1" introspectable="0">
<callback name="_regress_reserved1">
+ <source-position filename="regress.h" line="810"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_regress_reserved2" introspectable="0">
<callback name="_regress_reserved2">
+ <source-position filename="regress.h" line="811"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
</enumeration>
<bitfield name="TestPrivateEnum" c:type="RegressTestPrivateEnum">
+ <source-position filename="regress.h" line="1401"/>
<member name="public_enum_before"
value="1"
c:identifier="REGRESS_TEST_PUBLIC_ENUM_BEFORE">
</member>
</bitfield>
<record name="TestPrivateStruct" c:type="RegressTestPrivateStruct">
+ <source-position filename="regress.h" line="1393"/>
<field name="this_is_public_before" writable="1">
<type name="gint" c:type="gint"/>
</field>
</field>
</record>
<record name="TestReferenceCounters" c:type="RegressTestReferenceCounters">
+ <source-position filename="regress.h" line="1503"/>
<field name="refcount" writable="1">
<type name="gint" c:type="grefcount"/>
</field>
</field>
</record>
<enumeration name="TestReferenceEnum" c:type="RegressTestReferenceEnum">
+ <source-position filename="regress.h" line="417"/>
<member name="0" value="4" c:identifier="REGRESS_TEST_REFERENCE_0">
</member>
<member name="1" value="2" c:identifier="REGRESS_TEST_REFERENCE_1">
glib:type-name="RegressTestSimpleBoxedA"
glib:get-type="regress_test_simple_boxed_a_get_gtype"
c:symbol-prefix="test_simple_boxed_a">
+ <source-position filename="regress.h" line="631"/>
<field name="some_int" writable="1">
<type name="gint" c:type="gint"/>
</field>
<type name="TestEnum" c:type="RegressTestEnum"/>
</field>
<method name="copy" c:identifier="regress_test_simple_boxed_a_copy">
+ <source-position filename="regress.h" line="638"/>
<return-value transfer-ownership="full">
<type name="TestSimpleBoxedA" c:type="RegressTestSimpleBoxedA*"/>
</return-value>
</parameters>
</method>
<method name="equals" c:identifier="regress_test_simple_boxed_a_equals">
+ <source-position filename="regress.h" line="641"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<function name="const_return"
c:identifier="regress_test_simple_boxed_a_const_return">
+ <source-position filename="regress.h" line="645"/>
<return-value transfer-ownership="none">
<type name="TestSimpleBoxedA"
c:type="const RegressTestSimpleBoxedA*"/>
glib:type-name="RegressTestSimpleBoxedB"
glib:get-type="regress_test_simple_boxed_b_get_type"
c:symbol-prefix="test_simple_boxed_b">
+ <source-position filename="regress.h" line="652"/>
<field name="some_int8" writable="1">
<type name="gint8" c:type="gint8"/>
</field>
<type name="TestSimpleBoxedA" c:type="RegressTestSimpleBoxedA"/>
</field>
<method name="copy" c:identifier="regress_test_simple_boxed_b_copy">
+ <source-position filename="regress.h" line="659"/>
<return-value transfer-ownership="full">
<type name="TestSimpleBoxedB" c:type="RegressTestSimpleBoxedB*"/>
</return-value>
</method>
</record>
<callback name="TestSimpleCallback" c:type="RegressTestSimpleCallback">
+ <source-position filename="regress.h" line="1072"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<record name="TestStructA" c:type="RegressTestStructA">
+ <source-position filename="regress.h" line="544"/>
<field name="some_int" writable="1">
<type name="gint" c:type="gint"/>
</field>
<type name="TestEnum" c:type="RegressTestEnum"/>
</field>
<method name="clone" c:identifier="regress_test_struct_a_clone">
- <doc xml:space="preserve">Make a copy of a RegressTestStructA</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1719">Make a copy of a RegressTestStructA</doc>
+ <source-position filename="regress.h" line="547"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="a" transfer-ownership="none">
- <doc xml:space="preserve">the structure</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1721">the structure</doc>
<type name="TestStructA" c:type="RegressTestStructA*"/>
</instance-parameter>
<parameter name="a_out"
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:space="preserve">the cloned structure</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1722">the cloned structure</doc>
<type name="TestStructA" c:type="RegressTestStructA*"/>
</parameter>
</parameters>
</method>
<function name="parse" c:identifier="regress_test_struct_a_parse">
+ <source-position filename="regress.h" line="551"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:space="preserve">the structure that is to be filled</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1735">the structure that is to be filled</doc>
<type name="TestStructA" c:type="RegressTestStructA*"/>
</parameter>
<parameter name="string" transfer-ownership="none">
- <doc xml:space="preserve">ignored</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1736">ignored</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
</record>
<record name="TestStructB" c:type="RegressTestStructB">
+ <source-position filename="regress.h" line="560"/>
<field name="some_int8" writable="1">
<type name="gint8" c:type="gint8"/>
</field>
<type name="TestStructA" c:type="RegressTestStructA"/>
</field>
<method name="clone" c:identifier="regress_test_struct_b_clone">
- <doc xml:space="preserve">Make a copy of a RegressTestStructB</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1762">Make a copy of a RegressTestStructB</doc>
+ <source-position filename="regress.h" line="563"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="b" transfer-ownership="none">
- <doc xml:space="preserve">the structure</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1764">the structure</doc>
<type name="TestStructB" c:type="RegressTestStructB*"/>
</instance-parameter>
<parameter name="b_out"
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:space="preserve">the cloned structure</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1765">the cloned structure</doc>
<type name="TestStructB" c:type="RegressTestStructB*"/>
</parameter>
</parameters>
</method>
</record>
<record name="TestStructC" c:type="RegressTestStructC">
+ <source-position filename="regress.h" line="571"/>
<field name="another_int" writable="1">
<type name="gint" c:type="gint"/>
</field>
</field>
</record>
<record name="TestStructD" c:type="RegressTestStructD">
+ <source-position filename="regress.h" line="590"/>
<field name="array1" writable="1">
<array c:type="RegressTestStructA**">
<type name="TestStructA" c:type="RegressTestStructA*"/>
</field>
</record>
<record name="TestStructE" c:type="RegressTestStructE">
+ <source-position filename="regress.h" line="607"/>
<field name="some_type" writable="1">
<type name="GType" c:type="GType"/>
</field>
</field>
</union>
<record name="TestStructF" c:type="RegressTestStructF">
+ <source-position filename="regress.h" line="619"/>
<field name="ref_count" writable="1">
<type name="gint" c:type="volatile gint"/>
</field>
</field>
</record>
<record name="TestStructFixedArray" c:type="RegressTestStructFixedArray">
+ <source-position filename="regress.h" line="1406"/>
<field name="just_int" writable="1">
<type name="gint" c:type="gint"/>
</field>
</array>
</field>
<method name="frob" c:identifier="regress_test_struct_fixed_array_frob">
+ <source-position filename="regress.h" line="1410"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
glib:type-name="RegressTestSubObj"
glib:get-type="regress_test_sub_obj_get_type"
glib:type-struct="TestSubObjClass">
+ <source-position filename="regress.h" line="980"/>
+ <implements name="TestInterface"/>
<constructor name="new" c:identifier="regress_test_sub_obj_new">
+ <source-position filename="regress.h" line="987"/>
<return-value transfer-ownership="full">
<type name="TestObj" c:type="RegressTestObj*"/>
</return-value>
</constructor>
<method name="instance_method"
c:identifier="regress_test_sub_obj_instance_method">
+ <source-position filename="regress.h" line="993"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</parameters>
</method>
<method name="unset_bare" c:identifier="regress_test_sub_obj_unset_bare">
+ <source-position filename="regress.h" line="990"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</instance-parameter>
</parameters>
</method>
+ <property name="boolean"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
<field name="parent_instance">
<type name="TestObj" c:type="RegressTestObj"/>
</field>
+ <field name="number" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="boolean" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
</class>
<record name="TestSubObjClass"
c:type="RegressTestSubObjClass"
glib:is-gtype-struct-for="TestSubObj">
+ <source-position filename="regress.h" line="980"/>
<field name="parent_class">
<type name="TestObjClass" c:type="RegressTestObjClass"/>
</field>
glib:type-name="RegressTestWi8021x"
glib:get-type="regress_test_wi_802_1x_get_type"
glib:type-struct="TestWi8021xClass">
+ <source-position filename="regress.h" line="1226"/>
<constructor name="new" c:identifier="regress_test_wi_802_1x_new">
+ <source-position filename="regress.h" line="1233"/>
<return-value transfer-ownership="full">
<type name="TestWi8021x" c:type="RegressTestWi8021x*"/>
</return-value>
</constructor>
<function name="static_method"
c:identifier="regress_test_wi_802_1x_static_method">
+ <source-position filename="regress.h" line="1242"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<method name="get_testbool"
c:identifier="regress_test_wi_802_1x_get_testbool">
+ <source-position filename="regress.h" line="1236"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</method>
<method name="set_testbool"
c:identifier="regress_test_wi_802_1x_set_testbool">
+ <source-position filename="regress.h" line="1239"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="TestWi8021xClass"
c:type="RegressTestWi8021xClass"
glib:is-gtype-struct-for="TestWi8021x">
+ <source-position filename="regress.h" line="1226"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<constant name="UTF8_CONSTANT"
value="const ♥ utf8"
c:type="REGRESS_UTF8_CONSTANT">
+ <source-position filename="regress.h" line="1421"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<function name="aliased_caller_alloc"
c:identifier="regress_aliased_caller_alloc">
+ <source-position filename="regress.h" line="1383"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="annotation_attribute_func"
c:identifier="regress_annotation_attribute_func">
+ <source-position filename="annotation.h" line="229"/>
<return-value transfer-ownership="none">
<attribute name="some.other.annotation" value="value2"/>
<attribute name="yet.another.annotation" value="another_value"/>
- <doc xml:space="preserve">The return value.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="764">The return value.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">A #RegressAnnotationObject.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="761">A #RegressAnnotationObject.</doc>
<type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<attribute name="some.annotation" value="value"/>
<attribute name="another.annotation" value="blahvalue"/>
- <doc xml:space="preserve">Some data.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="762">Some data.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="annotation_custom_destroy"
c:identifier="regress_annotation_custom_destroy">
- <doc xml:space="preserve">Test messing up the heuristic of closure/destroy-notification
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="715">Test messing up the heuristic of closure/destroy-notification
detection, and fixing it via annotations.</doc>
+ <source-position filename="annotation.h" line="217"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
scope="notified"
closure="2"
destroy="1">
- <doc xml:space="preserve">Destroy notification</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="717">Destroy notification</doc>
<type name="AnnotationCallback" c:type="RegressAnnotationCallback"/>
</parameter>
<parameter name="destroy"
</function>
<function name="annotation_get_source_file"
c:identifier="regress_annotation_get_source_file">
+ <source-position filename="annotation.h" line="222"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">Source file</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="732">Source file</doc>
<type name="filename" c:type="char*"/>
</return-value>
</function>
<function name="annotation_init" c:identifier="regress_annotation_init">
+ <source-position filename="annotation.h" line="192"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">The number of args.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="646">The number of args.</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="argv"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">The arguments.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="647">The arguments.</doc>
<array length="0" zero-terminated="0" c:type="char***">
<type name="utf8" c:type="char**"/>
</array>
</function>
<function name="annotation_invalid_regress_annotation"
c:identifier="regress_annotation_invalid_regress_annotation">
+ <source-position filename="annotation.h" line="234"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="foo" transfer-ownership="none">
- <doc xml:space="preserve">some text (e.g. example) or else</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="775">some text (e.g. example) or else</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="annotation_ptr_array"
c:identifier="regress_annotation_ptr_array">
+ <source-position filename="annotation.h" line="263"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="array" transfer-ownership="none">
- <doc xml:space="preserve">the array</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="752">the array</doc>
<array name="GLib.PtrArray" c:type="GPtrArray*">
<type name="GObject.Value"/>
</array>
</function>
<function name="annotation_return_array"
c:identifier="regress_annotation_return_array">
+ <source-position filename="annotation.h" line="196"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The return value</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="659">The return value</doc>
<array length="0" zero-terminated="0" c:type="char**">
<type name="utf8"/>
</array>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Number of return values</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="657">Number of return values</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</function>
<function name="annotation_return_filename"
c:identifier="regress_annotation_return_filename">
+ <source-position filename="annotation.h" line="275"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">An annotated filename</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="814">An annotated filename</doc>
<type name="filename" c:type="gchar*"/>
</return-value>
</function>
<function name="annotation_set_source_file"
c:identifier="regress_annotation_set_source_file">
+ <source-position filename="annotation.h" line="225"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fname" transfer-ownership="none">
- <doc xml:space="preserve">Source file</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="742">Source file</doc>
<type name="filename" c:type="const char*"/>
</parameter>
</parameters>
</function>
<function name="annotation_space_after_comment_bug631690"
c:identifier="regress_annotation_space_after_comment_bug631690">
- <doc xml:space="preserve">Explicitly test having a space after the ** here.</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="801">Explicitly test having a space after the ** here.</doc>
+ <source-position filename="annotation.h" line="271"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="annotation_string_array_length"
c:identifier="regress_annotation_string_array_length">
+ <source-position filename="annotation.h" line="209"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="annotation_string_zero_terminated"
c:identifier="regress_annotation_string_zero_terminated">
+ <source-position filename="annotation.h" line="202"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The return value</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="670">The return value</doc>
<array c:type="char**">
<type name="utf8"/>
</array>
</function>
<function name="annotation_string_zero_terminated_out"
c:identifier="regress_annotation_string_zero_terminated_out">
+ <source-position filename="annotation.h" line="205"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="annotation_test_parsing_bug630862"
c:identifier="regress_annotation_test_parsing_bug630862">
- <doc xml:space="preserve">See https://bugzilla.gnome.org/show_bug.cgi?id=630862</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">An object, note the colon:in here</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="787">See https://bugzilla.gnome.org/show_bug.cgi?id=630862</doc>
+ <source-position filename="annotation.h" line="267"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="792">An object, note the colon:in here</doc>
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
</function>
<function name="annotation_transfer_floating"
c:identifier="regress_annotation_transfer_floating">
+ <source-position filename="annotation.h" line="279"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">A floating object</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="826">A floating object</doc>
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">an object</doc>
+ <doc xml:space="preserve"
+ filename="annotation.c"
+ line="824">an object</doc>
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
</parameters>
<function name="annotation_versioned"
c:identifier="regress_annotation_versioned"
version="0.6">
+ <source-position filename="annotation.h" line="199"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="foo_async_ready_callback"
c:identifier="regress_foo_async_ready_callback">
+ <source-position filename="foo.h" line="496"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="foo_destroy_notify_callback"
c:identifier="regress_foo_destroy_notify_callback">
+ <source-position filename="foo.h" line="501"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="foo_enum_type_method"
c:identifier="regress_foo_enum_type_method"
moved-to="FooEnumType.method">
+ <source-position filename="foo.h" line="236"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<function name="foo_enum_type_returnv"
c:identifier="regress_foo_enum_type_returnv"
moved-to="FooEnumType.returnv">
+ <source-position filename="foo.h" line="240"/>
<return-value transfer-ownership="none">
<type name="FooEnumType" c:type="RegressFooEnumType"/>
</return-value>
</return-value>
</function>
<function name="foo_init" c:identifier="regress_foo_init">
+ <source-position filename="foo.h" line="125"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
<function name="foo_interface_static_method"
c:identifier="regress_foo_interface_static_method"
moved-to="FooInterface.static_method">
+ <source-position filename="foo.h" line="73"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="foo_method_external_references"
c:identifier="regress_foo_method_external_references">
+ <source-position filename="foo.h" line="346"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="foo_not_a_constructor_new"
c:identifier="regress_foo_not_a_constructor_new">
- <doc xml:space="preserve">This should be scanned as a top-level function, and shouldn't cause
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="789">This should be scanned as a top-level function, and shouldn't cause
a "Can't find matching type for constructor" warning.</doc>
+ <source-position filename="foo.h" line="221"/>
<return-value transfer-ownership="none">
<type name="FooObject" c:type="RegressFooObject*"/>
</return-value>
c:identifier="regress_foo_rectangle_new"
moved-to="FooRectangle.new"
introspectable="0">
- <doc xml:space="preserve">This is a C convenience constructor; we have to (skip)
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="537">This is a C convenience constructor; we have to (skip)
it because it's not a boxed type.</doc>
+ <source-position filename="foo.h" line="357"/>
<return-value>
<type name="FooRectangle" c:type="RegressFooRectangle*"/>
</return-value>
<function name="foo_skip_me"
c:identifier="regress_foo_skip_me"
introspectable="0">
- <doc xml:space="preserve">Does something that's only interesting from C and should not be
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="716">Does something that's only interesting from C and should not be
exposed to language bindings.</doc>
+ <source-position filename="foo.h" line="556"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fs" transfer-ownership="none">
- <doc xml:space="preserve">a #RegressFooSkippable</doc>
+ <doc xml:space="preserve"
+ filename="foo.c"
+ line="718">a #RegressFooSkippable</doc>
<type name="FooSkippable" c:type="RegressFooSkippable"/>
</parameter>
</parameters>
<function name="foo_some_variant"
c:identifier="regress_foo_some_variant"
introspectable="0">
+ <source-position filename="foo.h" line="539"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="foo_some_variant_ptr"
c:identifier="regress_foo_some_variant_ptr"
introspectable="0">
+ <source-position filename="foo.h" line="542"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="foo_test_array" c:identifier="regress_foo_test_array">
+ <source-position filename="foo.h" line="467"/>
<return-value transfer-ownership="container">
<array name="GLib.Array" c:type="GArray*">
<type name="utf8"/>
</function>
<function name="foo_test_const_char_param"
c:identifier="regress_foo_test_const_char_param">
+ <source-position filename="foo.h" line="477"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="foo_test_const_char_retval"
c:identifier="regress_foo_test_const_char_retval">
+ <source-position filename="foo.h" line="471"/>
<return-value transfer-ownership="none">
<type name="utf8" c:type="const char*"/>
</return-value>
</function>
<function name="foo_test_const_struct_param"
c:identifier="regress_foo_test_const_struct_param">
+ <source-position filename="foo.h" line="480"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="foo_test_const_struct_retval"
c:identifier="regress_foo_test_const_struct_retval">
+ <source-position filename="foo.h" line="474"/>
<return-value transfer-ownership="none">
<type name="FooStruct" c:type="const RegressFooStruct*"/>
</return-value>
</function>
<function name="foo_test_string_array"
c:identifier="regress_foo_test_string_array">
+ <source-position filename="foo.h" line="459"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="foo_test_string_array_with_g"
c:identifier="regress_foo_test_string_array_with_g">
+ <source-position filename="foo.h" line="463"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="foo_test_unsigned_qualifier"
c:identifier="regress_foo_test_unsigned_qualifier">
+ <source-position filename="foo.h" line="452"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="foo_test_unsigned_type"
c:identifier="regress_foo_test_unsigned_type">
+ <source-position filename="foo.h" line="455"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="foo_test_varargs_callback"
c:identifier="regress_foo_test_varargs_callback"
introspectable="0">
+ <source-position filename="foo.h" line="485"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="foo_test_varargs_callback2"
c:identifier="regress_foo_test_varargs_callback2"
introspectable="0">
+ <source-position filename="foo.h" line="488"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="foo_test_varargs_callback3"
c:identifier="regress_foo_test_varargs_callback3"
introspectable="0">
+ <source-position filename="foo.h" line="491"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="func_obj_null_in" c:identifier="regress_func_obj_null_in">
+ <source-position filename="regress.h" line="943"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3147">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
</parameters>
</function>
<function name="func_obj_nullable_in"
c:identifier="regress_func_obj_nullable_in">
+ <source-position filename="regress.h" line="948"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3167">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
</parameters>
</function>
<function name="get_variant" c:identifier="regress_get_variant">
+ <source-position filename="regress.h" line="1496"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">A new variant</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4487">A new variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
<function name="global_get_flags_out"
c:identifier="regress_global_get_flags_out">
+ <source-position filename="regress.h" line="442"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">A flags value</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1624">A flags value</doc>
<type name="TestFlags" c:type="RegressTestFlags*"/>
</parameter>
</parameters>
</function>
<function name="has_parameter_named_attrs"
c:identifier="regress_has_parameter_named_attrs">
- <doc xml:space="preserve">This test case mirrors GnomeKeyringPasswordSchema from
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4447">This test case mirrors GnomeKeyringPasswordSchema from
libgnome-keyring.</doc>
+ <source-position filename="regress.h" line="1436"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="foo" transfer-ownership="none">
- <doc xml:space="preserve">some int</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4449">some int</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="attributes" transfer-ownership="none">
- <doc xml:space="preserve">list of attributes</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4450">list of attributes</doc>
<array zero-terminated="0" c:type="gpointer" fixed-size="32">
<type name="guint32" c:type="gpointer"/>
</array>
</function>
<function name="introspectable_via_alias"
c:identifier="regress_introspectable_via_alias">
+ <source-position filename="regress.h" line="1361"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="not_introspectable_via_alias"
c:identifier="regress_not_introspectable_via_alias"
introspectable="0">
+ <source-position filename="regress.h" line="1372"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="random_function_with_skipped_structure"
c:identifier="regress_random_function_with_skipped_structure"
introspectable="0">
+ <source-position filename="regress.h" line="1332"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="set_abort_on_error"
c:identifier="regress_set_abort_on_error">
+ <source-position filename="regress.h" line="17"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_array_callback"
c:identifier="regress_test_array_callback">
+ <source-position filename="regress.h" line="1127"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_array_fixed_out_objects"
c:identifier="regress_test_array_fixed_out_objects">
+ <source-position filename="regress.h" line="861"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">An array of #RegressTestObj</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3209">An array of #RegressTestObj</doc>
<array zero-terminated="0" c:type="RegressTestObj***" fixed-size="2">
<type name="TestObj" c:type="RegressTestObj**"/>
</array>
</function>
<function name="test_array_fixed_size_int_in"
c:identifier="regress_test_array_fixed_size_int_in">
+ <source-position filename="regress.h" line="181"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the sum of the items in @ints</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="828">the sum of the items in @ints</doc>
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="ints" transfer-ownership="none">
- <doc xml:space="preserve">a list of 5 integers</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="826">a list of 5 integers</doc>
<array zero-terminated="0" c:type="int*" fixed-size="5">
<type name="gint" c:type="int"/>
</array>
</function>
<function name="test_array_fixed_size_int_out"
c:identifier="regress_test_array_fixed_size_int_out">
+ <source-position filename="regress.h" line="184"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">a list of 5 integers ranging from 0 to 4</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="841">a list of 5 integers ranging from 0 to 4</doc>
<array zero-terminated="0" c:type="int**" fixed-size="5">
<type name="gint" c:type="int*"/>
</array>
</function>
<function name="test_array_fixed_size_int_return"
c:identifier="regress_test_array_fixed_size_int_return">
+ <source-position filename="regress.h" line="187"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a list of 5 integers ranging from 0 to 4</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="855">a list of 5 integers ranging from 0 to 4</doc>
<array zero-terminated="0" c:type="int*" fixed-size="5">
<type name="gint" c:type="int"/>
</array>
</function>
<function name="test_array_gint16_in"
c:identifier="regress_test_array_gint16_in">
+ <source-position filename="regress.h" line="157"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="ints" transfer-ownership="none">
- <doc xml:space="preserve">List of ints</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="690">List of ints</doc>
<array length="0" zero-terminated="0" c:type="gint16*">
<type name="gint16" c:type="gint16"/>
</array>
</function>
<function name="test_array_gint32_in"
c:identifier="regress_test_array_gint32_in">
+ <source-position filename="regress.h" line="160"/>
<return-value transfer-ownership="none">
<type name="gint32" c:type="gint32"/>
</return-value>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="ints" transfer-ownership="none">
- <doc xml:space="preserve">List of ints</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="704">List of ints</doc>
<array length="0" zero-terminated="0" c:type="gint32*">
<type name="gint32" c:type="gint32"/>
</array>
</function>
<function name="test_array_gint64_in"
c:identifier="regress_test_array_gint64_in">
+ <source-position filename="regress.h" line="163"/>
<return-value transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</return-value>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="ints" transfer-ownership="none">
- <doc xml:space="preserve">List of ints</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="719">List of ints</doc>
<array length="0" zero-terminated="0" c:type="gint64*">
<type name="gint64" c:type="gint64"/>
</array>
</function>
<function name="test_array_gint8_in"
c:identifier="regress_test_array_gint8_in">
+ <source-position filename="regress.h" line="154"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="ints" transfer-ownership="none">
- <doc xml:space="preserve">List of ints</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="676">List of ints</doc>
<array length="0" zero-terminated="0" c:type="gint8*">
<type name="gint8" c:type="gint8"/>
</array>
</function>
<function name="test_array_gtype_in"
c:identifier="regress_test_array_gtype_in">
+ <source-position filename="regress.h" line="166"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">string representation of provided types</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="754">string representation of provided types</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="types" transfer-ownership="none">
- <doc xml:space="preserve">List of types</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="752">List of types</doc>
<array length="0" zero-terminated="0" c:type="GType*">
<type name="GType" c:type="GType"/>
</array>
</function>
<function name="test_array_inout_callback"
c:identifier="regress_test_array_inout_callback">
+ <source-position filename="regress.h" line="1130"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_array_int_full_out"
c:identifier="regress_test_array_int_full_out">
+ <source-position filename="regress.h" line="191"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new array of integers.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="887">a new array of integers.</doc>
<array length="0" zero-terminated="0" c:type="int*">
<type name="gint" c:type="int"/>
</array>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">length of the returned array.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="885">length of the returned array.</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</function>
<function name="test_array_int_in"
c:identifier="regress_test_array_int_in">
+ <source-position filename="regress.h" line="145"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="ints" transfer-ownership="none">
- <doc xml:space="preserve">List of ints</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="624">List of ints</doc>
<array length="0" zero-terminated="0" c:type="int*">
<type name="gint" c:type="int"/>
</array>
</function>
<function name="test_array_int_inout"
c:identifier="regress_test_array_int_inout">
+ <source-position filename="regress.h" line="151"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">the length of @ints</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="652">the length of @ints</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="ints"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">a list of integers whose items will be increased by 1, except the first that will be dropped</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="653">a list of integers whose items will be increased by 1, except the first that will be dropped</doc>
<array length="0" zero-terminated="0" c:type="int**">
<type name="gint" c:type="int*"/>
</array>
</function>
<function name="test_array_int_none_out"
c:identifier="regress_test_array_int_none_out">
+ <source-position filename="regress.h" line="194"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a static array of integers.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="904">a static array of integers.</doc>
<array length="0" zero-terminated="0" c:type="int*">
<type name="gint" c:type="int"/>
</array>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">length of the returned array.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="902">length of the returned array.</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</function>
<function name="test_array_int_null_in"
c:identifier="regress_test_array_int_null_in">
+ <source-position filename="regress.h" line="197"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">length</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="917">length</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="test_array_int_null_out"
c:identifier="regress_test_array_int_null_out">
+ <source-position filename="regress.h" line="200"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">length</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="928">length</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</function>
<function name="test_array_int_out"
c:identifier="regress_test_array_int_out">
+ <source-position filename="regress.h" line="148"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">the length of @ints</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="637">the length of @ints</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="ints"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">a list of 5 integers, from 0 to 4 in consecutive order</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="638">a list of 5 integers, from 0 to 4 in consecutive order</doc>
<array length="0" zero-terminated="0" c:type="int**">
<type name="gint" c:type="int*"/>
</array>
</function>
<function name="test_array_struct_out"
c:identifier="regress_test_array_struct_out">
- <doc xml:space="preserve">This is similar to gdk_keymap_get_entries_for_keyval().</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1745">This is similar to gdk_keymap_get_entries_for_keyval().</doc>
+ <source-position filename="regress.h" line="554"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_async_ready_callback"
c:identifier="regress_test_async_ready_callback">
+ <source-position filename="regress.h" line="1160"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="test_boolean" c:identifier="regress_test_boolean">
+ <source-position filename="regress.h" line="28"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="test_boolean_false"
c:identifier="regress_test_boolean_false">
+ <source-position filename="regress.h" line="34"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="test_boolean_true"
c:identifier="regress_test_boolean_true">
+ <source-position filename="regress.h" line="31"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="test_boxeds_not_a_method"
c:identifier="regress_test_boxeds_not_a_method">
+ <source-position filename="regress.h" line="700"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_boxeds_not_a_static"
c:identifier="regress_test_boxeds_not_a_static">
+ <source-position filename="regress.h" line="703"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_cairo_context_full_return"
c:identifier="regress_test_cairo_context_full_return">
+ <source-position filename="regress.h" line="325"/>
<return-value transfer-ownership="full">
<type name="cairo.Context" c:type="cairo_t*"/>
</return-value>
</function>
<function name="test_cairo_context_none_in"
c:identifier="regress_test_cairo_context_none_in">
+ <source-position filename="regress.h" line="328"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_cairo_surface_full_out"
c:identifier="regress_test_cairo_surface_full_out">
+ <source-position filename="regress.h" line="341"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_cairo_surface_full_return"
c:identifier="regress_test_cairo_surface_full_return">
+ <source-position filename="regress.h" line="335"/>
<return-value transfer-ownership="full">
<type name="cairo.Surface" c:type="cairo_surface_t*"/>
</return-value>
</function>
<function name="test_cairo_surface_none_in"
c:identifier="regress_test_cairo_surface_none_in">
+ <source-position filename="regress.h" line="338"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_cairo_surface_none_return"
c:identifier="regress_test_cairo_surface_none_return">
+ <source-position filename="regress.h" line="332"/>
<return-value transfer-ownership="none">
<type name="cairo.Surface" c:type="cairo_surface_t*"/>
</return-value>
</function>
<function name="test_callback" c:identifier="regress_test_callback">
+ <source-position filename="regress.h" line="1121"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_callback_async"
c:identifier="regress_test_callback_async">
+ <source-position filename="regress.h" line="1153"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_callback_destroy_notify"
c:identifier="regress_test_callback_destroy_notify">
- <doc xml:space="preserve">Notified - callback persists until a DestroyNotify delegate
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3802">Notified - callback persists until a DestroyNotify delegate
is invoked.</doc>
+ <source-position filename="regress.h" line="1140"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_callback_destroy_notify_no_user_data"
c:identifier="regress_test_callback_destroy_notify_no_user_data">
- <doc xml:space="preserve">Adds a scope notified callback with no user data. This can invoke an error
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3829">Adds a scope notified callback with no user data. This can invoke an error
condition in bindings which needs to be tested.</doc>
+ <source-position filename="regress.h" line="1145"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_callback_return_full"
c:identifier="regress_test_callback_return_full">
+ <source-position filename="regress.h" line="1137"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_callback_thaw_async"
c:identifier="regress_test_callback_thaw_async">
+ <source-position filename="regress.h" line="1156"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_callback_thaw_notifications"
c:identifier="regress_test_callback_thaw_notifications">
- <doc xml:space="preserve">Invokes all callbacks installed by #test_callback_destroy_notify(),
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3843">Invokes all callbacks installed by #test_callback_destroy_notify(),
adding up their return values, and removes them, invoking the
corresponding destroy notfications.</doc>
+ <source-position filename="regress.h" line="1149"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">Sum of the return values of the invoked callbacks.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3850">Sum of the return values of the invoked callbacks.</doc>
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_callback_user_data"
c:identifier="regress_test_callback_user_data">
- <doc xml:space="preserve">Call - callback parameter persists for the duration of the method
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3771">Call - callback parameter persists for the duration of the method
call and can be released on return.</doc>
+ <source-position filename="regress.h" line="1133"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</parameters>
</function>
<function name="test_closure" c:identifier="regress_test_closure">
+ <source-position filename="regress.h" line="307"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_closure_one_arg"
c:identifier="regress_test_closure_one_arg">
+ <source-position filename="regress.h" line="310"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_closure_variant"
c:identifier="regress_test_closure_variant">
+ <source-position filename="regress.h" line="313"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">the return value of @closure</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="250">the return value of @closure</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">GClosure which takes one GVariant and returns a GVariant</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="247">GClosure which takes one GVariant and returns a GVariant</doc>
<type name="GObject.Closure" c:type="GClosure*"/>
</parameter>
<parameter name="arg"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">a GVariant passed as argument to @closure</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="248">a GVariant passed as argument to @closure</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
</function>
<function name="test_create_fundamental_hidden_class_instance"
c:identifier="regress_test_create_fundamental_hidden_class_instance">
+ <source-position filename="regress.h" line="1069"/>
<return-value transfer-ownership="full">
<type name="TestFundamentalObject"
c:type="RegressTestFundamentalObject*"/>
</function>
<function name="test_date_in_gvalue"
c:identifier="regress_test_date_in_gvalue">
+ <source-position filename="regress.h" line="1299"/>
<return-value transfer-ownership="full">
<type name="GObject.Value" c:type="GValue*"/>
</return-value>
</return-value>
</function>
<function name="test_double" c:identifier="regress_test_double">
+ <source-position filename="regress.h" line="88"/>
<return-value transfer-ownership="none">
<type name="gdouble" c:type="gdouble"/>
</return-value>
<function name="test_enum_param"
c:identifier="regress_test_enum_param"
moved-to="TestEnum.param">
+ <source-position filename="regress.h" line="435"/>
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</return-value>
</function>
<function name="test_filename_return"
c:identifier="regress_test_filename_return">
+ <source-position filename="regress.h" line="116"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">list of strings</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="530">list of strings</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="filename"/>
</type>
</return-value>
</function>
<function name="test_float" c:identifier="regress_test_float">
+ <source-position filename="regress.h" line="85"/>
<return-value transfer-ownership="none">
<type name="gfloat" c:type="gfloat"/>
</return-value>
</function>
<function name="test_garray_container_return"
c:identifier="regress_test_garray_container_return">
+ <source-position filename="regress.h" line="298"/>
<return-value transfer-ownership="container">
<array name="GLib.PtrArray" c:type="GPtrArray*">
<type name="utf8"/>
</function>
<function name="test_garray_full_return"
c:identifier="regress_test_garray_full_return">
+ <source-position filename="regress.h" line="301"/>
<return-value transfer-ownership="full">
<array name="GLib.PtrArray" c:type="GPtrArray*">
<type name="utf8"/>
</function>
<function name="test_gerror_callback"
c:identifier="regress_test_gerror_callback">
+ <source-position filename="regress.h" line="1178"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_ghash_container_return"
c:identifier="regress_test_ghash_container_return">
+ <source-position filename="regress.h" line="273"/>
<return-value transfer-ownership="container">
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
</function>
<function name="test_ghash_everything_return"
c:identifier="regress_test_ghash_everything_return">
+ <source-position filename="regress.h" line="276"/>
<return-value transfer-ownership="full">
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
</function>
<function name="test_ghash_gvalue_in"
c:identifier="regress_test_ghash_gvalue_in">
+ <source-position filename="regress.h" line="270"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="hash" transfer-ownership="none">
- <doc xml:space="preserve">the hash table returned by
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1342">the hash table returned by
regress_test_ghash_gvalue_return().</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
</function>
<function name="test_ghash_gvalue_return"
c:identifier="regress_test_ghash_gvalue_return">
+ <source-position filename="regress.h" line="267"/>
<return-value transfer-ownership="none">
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
</function>
<function name="test_ghash_nested_everything_return"
c:identifier="regress_test_ghash_nested_everything_return">
- <doc xml:space="preserve">Specify nested parameterized types directly with the (type ) annotation.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1467">Specify nested parameterized types directly with the (type ) annotation.</doc>
+ <source-position filename="regress.h" line="291"/>
<return-value transfer-ownership="full">
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
</function>
<function name="test_ghash_nested_everything_return2"
c:identifier="regress_test_ghash_nested_everything_return2">
- <doc xml:space="preserve">Another way of specifying nested parameterized types: using the
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1484">Another way of specifying nested parameterized types: using the
element-type annotation.</doc>
+ <source-position filename="regress.h" line="294"/>
<return-value transfer-ownership="full">
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
</function>
<function name="test_ghash_nothing_in"
c:identifier="regress_test_ghash_nothing_in">
+ <source-position filename="regress.h" line="285"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_ghash_nothing_in2"
c:identifier="regress_test_ghash_nothing_in2">
+ <source-position filename="regress.h" line="288"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_ghash_nothing_return"
c:identifier="regress_test_ghash_nothing_return">
+ <source-position filename="regress.h" line="261"/>
<return-value transfer-ownership="none">
<type name="GLib.HashTable" c:type="const GHashTable*">
<type name="utf8"/>
</function>
<function name="test_ghash_nothing_return2"
c:identifier="regress_test_ghash_nothing_return2">
+ <source-position filename="regress.h" line="264"/>
<return-value transfer-ownership="none">
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
</function>
<function name="test_ghash_null_in"
c:identifier="regress_test_ghash_null_in">
+ <source-position filename="regress.h" line="279"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_ghash_null_out"
c:identifier="regress_test_ghash_null_out">
+ <source-position filename="regress.h" line="282"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_ghash_null_return"
c:identifier="regress_test_ghash_null_return">
+ <source-position filename="regress.h" line="258"/>
<return-value transfer-ownership="none" nullable="1">
<type name="GLib.HashTable" c:type="const GHashTable*">
<type name="utf8"/>
</function>
<function name="test_glist_container_return"
c:identifier="regress_test_glist_container_return">
+ <source-position filename="regress.h" line="211"/>
<return-value transfer-ownership="container">
<type name="GLib.List" c:type="GList*">
<type name="utf8"/>
</function>
<function name="test_glist_everything_return"
c:identifier="regress_test_glist_everything_return">
+ <source-position filename="regress.h" line="214"/>
<return-value transfer-ownership="full">
<type name="GLib.List" c:type="GList*">
<type name="utf8"/>
</function>
<function name="test_glist_gtype_container_in"
c:identifier="regress_test_glist_gtype_container_in">
+ <source-position filename="regress.h" line="217"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_glist_nothing_in"
c:identifier="regress_test_glist_nothing_in">
+ <source-position filename="regress.h" line="220"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_glist_nothing_in2"
c:identifier="regress_test_glist_nothing_in2">
+ <source-position filename="regress.h" line="223"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_glist_nothing_return"
c:identifier="regress_test_glist_nothing_return">
+ <source-position filename="regress.h" line="205"/>
<return-value transfer-ownership="none">
<type name="GLib.List" c:type="const GList*">
<type name="utf8"/>
</function>
<function name="test_glist_nothing_return2"
c:identifier="regress_test_glist_nothing_return2">
+ <source-position filename="regress.h" line="208"/>
<return-value transfer-ownership="none">
<type name="GLib.List" c:type="GList*">
<type name="utf8"/>
</function>
<function name="test_glist_null_in"
c:identifier="regress_test_glist_null_in">
+ <source-position filename="regress.h" line="226"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_glist_null_out"
c:identifier="regress_test_glist_null_out">
+ <source-position filename="regress.h" line="229"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_gslist_container_return"
c:identifier="regress_test_gslist_container_return">
+ <source-position filename="regress.h" line="239"/>
<return-value transfer-ownership="container">
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</function>
<function name="test_gslist_everything_return"
c:identifier="regress_test_gslist_everything_return">
+ <source-position filename="regress.h" line="242"/>
<return-value transfer-ownership="full">
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</function>
<function name="test_gslist_nothing_in"
c:identifier="regress_test_gslist_nothing_in">
+ <source-position filename="regress.h" line="245"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_gslist_nothing_in2"
c:identifier="regress_test_gslist_nothing_in2">
+ <source-position filename="regress.h" line="248"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_gslist_nothing_return"
c:identifier="regress_test_gslist_nothing_return">
+ <source-position filename="regress.h" line="233"/>
<return-value transfer-ownership="none">
<type name="GLib.SList" c:type="const GSList*">
<type name="utf8"/>
</function>
<function name="test_gslist_nothing_return2"
c:identifier="regress_test_gslist_nothing_return2">
+ <source-position filename="regress.h" line="236"/>
<return-value transfer-ownership="none">
<type name="GLib.SList" c:type="GSList*">
<type name="utf8"/>
</function>
<function name="test_gslist_null_in"
c:identifier="regress_test_gslist_null_in">
+ <source-position filename="regress.h" line="251"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_gslist_null_out"
c:identifier="regress_test_gslist_null_out">
+ <source-position filename="regress.h" line="254"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="test_gtype" c:identifier="regress_test_gtype">
+ <source-position filename="regress.h" line="97"/>
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</parameters>
</function>
<function name="test_gvariant_as" c:identifier="regress_test_gvariant_as">
+ <source-position filename="regress.h" line="362"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">New variant</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="453">New variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
<function name="test_gvariant_asv"
c:identifier="regress_test_gvariant_asv">
+ <source-position filename="regress.h" line="356"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">New variant</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="424">New variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
<function name="test_gvariant_i" c:identifier="regress_test_gvariant_i">
+ <source-position filename="regress.h" line="350"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">New variant</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="402">New variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
<function name="test_gvariant_s" c:identifier="regress_test_gvariant_s">
+ <source-position filename="regress.h" line="353"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">New variant</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="413">New variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
<function name="test_gvariant_v" c:identifier="regress_test_gvariant_v">
+ <source-position filename="regress.h" line="359"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">New variant</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="442">New variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
<function name="test_hash_table_callback"
c:identifier="regress_test_hash_table_callback">
+ <source-position filename="regress.h" line="1175"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">GHashTable that gets passed to callback</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="3973">GHashTable that gets passed to callback</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="gint"/>
</parameters>
</function>
<function name="test_int" c:identifier="regress_test_int">
+ <source-position filename="regress.h" line="67"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</parameters>
</function>
<function name="test_int16" c:identifier="regress_test_int16">
+ <source-position filename="regress.h" line="43"/>
<return-value transfer-ownership="none">
<type name="gint16" c:type="gint16"/>
</return-value>
</parameters>
</function>
<function name="test_int32" c:identifier="regress_test_int32">
+ <source-position filename="regress.h" line="49"/>
<return-value transfer-ownership="none">
<type name="gint32" c:type="gint32"/>
</return-value>
</parameters>
</function>
<function name="test_int64" c:identifier="regress_test_int64">
+ <source-position filename="regress.h" line="55"/>
<return-value transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</return-value>
</parameters>
</function>
<function name="test_int8" c:identifier="regress_test_int8">
+ <source-position filename="regress.h" line="37"/>
<return-value transfer-ownership="none">
<type name="gint8" c:type="gint8"/>
</return-value>
</function>
<function name="test_int_out_utf8"
c:identifier="regress_test_int_out_utf8">
+ <source-position filename="regress.h" line="126"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_int_value_arg"
c:identifier="regress_test_int_value_arg">
+ <source-position filename="regress.h" line="317"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</parameters>
</function>
<function name="test_long" c:identifier="regress_test_long">
+ <source-position filename="regress.h" line="73"/>
<return-value transfer-ownership="none">
<type name="glong" c:type="glong"/>
</return-value>
</function>
<function name="test_multi_callback"
c:identifier="regress_test_multi_callback">
+ <source-position filename="regress.h" line="1124"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_multi_double_args"
c:identifier="regress_test_multi_double_args">
+ <source-position filename="regress.h" line="131"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_multiline_doc_comments"
c:identifier="regress_test_multiline_doc_comments">
- <doc xml:space="preserve">This is a function.
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4355">This is a function.
It has multiple lines in the documentation.
The sky is blue.
You will give me your credit card number.</doc>
+ <source-position filename="regress.h" line="1313"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_nested_parameter"
c:identifier="regress_test_nested_parameter">
- <doc xml:space="preserve"><informaltable>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4371"><informaltable>
<tgroup cols="3">
<thead>
<row>
</informaltable>
What we're testing here is that the scanner ignores the @a nested inside XML.</doc>
+ <source-position filename="regress.h" line="1316"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="a" transfer-ownership="none">
- <doc xml:space="preserve">An integer</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4373">An integer</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="test_noptr_callback"
c:identifier="regress_test_noptr_callback">
+ <source-position filename="regress.h" line="1118"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_null_gerror_callback"
c:identifier="regress_test_null_gerror_callback">
+ <source-position filename="regress.h" line="1181"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_null_strv_in_gvalue"
c:identifier="regress_test_null_strv_in_gvalue">
+ <source-position filename="regress.h" line="1305"/>
<return-value transfer-ownership="full">
<type name="GObject.Value" c:type="GValue*"/>
</return-value>
</function>
<function name="test_owned_gerror_callback"
c:identifier="regress_test_owned_gerror_callback">
+ <source-position filename="regress.h" line="1184"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_return_allow_none"
c:identifier="regress_test_return_allow_none">
+ <source-position filename="regress.h" line="21"/>
<return-value transfer-ownership="full" nullable="1">
<type name="utf8" c:type="char*"/>
</return-value>
</function>
<function name="test_return_nullable"
c:identifier="regress_test_return_nullable">
+ <source-position filename="regress.h" line="24"/>
<return-value transfer-ownership="full" nullable="1">
<type name="utf8" c:type="char*"/>
</return-value>
</function>
<function name="test_short" c:identifier="regress_test_short">
+ <source-position filename="regress.h" line="61"/>
<return-value transfer-ownership="none">
<type name="gshort" c:type="gshort"/>
</return-value>
<function name="test_simple_boxed_a_const_return"
c:identifier="regress_test_simple_boxed_a_const_return"
moved-to="TestSimpleBoxedA.const_return">
+ <source-position filename="regress.h" line="645"/>
<return-value transfer-ownership="none">
<type name="TestSimpleBoxedA" c:type="const RegressTestSimpleBoxedA*"/>
</return-value>
</function>
<function name="test_simple_callback"
c:identifier="regress_test_simple_callback">
+ <source-position filename="regress.h" line="1115"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="test_size" c:identifier="regress_test_size">
+ <source-position filename="regress.h" line="82"/>
<return-value transfer-ownership="none">
<type name="gsize" c:type="gsize"/>
</return-value>
<function name="test_skip_unannotated_callback"
c:identifier="regress_test_skip_unannotated_callback"
introspectable="0">
- <doc xml:space="preserve">Should not emit a warning:
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4023">Should not emit a warning:
https://bugzilla.gnome.org/show_bug.cgi?id=685399</doc>
+ <source-position filename="regress.h" line="1188"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="callback" transfer-ownership="none">
- <doc xml:space="preserve">No annotation here</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4025">No annotation here</doc>
<type name="TestCallback" c:type="RegressTestCallback"/>
</parameter>
</parameters>
</function>
<function name="test_ssize" c:identifier="regress_test_ssize">
+ <source-position filename="regress.h" line="79"/>
<return-value transfer-ownership="none">
<type name="gssize" c:type="gssize"/>
</return-value>
<function name="test_struct_a_parse"
c:identifier="regress_test_struct_a_parse"
moved-to="TestStructA.parse">
+ <source-position filename="regress.h" line="551"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:space="preserve">the structure that is to be filled</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1735">the structure that is to be filled</doc>
<type name="TestStructA" c:type="RegressTestStructA*"/>
</parameter>
<parameter name="string" transfer-ownership="none">
- <doc xml:space="preserve">ignored</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="1736">ignored</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="test_strv_in" c:identifier="regress_test_strv_in">
+ <source-position filename="regress.h" line="142"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="test_strv_in_gvalue"
c:identifier="regress_test_strv_in_gvalue">
+ <source-position filename="regress.h" line="1302"/>
<return-value transfer-ownership="full">
<type name="GObject.Value" c:type="GValue*"/>
</return-value>
</function>
<function name="test_strv_out" c:identifier="regress_test_strv_out">
+ <source-position filename="regress.h" line="172"/>
<return-value transfer-ownership="full">
<array c:type="char**">
<type name="utf8"/>
</return-value>
</function>
<function name="test_strv_out_c" c:identifier="regress_test_strv_out_c">
+ <source-position filename="regress.h" line="175"/>
<return-value transfer-ownership="none">
<array c:type="const char* const*">
<type name="utf8"/>
</function>
<function name="test_strv_out_container"
c:identifier="regress_test_strv_out_container">
+ <source-position filename="regress.h" line="169"/>
<return-value transfer-ownership="container">
<array c:type="const char**">
<type name="utf8"/>
</return-value>
</function>
<function name="test_strv_outarg" c:identifier="regress_test_strv_outarg">
+ <source-position filename="regress.h" line="178"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="test_timet" c:identifier="regress_test_timet">
+ <source-position filename="regress.h" line="94"/>
<return-value transfer-ownership="none">
<type name="glong" c:type="time_t"/>
</return-value>
</function>
<function name="test_torture_signature_0"
c:identifier="regress_test_torture_signature_0">
+ <source-position filename="regress.h" line="1270"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="test_torture_signature_1"
c:identifier="regress_test_torture_signature_1"
throws="1">
- <doc xml:space="preserve">This function throws an error if m is odd.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4243">This function throws an error if m is odd.</doc>
+ <source-position filename="regress.h" line="1278"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="test_torture_signature_2"
c:identifier="regress_test_torture_signature_2">
+ <source-position filename="regress.h" line="1287"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="test_uint" c:identifier="regress_test_uint">
+ <source-position filename="regress.h" line="70"/>
<return-value transfer-ownership="none">
<type name="guint" c:type="guint"/>
</return-value>
</parameters>
</function>
<function name="test_uint16" c:identifier="regress_test_uint16">
+ <source-position filename="regress.h" line="46"/>
<return-value transfer-ownership="none">
<type name="guint16" c:type="guint16"/>
</return-value>
</parameters>
</function>
<function name="test_uint32" c:identifier="regress_test_uint32">
+ <source-position filename="regress.h" line="52"/>
<return-value transfer-ownership="none">
<type name="guint32" c:type="guint32"/>
</return-value>
</parameters>
</function>
<function name="test_uint64" c:identifier="regress_test_uint64">
+ <source-position filename="regress.h" line="58"/>
<return-value transfer-ownership="none">
<type name="guint64" c:type="guint64"/>
</return-value>
</parameters>
</function>
<function name="test_uint8" c:identifier="regress_test_uint8">
+ <source-position filename="regress.h" line="40"/>
<return-value transfer-ownership="none">
<type name="guint8" c:type="guint8"/>
</return-value>
</parameters>
</function>
<function name="test_ulong" c:identifier="regress_test_ulong">
+ <source-position filename="regress.h" line="76"/>
<return-value transfer-ownership="none">
<type name="gulong" c:type="gulong"/>
</return-value>
</return-value>
</function>
<function name="test_unichar" c:identifier="regress_test_unichar">
+ <source-position filename="regress.h" line="91"/>
<return-value transfer-ownership="none">
<type name="gunichar" c:type="gunichar"/>
</return-value>
</function>
<function name="test_unsigned_enum_param"
c:identifier="regress_test_unsigned_enum_param">
+ <source-position filename="regress.h" line="438"/>
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</return-value>
</parameters>
</function>
<function name="test_ushort" c:identifier="regress_test_ushort">
+ <source-position filename="regress.h" line="64"/>
<return-value transfer-ownership="none">
<type name="gushort" c:type="gushort"/>
</return-value>
</function>
<function name="test_utf8_const_in"
c:identifier="regress_test_utf8_const_in">
+ <source-position filename="regress.h" line="107"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_utf8_const_return"
c:identifier="regress_test_utf8_const_return">
+ <source-position filename="regress.h" line="101"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">UTF-8 string</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="472">UTF-8 string</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</function>
<function name="test_utf8_inout" c:identifier="regress_test_utf8_inout">
+ <source-position filename="regress.h" line="113"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_utf8_nonconst_return"
c:identifier="regress_test_utf8_nonconst_return">
+ <source-position filename="regress.h" line="104"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">UTF-8 string</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="484">UTF-8 string</doc>
<type name="utf8" c:type="char*"/>
</return-value>
</function>
<function name="test_utf8_null_in"
c:identifier="regress_test_utf8_null_in">
+ <source-position filename="regress.h" line="119"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_utf8_null_out"
c:identifier="regress_test_utf8_null_out">
+ <source-position filename="regress.h" line="122"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="test_utf8_out" c:identifier="regress_test_utf8_out">
+ <source-position filename="regress.h" line="110"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_utf8_out_nonconst_return"
c:identifier="regress_test_utf8_out_nonconst_return">
+ <source-position filename="regress.h" line="137"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a copy of "first"</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="586">a copy of "first"</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">a copy of "second"</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="584">a copy of "second"</doc>
<type name="utf8" c:type="char**"/>
</parameter>
</parameters>
</function>
<function name="test_utf8_out_out"
c:identifier="regress_test_utf8_out_out">
+ <source-position filename="regress.h" line="134"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">a copy of "first"</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="572">a copy of "first"</doc>
<type name="utf8" c:type="char**"/>
</parameter>
<parameter name="out1"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">a copy of "second"</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="573">a copy of "second"</doc>
<type name="utf8" c:type="char**"/>
</parameter>
</parameters>
<function name="test_value_get_fundamental_object"
c:identifier="regress_test_value_get_fundamental_object"
introspectable="0">
+ <source-position filename="regress.h" line="1043"/>
<return-value>
<type name="TestFundamentalObject"
c:type="RegressTestFundamentalObject*"/>
</function>
<function name="test_value_return"
c:identifier="regress_test_value_return">
+ <source-position filename="regress.h" line="320"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the int wrapped in a GValue.</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="300">the int wrapped in a GValue.</doc>
<type name="GObject.Value" c:type="const GValue*"/>
</return-value>
<parameters>
<parameter name="i" transfer-ownership="none">
- <doc xml:space="preserve">an int</doc>
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="298">an int</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
<function name="test_value_set_fundamental_object"
c:identifier="regress_test_value_set_fundamental_object"
introspectable="0">
+ <source-position filename="regress.h" line="1040"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
because it sucks. Use foobar instead.</doc-deprecated>
<doc-stability xml:space="preserve">Maybe someday we will find the time
to stabilize this function. Who knows?</doc-stability>
+ <source-position filename="regress.h" line="346"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<enumeration name="DBusError"
c:type="SDBusError"
glib:error-domain="s-dbus-error">
+ <source-position filename="sletter.h" line="33"/>
<member name="code1" value="1" c:identifier="S_DBUS_ERROR_CODE1">
</member>
<member name="code2" value="2" c:identifier="S_DBUS_ERROR_CODE2">
</member>
</enumeration>
<record name="Point" c:type="SPoint">
+ <source-position filename="sletter.h" line="11"/>
<field name="x" writable="1">
<type name="gdouble" c:type="double"/>
</field>
<enumeration name="SpawnError"
c:type="SSpawnError"
glib:error-domain="s-spawn-error">
+ <source-position filename="sletter.h" line="22"/>
<member name="code1" value="1" c:identifier="S_SPAWN_ERROR_CODE1">
</member>
<member name="code2" value="2" c:identifier="S_SPAWN_ERROR_CODE2">
</return-value>
</function>
<function name="hello" c:identifier="s_hello">
+ <source-position filename="sletter.h" line="14"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
c:identifier-prefixes="Symbolfilter"
c:symbol-prefixes="symbolfilter">
<record name="Object" c:type="SymbolfilterObject" disguised="1">
+ <source-position filename="symbolfilter.h" line="4"/>
<method name="filterObjectFooMethod"
c:identifier="SymbolfilterObjectFooMethod">
+ <source-position filename="symbolfilter.h" line="7"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="filterObjectFree" c:identifier="SymbolfilterObjectFree">
+ <source-position filename="symbolfilter.h" line="8"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="new"
c:identifier="SymbolfilterObjectNew"
introspectable="0">
+ <source-position filename="symbolfilter.h" line="6"/>
<return-value>
<type name="Object" c:type="SymbolfilterObject*"/>
</return-value>
glib:type-name="TypedefsBoxedWithAnonymousTypedef"
glib:get-type="typedefs_boxed_with_anonymous_typedef_get_type"
c:symbol-prefix="boxed_with_anonymous_typedef">
+ <source-position filename="typedefs.h" line="72"/>
<field name="value" writable="1">
<type name="gint" c:type="int"/>
</field>
glib:type-name="TypedefsBoxedWithHiddenStruct"
glib:get-type="typedefs_boxed_with_hidden_struct_get_type"
c:symbol-prefix="boxed_with_hidden_struct">
+ <source-position filename="typedefs.h" line="79"/>
</record>
<record name="BoxedWithTagAndTypedef"
c:type="TypedefsBoxedWithTagAndTypedef"
glib:type-name="TypedefsBoxedWithTagAndTypedef"
glib:get-type="typedefs_boxed_with_tag_and_typedef_get_type"
c:symbol-prefix="boxed_with_tag_and_typedef">
+ <source-position filename="typedefs.h" line="63"/>
<field name="value" writable="1">
<type name="gint" c:type="int"/>
</field>
glib:type-name="TypedefsBoxedWithTypedefAfter"
glib:get-type="typedefs_boxed_with_typedef_after_get_type"
c:symbol-prefix="boxed_with_typedef_after">
+ <source-position filename="typedefs.h" line="53"/>
<field name="value" writable="1">
<type name="gint" c:type="int"/>
</field>
glib:type-name="TypedefsBoxedWithTypedefBefore"
glib:get-type="typedefs_boxed_with_typedef_before_get_type"
c:symbol-prefix="boxed_with_typedef_before">
+ <source-position filename="typedefs.h" line="44"/>
<field name="value" writable="1">
<type name="gint" c:type="int"/>
</field>
</record>
<record name="StructWithAnonymousTypedef"
c:type="TypedefsStructWithAnonymousTypedef">
+ <source-position filename="typedefs.h" line="15"/>
<field name="value" writable="1">
<type name="gint" c:type="int"/>
</field>
</record>
<record name="StructWithTagAndTypedef"
c:type="TypedefsStructWithTagAndTypedef">
+ <source-position filename="typedefs.h" line="34"/>
<field name="value" writable="1">
<type name="gint" c:type="int"/>
</field>
</record>
<record name="StructWithTypedefAfter"
c:type="TypedefsStructWithTypedefAfter">
+ <source-position filename="typedefs.h" line="27"/>
<field name="value" writable="1">
<type name="gint" c:type="int"/>
</field>
</record>
<record name="StructWithTypedefBefore"
c:type="TypedefsStructWithTypedefBefore">
+ <source-position filename="typedefs.h" line="21"/>
<field name="value" writable="1">
<type name="gint" c:type="int"/>
</field>
c:identifier-prefixes="Utility"
c:symbol-prefixes="utility">
<alias name="Glyph" c:type="UtilityGlyph">
+ <source-position filename="utility.h" line="26"/>
<type name="guint32" c:type="guint32"/>
</alias>
<record name="Buffer" c:type="UtilityBuffer">
+ <source-position filename="utility.h" line="54"/>
<field name="data" writable="1">
- <doc xml:space="preserve">the data</doc>
+ <doc xml:space="preserve" filename="utility.c" line="10">the data</doc>
<type name="gpointer"/>
</field>
<field name="length" writable="1">
</field>
</record>
<union name="Byte" c:type="UtilityByte">
+ <source-position filename="utility.h" line="47"/>
<field name="value" writable="1">
<type name="guint8" c:type="guint8"/>
</field>
<record name="parts" c:type="parts">
+ <source-position filename="utility.h" line="46"/>
<field name="first_nibble" writable="1" bits="4">
<type name="guint8" c:type="guint8"/>
</field>
</record>
</union>
<enumeration name="EnumType" c:type="UtilityEnumType">
+ <source-position filename="utility.h" line="74"/>
<member name="a" value="0" c:identifier="UTILITY_ENUM_A">
</member>
<member name="b" value="1" c:identifier="UTILITY_ENUM_B">
</member>
</enumeration>
<callback name="FileFunc" c:type="UtilityFileFunc">
+ <source-position filename="utility.h" line="56"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</callback>
<bitfield name="FlagType" c:type="UtilityFlagType">
+ <source-position filename="utility.h" line="82"/>
<member name="a" value="1" c:identifier="UTILITY_FLAG_A">
</member>
<member name="b" value="2" c:identifier="UTILITY_FLAG_B">
glib:type-name="UtilityObject"
glib:get-type="utility_object_get_type"
glib:type-struct="ObjectClass">
+ <source-position filename="utility.h" line="23"/>
<method name="watch_dir" c:identifier="utility_object_watch_dir">
+ <source-position filename="utility.h" line="63"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="ObjectClass"
c:type="UtilityObjectClass"
glib:is-gtype-struct-for="Object">
+ <source-position filename="utility.h" line="23"/>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
<record name="Struct" c:type="UtilityStruct">
+ <source-position filename="utility.h" line="90"/>
<field name="field" writable="1">
<type name="gint" c:type="int"/>
</field>
</field>
</record>
<record name="TaggedValue" c:type="UtilityTaggedValue">
+ <source-position filename="utility.h" line="37"/>
<field name="tag" writable="1">
<type name="gint" c:type="int"/>
</field>
<union name="value" c:type="value">
+ <source-position filename="utility.h" line="36"/>
<field name="v_pointer" writable="1">
<type name="gpointer" c:type="gpointer"/>
</field>
</union>
</record>
<union name="Union" c:type="UtilityUnion">
+ <source-position filename="utility.h" line="97"/>
<field name="pointer" writable="1">
<type name="utf8" c:type="char*"/>
</field>
</field>
</union>
<function name="dir_foreach" c:identifier="utility_dir_foreach">
+ <source-position filename="utility.h" line="100"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
glib:type-name="WarnLibWhatever"
glib:get-type="warnlib_whatever_get_type"
glib:type-struct="WhateverIface">
+ <source-position filename="warnlib.h" line="36"/>
<virtual-method name="do_boo" invoker="do_boo">
- <doc xml:space="preserve">Does boo.</doc>
+ <doc xml:space="preserve"
+ filename="warnlib.c"
+ line="35">Does boo.</doc>
+ <source-position filename="warnlib.h" line="35"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a WarnLibWhatever</doc>
+ <doc xml:space="preserve"
+ filename="warnlib.c"
+ line="37">a WarnLibWhatever</doc>
<type name="Whatever" c:type="WarnLibWhatever*"/>
</instance-parameter>
<parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">x parameter</doc>
+ <doc xml:space="preserve"
+ filename="warnlib.c"
+ line="38">x parameter</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="y"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">y parameter</doc>
+ <doc xml:space="preserve"
+ filename="warnlib.c"
+ line="39">y parameter</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="do_moo" invoker="do_moo">
+ <source-position filename="warnlib.h" line="33"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<method name="do_boo" c:identifier="warnlib_whatever_do_boo">
- <doc xml:space="preserve">Does boo.</doc>
+ <doc xml:space="preserve"
+ filename="warnlib.c"
+ line="35">Does boo.</doc>
+ <source-position filename="warnlib.h" line="41"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a WarnLibWhatever</doc>
+ <doc xml:space="preserve"
+ filename="warnlib.c"
+ line="37">a WarnLibWhatever</doc>
<type name="Whatever" c:type="WarnLibWhatever*"/>
</instance-parameter>
<parameter name="arg1" transfer-ownership="none">
</parameters>
</method>
<method name="do_moo" c:identifier="warnlib_whatever_do_moo">
+ <source-position filename="warnlib.h" line="39"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="WhateverIface"
c:type="WarnLibWhateverIface"
glib:is-gtype-struct-for="Whatever">
+ <source-position filename="warnlib.h" line="36"/>
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="do_moo">
<callback name="do_moo">
+ <source-position filename="warnlib.h" line="33"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="do_boo">
<callback name="do_boo">
+ <source-position filename="warnlib.h" line="35"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a WarnLibWhatever</doc>
+ <doc xml:space="preserve"
+ filename="warnlib.c"
+ line="37">a WarnLibWhatever</doc>
<type name="Whatever" c:type="WarnLibWhatever*"/>
</parameter>
<parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">x parameter</doc>
+ <doc xml:space="preserve"
+ filename="warnlib.c"
+ line="38">x parameter</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="y"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">y parameter</doc>
+ <doc xml:space="preserve"
+ filename="warnlib.c"
+ line="39">y parameter</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
<function name="throw_unpaired"
c:identifier="warnlib_throw_unpaired"
throws="1">
+ <source-position filename="warnlib.h" line="15"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
gtkdoc/annotations/tester.h.xml \
gtkdoc/annotations/tester.c.xml \
gtkdoc/gobject/gobject.h.xml \
- gtkdoc/gobject/gobject.c.xml
+ gtkdoc/gobject/gobject.c.xml \
+ meson.build
GIREPO_CFLAGS = @GIREPO_CFLAGS@
GIREPO_LIBS = @GIREPO_LIBS@
GIR_DIR = @GIR_DIR@
+GIR_PC_DIR = @GIR_PC_DIR@
GIR_SUFFIX = @GIR_SUFFIX@
GI_HIDDEN_VISIBILITY_CFLAGS = @GI_HIDDEN_VISIBILITY_CFLAGS@
+GI_MAJOR_VERSION = @GI_MAJOR_VERSION@
+GI_MICRO_VERSION = @GI_MICRO_VERSION@
+GI_MINOR_VERSION = @GI_MINOR_VERSION@
GI_VERSION = @GI_VERSION@
GLIBSRC = @GLIBSRC@
GLIB_CFLAGS = @GLIB_CFLAGS@
gtkdoc/annotations/tester.h.xml \
gtkdoc/annotations/tester.c.xml \
gtkdoc/gobject/gobject.h.xml \
- gtkdoc/gobject/gobject.c.xml
+ gtkdoc/gobject/gobject.c.xml \
+ meson.build
all: all-am
--- /dev/null
+annotationparser_test_env = environment()
+annotationparser_test_env.append('PYTHONPATH', join_paths(meson.current_build_dir(), '../../../'))
+
+annotationparser_test_files = [
+ 'test_patterns.py',
+]
+
+# FIXME: MSVC
+# from giscanner._giscanner import SourceScanner as CSourceScanner
+# ImportError: DLL load failed: The specified module could not be found.
+if cc.get_id() != 'msvc'
+ annotationparser_test_files += [
+ 'test_parser.py',
+ ]
+endif
+
+foreach f : annotationparser_test_files
+ test(f, python, args: files(f), env: annotationparser_test_env)
+endforeach
+
Tests ensuring annotationparser.py continues to function correctly.
'''
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import difflib
import os
-import sys
import subprocess
import unittest
import xml.etree.ElementTree as etree
from giscanner.ast import Namespace
from giscanner.message import MessageLogger, WARNING, ERROR, FATAL
-if sys.version_info.major < 3:
- encode_name = lambda s: s.encode('ascii')
-else:
- encode_name = lambda s: s
-
XML_NS = 'http://schemas.gnome.org/gobject-introspection/2013/test'
XML_SCHEMA = os.path.abspath(os.path.join(os.path.dirname(__file__), 'tests.xsd'))
for counter, test in enumerate(tests_tree.findall(ns('{}test'))):
test_name = 'test_%03d' % (counter + 1)
test_method = TestCommentBlock.__create_test__(logger, test)
- test_method.__name__ = encode_name(test_name)
+ test_method.__name__ = test_name
test_methods[test_name] = test_method
# Dynamically generate a new subclass of TestCommentBlock in TitleCase
test_class_name = os.path.relpath(tests_file[:-4], tests_dir)
test_class_name = test_class_name.replace('/', ' ').replace('\\', ' ').replace('.', ' ')
test_class_name = 'Test' + test_class_name.title().replace(' ', '')
- return type(encode_name(test_class_name), (TestCommentBlock,), test_methods)
+ return type(test_class_name, (TestCommentBlock,), test_methods)
def create_test_cases():
against the expected output.
'''
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
-import sys
import unittest
from giscanner.annotationparser import (COMMENT_BLOCK_START_RE, COMMENT_BLOCK_END_RE,
SIGNAL_RE, PARAMETER_RE, TAG_RE,
TAG_VALUE_VERSION_RE, TAG_VALUE_STABILITY_RE)
-if sys.version_info.major < 3:
- encode_name = lambda s: s.encode('ascii')
-else:
- encode_name = lambda s: s
-
comment_start_tests = [
(COMMENT_BLOCK_START_RE, '/**',
for counter, test in enumerate(testcases):
test_name = 'test_%03d' % (counter + 1)
test_method = create_test_method(test)
- test_method.__name__ = encode_name(test_name)
+ test_method.__name__ = test_name
test_methods[test_name] = test_method
- return type(encode_name(tests_class_name), (unittest.TestCase,), test_methods)
+ return type(tests_class_name, (unittest.TestCase,), test_methods)
def create_test_cases():
foreach f : scanner_test_files
test(f, python, args: files(f), env: scanner_test_env)
endforeach
+
+subdir('annotationparser')
PROP_TEST_OBJ_GTYPE,
PROP_TEST_OBJ_NAME_CONFLICT,
PROP_TEST_OBJ_BYTE_ARRAY,
+ PROP_TEST_OBJ_WRITE_ONLY,
};
static void
self->byte_array = g_value_get_boxed (value);
break;
+ case PROP_TEST_OBJ_WRITE_ONLY:
+ if (g_value_get_boolean (value))
+ self->some_int8 = 0;
+ break;
+
default:
/* We don't have any other property... */
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
PROP_TEST_OBJ_BYTE_ARRAY,
pspec);
+ /**
+ * TestObj:write-only:
+ */
+ pspec = g_param_spec_boolean ("write-only", "Write-only property",
+ "A write-only bool property that resets the value of TestObj:int to 0 when true",
+ FALSE, G_PARAM_WRITABLE);
+ g_object_class_install_property (gobject_class, PROP_TEST_OBJ_WRITE_ONLY, pspec);
+
klass->matrix = regress_test_obj_default_matrix;
}
gpointer user_data;
};
+static void
+regress_test_sub_obj_iface_init (RegressTestInterfaceIface *iface)
+{
+}
+
+enum {
+ PROP_TEST_SUB_OBJ_NUMBER = 1,
+ PROP_TEST_SUB_OBJ_BOOLEAN,
+};
+
+G_DEFINE_TYPE_WITH_CODE(RegressTestSubObj, regress_test_sub_obj,
+ REGRESS_TEST_TYPE_OBJ,
+ G_IMPLEMENT_INTERFACE(REGRESS_TEST_TYPE_INTERFACE,
+ regress_test_sub_obj_iface_init));
+
+
+static void
+regress_test_sub_obj_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ RegressTestSubObj *self = REGRESS_TEST_SUB_OBJECT (object);
+
+ switch (property_id)
+ {
+ case PROP_TEST_SUB_OBJ_NUMBER:
+ self->number = g_value_get_int (value);
+ break;
+
+ case PROP_TEST_SUB_OBJ_BOOLEAN:
+ self->boolean = g_value_get_boolean (value);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ }
+}
+
+static void
+regress_test_sub_obj_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ RegressTestSubObj *self = REGRESS_TEST_SUB_OBJECT (object);
+
+ switch (property_id)
+ {
+ case PROP_TEST_SUB_OBJ_NUMBER:
+ g_value_set_int (value, self->number);
+ break;
-G_DEFINE_TYPE(RegressTestSubObj, regress_test_sub_obj, REGRESS_TEST_TYPE_OBJ);
+ case PROP_TEST_SUB_OBJ_BOOLEAN:
+ g_value_set_boolean (value, self->boolean);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ }
+}
static void
regress_test_sub_obj_class_init (RegressTestSubObjClass *klass)
{
+ const guint flags = G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS;
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ gobject_class->get_property = regress_test_sub_obj_get_property;
+ gobject_class->set_property = regress_test_sub_obj_set_property;
+
+ g_object_class_install_property (gobject_class, PROP_TEST_SUB_OBJ_BOOLEAN,
+ g_param_spec_boolean ("boolean", "Boolean", "Boolean",
+ TRUE, flags));
+
+ g_object_class_override_property (gobject_class, PROP_TEST_SUB_OBJ_NUMBER,
+ "number");
}
static void
static void
regress_test_interface_default_init(RegressTestInterfaceIface *iface)
{
+ const guint flags = G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS;
static gboolean initialized = FALSE;
if (initialized)
return;
G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_POINTER);
+ /**
+ * RegressTestInterface:number:
+ */
+ g_object_interface_install_property (iface,
+ g_param_spec_int ("number", "Number", "Number",
+ 0, 10, 0, flags));
+
initialized = TRUE;
}
struct _RegressTestSubObj
{
RegressTestObj parent_instance;
+ /*< private >*/
+ gint number;
+ gboolean boolean;
};
struct _RegressTestSubObjClass
# Boston, MA 02111-1307, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import contextlib
import os
import sys
with pkg_config_script(s) as command:
pkgconfig.libs(['a', 'b-42.0'], command=command)
- @unittest.skipIf(
- sys.version_info < (3, 0) or os.name == "nt",
- "Python 2 defaults to ascii encoding in text file I/O and nothing is done to change that")
+ @unittest.skipIf(os.name == "nt", "FIXME")
def test_non_ascii_output(self):
with pkg_config_script("""print("-L'zażółć gęślą jaźń'")""") as command:
flags = pkgconfig.cflags(['test-1.0'], command=command)
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import unittest
from giscanner.shlibs import resolve_from_ldd_output
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import unittest
import tempfile
import os
from giscanner.sourcescanner import SourceScanner
-two_typedefs_source = """
+class Test(unittest.TestCase):
+
+ def _parse_files(self, code, header=True):
+ scanner = SourceScanner()
+ tmp_fd, tmp_name = tempfile.mkstemp(suffix=".h" if header else ".c")
+ fileobj = os.fdopen(tmp_fd, 'wb')
+ with fileobj:
+ fileobj.write(code.encode("utf-8"))
+ scanner.parse_files([tmp_name])
+ os.unlink(tmp_name)
+ return scanner
+
+ def test_length_consistency(self):
+ scanner = self._parse_files("""
/**
* Spam:
*/
* Eggs:
*/
typedef struct _eggs Eggs;
-"""
+""")
+ self.assertEqual(len(list(scanner.get_symbols())), 2)
+ self.assertEqual(len(list(scanner.get_symbols())), 2)
+ self.assertEqual(len(list(scanner.get_comments())), 2)
+ self.assertEqual(len(list(scanner.get_comments())), 2)
+ self.assertFalse(scanner.get_errors())
-class Test(unittest.TestCase):
- def setUp(self):
- self.ss = SourceScanner()
- tmp_fd, tmp_name = tempfile.mkstemp()
- file = os.fdopen(tmp_fd, 'wt')
- file.write(two_typedefs_source)
- file.close()
-
- self.ss.parse_files([tmp_name])
-
- def test_get_symbols_length_consistency(self):
- self.assertEqual(len(list(self.ss.get_symbols())), 2)
- self.assertEqual(len(list(self.ss.get_symbols())), 2)
-
- def test_get_comments_length_consistency(self):
- self.assertEqual(len(list(self.ss.get_comments())), 2)
- self.assertEqual(len(list(self.ss.get_comments())), 2)
+ def test_parser_error(self):
+ scanner = self._parse_files("""
+void foo() {
+ a =
+}""")
+
+ errors = scanner.get_errors()
+ self.assertEqual(len(errors), 1)
+ self.assertTrue("syntax error" in errors[0])
+
+ def test_ignore_pragma(self):
+ """Pragma directive and __pragma keyword are ignored"""
+ scanner = self._parse_files("""
+#pragma warning(push)
+void test(void) {
+ __pragma(warning(push))
+ __pragma(warning(disable:6246))
+ __pragma(warning(pop))
+}
+#pragma warning(pop)
+""")
+ self.assertFalse(scanner.get_errors())
+
+ def test_ignore_typeof(self):
+ # https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/71
+ scanner = self._parse_files("""
+/**
+* foo:
+*/
+void foo(int bar) {
+ bar = ((__typeof__(bar)) (foo) (bar));
+}
+""")
+ self.assertEqual(len(list(scanner.get_comments())), 1)
+ self.assertFalse(scanner.get_errors())
+
+ def test_empty_decl(self):
+ # https://gitlab.gnome.org/GNOME/gobject-introspection/issues/216
+ scanner = self._parse_files(";int foo;")
+ self.assertEqual(len(list(scanner.get_symbols())), 1)
+ self.assertFalse(scanner.get_errors())
if __name__ == '__main__':
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import unittest
import tempfile
import os
GIREPO_CFLAGS = @GIREPO_CFLAGS@
GIREPO_LIBS = @GIREPO_LIBS@
GIR_DIR = @GIR_DIR@
+GIR_PC_DIR = @GIR_PC_DIR@
GIR_SUFFIX = @GIR_SUFFIX@
GI_HIDDEN_VISIBILITY_CFLAGS = @GI_HIDDEN_VISIBILITY_CFLAGS@
+GI_MAJOR_VERSION = @GI_MAJOR_VERSION@
+GI_MICRO_VERSION = @GI_MICRO_VERSION@
+GI_MINOR_VERSION = @GI_MINOR_VERSION@
GI_VERSION = @GI_VERSION@
GLIBSRC = @GLIBSRC@
GLIB_CFLAGS = @GLIB_CFLAGS@
meson.build_root(),
join_paths(meson.build_root(), 'giscanner'))
-# FIXME: Windows
-if host_system != 'windows'
+# FIXME: Glib as a subproject (used on Windows mostly).
+if glib_dep.type_name() == 'pkgconfig'
foreach warn_fn : warn_tests
test(
'warn-' + warn_fn.split('.')[0], python,
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
import os
import sys
import difflib
-
-if sys.version_info.major < 3:
- import __builtin__ as builtins
-else:
- import builtins
+import builtins
path = os.getenv('UNINSTALLED_INTROSPECTION_SRCDIR', None)
assert path is not None
# Not correct, but enough to get the tests going uninstalled
builtins.__dict__['DATADIR'] = path
+builtins.__dict__['GIRDIR'] = ''
from giscanner.annotationparser import GtkDocCommentBlockParser
from giscanner.ast import Include, Namespace
def _extract_expected(filename):
- fd = open(filename, 'rU')
+ fd = open(filename, 'r')
data = fd.read()
fd.close()
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
import os
import sys
import sysconfig
+import builtins
-if sys.version_info.major < 3:
- import __builtin__ as builtins
-else:
- import builtins
debug = os.getenv('GI_SCANNER_DEBUG')
if debug:
builtins.__dict__['DATADIR'] = datadir
+# Respect gir_dir_prefix for meson and autotools
+girdir = ''
+# for meson
+if '@gir_dir_prefix@' and not '@gir_dir_prefix@'.startswith('@'):
+ girdir = os.path.abspath(os.path.join(filedir, '..', '@gir_dir_prefix@'))
+# for autotools
+elif '@GIR_DIR@' and not '@GIR_DIR@'.startswith('@'):
+ girdir = os.path.dirname(os.path.abspath('@GIR_DIR@'))
+builtins.__dict__['GIRDIR'] = girdir
+
# Again, relative paths first so that the installation prefix is relocatable
pylibdir = os.path.abspath(os.path.join(filedir, '..', 'lib', 'gobject-introspection'))
tools_conf = configuration_data()
tools_conf.set('libdir', libdir_abs)
tools_conf.set('datarootdir', datadir_abs)
+ tools_conf.set('gir_dir_prefix', gir_dir_prefix)
tools_conf.set('PYTHON_CMD', python_cmd)
tools_conf.set('TOOL_MODULE', tool[1])